@Override public void write(String charset, Map<String, Iterable<String>> headers, OutputStream outstream) throws IOException { EncodingOptions encodingOptionsWithCharset = encodingOptions.charset(charset); String queryString = URLUtils.buildQueryStringForUrl(m_params, encodingOptionsWithCharset); outstream.write(queryString.getBytes(charset)); }
private HTTPContentWriter checkKvPContent() { String contentType = m_header.getValue(HTTPHeader.CONTENT_TYPE.getName()); if (isContentRequest() && contentType.startsWith(ContentType.APPLICATION_URLENCODED)) { KvPCollection params = m_parameter.clone(); // clear (url parameter) these are written into the body m_parameter.clear(); boolean spaceCharacterAsPercent = this.m_connectionParameter.isEncodeSpaceCharacterAsPercent(); EncodingOptions encodingOptions = EncodingOptions.defaultOptions(); if (spaceCharacterAsPercent) { encodingOptions = encodingOptions.spaceAsPercent(); } return new KvPHTTPContentWriter(params.asMap(), encodingOptions); } return null; }
try { EncodingOptions encodingOptions = EncodingOptions.defaultOptions(); if (connectionParameter.isEncodeSpaceCharacterAsPercent()) { encodingOptions = encodingOptions.spaceAsPercent();
public static String encodeForURL(String value) { return encodeForURL(value, EncodingOptions.defaultOptions()); }
public static EncodingOptions defaultOptions() { return new EncodingOptions(); }
public static String encodeForURL(String value, String charset) { EncodingOptions encodingOptions = EncodingOptions.defaultOptions().charset(charset); return encodeForURL(value, encodingOptions); }
public static String buildQueryStringForUrl(Map<String, Iterable<String>> params, String charset) { return buildQueryStringForUrl(params, EncodingOptions.defaultOptions().charset(charset)); }
public EncodingOptions spaceAsPercent() { EncodingOptions copy = this.copy(); copy.spaceAsPercent = true; return copy; }
public EncodingOptions charset(String charset) { EncodingOptions copy = this.copy(); copy.charset = charset == null ? "UTF-8" : charset; return copy; }
private EncodingOptions copy() { EncodingOptions clone = new EncodingOptions(); clone.charset = charset; clone.spaceAsPercent = spaceAsPercent; return clone; }
public static String encodeForURL(String value, EncodingOptions encodingOptions) { if (!encodingOptions.isSpaceAsPercent()){ return encodeForURLSpaceAsPlus(value, encodingOptions.getCharset()); } return encodeForURLSpaceAsPercent(value, encodingOptions.getCharset()); }