public static String encode(String value) { return encode(value, DEFAULT_CHARSET, Codec.B); }
public String[] getDecodedHeaders(String header) { Object[] headers = getHeaders(header); for (int n = 0; n < headers.length; n++) { headers[n] = UrlEncoding.decode(Rfc2047Helper.decode(headers[n].toString())); } return (String[])headers; }
public String getDecodedHeader(String header) { return UrlEncoding.decode(Rfc2047Helper.decode(getHeader(header))); }
public static String encode(String value, String charset) { return encode(value, charset, Codec.B); }
public ResponseContext addEncodedHeaders(String name, String charset, String... vals) { for (String value : vals) { addHeader(name, Rfc2047Helper.encode(value, charset)); } return this; }
public ResponseContext setEncodedHeader(String name, String charset, String... vals) { Object[] evals = new Object[vals.length]; for (int n = 0; n < vals.length; n++) { evals[n] = Rfc2047Helper.encode(vals[n], charset); } return setHeader(name, evals); }
/** * Set the value of a header using proper encoding of non-ascii characters */ public RequestOptions setEncodedHeader(String header, String charset, String value) { return setHeader(header, Rfc2047Helper.encode(value, charset)); }
/** * Similar to setEncodedHeader, but allows for multiple instances of the specified header */ public RequestOptions addEncodedHeader(String header, String charset, String value) { return addHeader(header, Rfc2047Helper.encode(value, charset)); }
public ResponseContext setEncodedHeader(String name, String charset, String value) { return setHeader(name, Rfc2047Helper.encode(value, charset)); }
public ResponseContext addEncodedHeader(String name, String charset, String value) { return addHeader(name, Rfc2047Helper.encode(value, charset)); }
/** * Similar to setEncodedHeader, but allows for multiple instances of the specified header */ public RequestOptions addEncodedHeader(String header, String charset, String... values) { if (values == null || values.length == 0) return this; for (int n = 0; n < values.length; n++) { values[n] = Rfc2047Helper.encode(values[n], charset); } List<String> list = Arrays.asList(getHeaders().get(header)); String value = combine(values); if (list != null) { if (!list.contains(value)) list.add(value); } else { setHeader(header, new String[] {value}); } return this; }
/** * Set the values of a header using proper encoding of non-ascii characters */ public RequestOptions setEncodedHeader(String header, String charset, String... values) { if (values != null && values.length > 0) { for (int n = 0; n < values.length; n++) { values[n] = Rfc2047Helper.encode(values[n], charset); } getHeaders().put(header, new String[] {combine(values)}); } else { removeHeaders(header); } return this; }