public byte[] Clean_img_url(byte[] raw, int raw_len) { int pos_bgn = 0; if (Bry_.Has_at_bgn(raw, Bry_fwd_slashes, 0, raw_len)) pos_bgn = Bry_fwd_slashes.length; if (Bry_.Has_at_bgn(raw, Bry_http, 0, raw_len)) pos_bgn = Bry_http.length; int pos_slash = Bry_find_.Find_fwd(raw, Byte_ascii.Slash, pos_bgn, raw_len); if (pos_slash == Bry_find_.Not_found) return null; // first segment is site_name; at least one slash must be present for image name; // EX: site.org/img_name.jpg if (pos_slash == raw_len - 1) return null; // "site.org/" is invalid int pos_end = raw_len; int pos_question = Bry_find_.Find_bwd(raw, Byte_ascii.Question); if (pos_question != Bry_find_.Not_found) pos_end = pos_question; // remove query params; EX: img_name?key=val return Bry_.Mid(raw, pos_bgn, pos_end); }