String chars = new String((char[])val); return UrlEncoding.encode(Normalizer.normalize(chars, Normalizer.Form.KC).toString(), context.isIri() ? CharUtils.Profile.IUNRESERVED.filter() : CharUtils.Profile.UNRESERVED.filter()); } else if (val instanceof short[]) { StringBuilder buf = new StringBuilder(); try { return UrlEncoding.encode((Readable)val, "UTF-8", context.isIri() ? CharUtils.Profile.IUNRESERVED .filter() : CharUtils.Profile.UNRESERVED.filter()); } catch (IOException e) { throw new RuntimeException(e);
if (buf.length() > 1) buf.append('/'); buf.append(UrlEncoding.encode(UrlEncoding.decode(segments[n]), Profile.IPATHNODELIMS_SEG.filter()));
protected String getLink(String name, T entryObj, IRI feedIri, RequestContext request, boolean absolute) { feedIri = feedIri.trailingSlash(); IRI entryIri = feedIri.resolve(UrlEncoding.encode(name, Profile.PATH.filter())); if (absolute) { entryIri = request.getResolvedUri().resolve(entryIri); } String link = entryIri.toString(); String qp = getQueryParameters(entryObj, request); if (qp != null && !"".equals(qp)) { StringBuilder sb = new StringBuilder(); sb.append(link).append("?").append(qp); link = sb.toString(); } return link; }
public ResponseContext setEscapedHeader(String name, Profile profile, String value) { return setHeader(name, UrlEncoding.encode(value, profile.filter())); }
@Override public IRI normalize(IRI iri) { StringBuilder buf = new StringBuilder(); int port = (iri.getPort() == getDefaultPort()) ? -1 : iri.getPort(); String host = iri.getHost(); if (host != null) host = host.toLowerCase(); String ui = iri.getUserInfo(); iri.buildAuthority(buf, ui, host, port); String authority = buf.toString(); return new IRI(iri._scheme, iri.getScheme(), authority, ui, host, port, IRI.normalize(iri.getPath()), UrlEncoding.encode(UrlEncoding.decode(iri.getQuery()), Profile.IQUERY.filter()), UrlEncoding .encode(UrlEncoding.decode(iri.getFragment()), Profile.IFRAGMENT.filter())); }
/** * Verifies a sequence of codepoints using the specified profile */ public static void verifyNot(char[] array, Profile profile) throws InvalidCharacterException { CodepointIterator rci = CodepointIterator.forCharArray(array).restrict(profile.filter(), false, true); while (rci.hasNext()) rci.next(); }
/** * Verifies a sequence of codepoints using the specified filter */ public static void verify(CodepointIterator ci, Profile profile) throws InvalidCharacterException { CodepointIterator rci = CodepointIterator.restrict(ci, profile.filter()); while (rci.hasNext()) rci.next(); }
private void init() { if (host != null && host.startsWith("[")) { a_host = host; } else { a_host = IDNA.toASCII(host); } a_fragment = UrlEncoding.encode(fragment, Profile.FRAGMENT.filter()); a_path = UrlEncoding.encode(path, Profile.PATH.filter()); a_query = UrlEncoding.encode(query, Profile.QUERY.filter(), Profile.PATH.filter()); a_userinfo = UrlEncoding.encode(userinfo, Profile.USERINFO.filter()); a_authority = buildASCIIAuthority(); }
/** * Verifies a sequence of codepoints using the specified profile */ public static void verifyNot(CodepointIterator ci, Profile profile) throws InvalidCharacterException { CodepointIterator rci = ci.restrict(profile.filter(), false, true); while (rci.hasNext()) rci.next(); }
public String toString() { StringBuilder buf = new StringBuilder(); String scheme = getScheme(); if (scheme != null && scheme.length() != 0) { buf.append(scheme); buf.append(':'); } buf.append(getSchemeSpecificPart()); return UrlEncoding.encode(buf.toString(), Profile.SCHEMESPECIFICPART.filter()); }
public static IRI normalize(IRI iri) { if (iri.isOpaque() || iri.getPath() == null) return iri; IRI normalized = null; if (iri._scheme != null) normalized = iri._scheme.normalize(iri); return (normalized != null) ? normalized : new IRI(iri._scheme, iri.getScheme(), iri.getAuthority(), iri .getUserInfo(), iri.getHost(), iri.getPort(), normalize(iri.getPath()), UrlEncoding.encode(UrlEncoding .decode(iri.getQuery()), Profile.IQUERY.filter()), UrlEncoding .encode(UrlEncoding.decode(iri.getFragment()), Profile.IFRAGMENT.filter())); }
/** * Sets the value of the Atom Publishing Protocol Slug header */ public RequestOptions setSlug(String slug) { if (slug.indexOf((char)10) > -1 || slug.indexOf((char)13) > -1) throw new IllegalArgumentException(Localizer.get("SLUG.BAD.CHARACTERS")); return setHeader("Slug", UrlEncoding.encode(slug, Profile.ASCIISANSCRLF.filter())); }
private String buildASCIIAuthority() { if (_scheme instanceof HttpScheme) { StringBuilder buf = new StringBuilder(); String aui = getASCIIUserInfo(); String ah = getASCIIHost(); int port = getPort(); buildAuthority(buf, aui, ah, port); return buf.toString(); } else { return UrlEncoding.encode(authority, Profile.AUTHORITY.filter()); } }