NameValuePair[] attribs = headerelement.getParameters();
protected List<Cookie> parse(final HeaderElement[] elems, final CookieOrigin origin) throws MalformedCookieException { List<Cookie> cookies = new ArrayList<Cookie>(elems.length); for (HeaderElement headerelement : elems) { String name = headerelement.getName(); String value = headerelement.getValue(); if (name == null || name.length() == 0) { throw new MalformedCookieException("Cookie name may not be empty"); } BasicClientCookie cookie = new BasicClientCookie(name, value); cookie.setPath(getDefaultPath(origin)); cookie.setDomain(getDefaultDomain(origin)); // cycle through the parameters NameValuePair[] attribs = headerelement.getParameters(); for (int j = attribs.length - 1; j >= 0; j--) { NameValuePair attrib = attribs[j]; String s = attrib.getName().toLowerCase(Locale.ENGLISH); cookie.setAttribute(s, attrib.getValue()); CookieAttributeHandler handler = findAttribHandler(s); if (handler != null) { handler.parse(cookie, attrib.getValue()); } } cookies.add(cookie); } return cookies; }
private static ContentType create(final HeaderElement helem, final boolean strict) { return create(helem.getName(), helem.getParameters(), strict); }
private static ContentType create(final HeaderElement helem, final boolean strict) { return create(helem.getName(), helem.getParameters(), strict); }
private static ContentType create(final HeaderElement helem, final boolean strict) { return create(helem.getName(), helem.getParameters(), strict); }
private static ContentType create(final HeaderElement helem, final boolean strict) { return create(helem.getName(), helem.getParameters(), strict); }
private String processCookieHeader(HeaderElement element) { String cookie = element.getName() + "=" + element.getValue(); NameValuePair[] parameters = element.getParameters(); for (int j = 0; parameters != null && j < parameters.length; j++) { NameValuePair parameter = parameters[j]; cookie = cookie + "; " + parameter.getName() + "=" + parameter.getValue(); } return cookie; }
private static Charset getEncoding(HttpEntity entity) { Header header = entity.getContentEncoding(); if (header == null) { return Charset.forName("UTF-8"); } for (HeaderElement headerElement : header.getElements()) { for (NameValuePair pair : headerElement.getParameters()) { if (pair != null && pair.getValue() != null) { if (Charset.isSupported(pair.getValue())) { return Charset.forName(pair.getValue()); } } } } return Charset.forName("UTF-8"); }
private static ContentType create(final HeaderElement helem) { final String mimeType = helem.getName(); final NameValuePair[] params = helem.getParameters(); return new ContentType(mimeType, params != null && params.length > 0 ? params : null); }
private static ContentType create(final HeaderElement helem) { final String mimeType = helem.getName(); final NameValuePair[] params = helem.getParameters(); return new ContentType(mimeType, params != null && params.length > 0 ? params : null); }
private RawHttpHeaders readHeaders(CloseableHttpResponse response) { Header[] allHeaders = response.getAllHeaders(); RawHttpHeaders.Builder headers = RawHttpHeaders.newBuilder(); for (Header header : allHeaders) { String meta = header.getElements().length > 0 ? ";" + Arrays.stream(header.getElements()) .flatMap(it -> Arrays.stream(it.getParameters()).map(v -> v.getName() + "=" + v.getValue())) .collect(joining(";")) : ""; headers.with(header.getName(), header.getValue() + meta); } return headers.build(); }
private String getFullContentType(Header contentTypeHeader) { if (contentTypeHeader == null) { // This should never happen, but if it does... return "application/octet-stream"; } HeaderElement[] contentTypes = contentTypeHeader.getElements(); if (contentTypes == null || contentTypes.length == 0) { // This should never happen return null; } String ctype = contentTypes[0].getName(); NameValuePair[] params = contentTypes[0].getParameters(); if (params != null) { for (NameValuePair pair : params) { ctype = ctype + "; " + pair.getName() + "=\"" + pair.getValue() + "\""; } } return ctype; }
private String getFullContentType(Header contentTypeHeader) { if (contentTypeHeader == null) { // This should never happen, but if it does... return "application/octet-stream"; } HeaderElement[] contentTypes = contentTypeHeader.getElements(); if (contentTypes == null || contentTypes.length == 0) { // This should never happen return null; } String ctype = contentTypes[0].getName(); NameValuePair[] params = contentTypes[0].getParameters(); if (params != null) { for (NameValuePair pair : params) { ctype = ctype + "; " + pair.getName() + "=\"" + pair.getValue() + "\""; } } return ctype; }
/** * This method will create a {@link BasicClientCookie} with the given {@link HeaderElement}. * It sill set the cookie's name and value according to the {@link HeaderElement#getName()} and {@link HeaderElement#getValue()} methods. * Moreover, it will transport every {@link HeaderElement} parameter to the cookie using the {@link BasicClientCookie#setAttribute(String, String)}. * Additionally, it configures the cookie path ({@link BasicClientCookie#setPath(String)}) to value '/client/api' and the cookie domain using {@link #configureDomainForCookie(BasicClientCookie)} method. */ protected BasicClientCookie createCookieForHeaderElement(HeaderElement element) { BasicClientCookie cookie = new BasicClientCookie(element.getName(), element.getValue()); for (NameValuePair parameter : element.getParameters()) { cookie.setAttribute(parameter.getName(), parameter.getValue()); } cookie.setPath("/client/api"); configureDomainForCookie(cookie); return cookie; }
/** * getCookies: refer http://blog.csdn.net/alibert/article/details/42788189 * @author alterhu2020@gmail.com * @since JDK 1.8 */ public static void getCookies(){ HeaderElementIterator headerIterator = new BasicHeaderElementIterator(httpResponse.headerIterator("Set-Cookie")); while(headerIterator.hasNext()){ HeaderElement cookiesElement = headerIterator.nextElement(); logger.info(cookiesElement.getName() + " = " + cookiesElement.getValue()); NameValuePair[] params = cookiesElement.getParameters(); for (int i = 0; i < params.length; i++) { logger.info(" " + params[i]); } } }
/** * getCookies: refer http://blog.csdn.net/alibert/article/details/42788189 * @author alterhu2020@gmail.com * @since JDK 1.8 */ public static void getCookies(){ HeaderElementIterator headerIterator = new BasicHeaderElementIterator(httpResponse.headerIterator("Set-Cookie")); while(headerIterator.hasNext()){ HeaderElement cookiesElement = headerIterator.nextElement(); logger.info(cookiesElement.getName() + " = " + cookiesElement.getValue()); NameValuePair[] params = cookiesElement.getParameters(); for (int i = 0; i < params.length; i++) { logger.info(" " + params[i]); } } }
protected List<Cookie> parse(final HeaderElement[] elems, final CookieOrigin origin) throws MalformedCookieException { final List<Cookie> cookies = new ArrayList<Cookie>(elems.length); for (final HeaderElement headerelement : elems) { final String name = headerelement.getName(); final String value = headerelement.getValue(); if (name == null || name.isEmpty()) { continue; } final BasicClientCookie cookie = new BasicClientCookie(name, value); cookie.setPath(getDefaultPath(origin)); cookie.setDomain(getDefaultDomain(origin)); // cycle through the parameters final NameValuePair[] attribs = headerelement.getParameters(); for (int j = attribs.length - 1; j >= 0; j--) { final NameValuePair attrib = attribs[j]; final String s = attrib.getName().toLowerCase(Locale.ROOT); cookie.setAttribute(s, attrib.getValue()); final CookieAttributeHandler handler = findAttribHandler(s); if (handler != null) { handler.parse(cookie, attrib.getValue()); } } cookies.add(cookie); } return cookies; }
/** * getCookies: refer http://blog.csdn.net/alibert/article/details/42788189 * * @author alterhu2020@gmail.com * @since JDK 1.8 */ public static void getCookies() { HeaderElementIterator headerIterator = new BasicHeaderElementIterator( httpResponse.headerIterator("Set-Cookie")); while (headerIterator.hasNext()) { HeaderElement cookiesElement = headerIterator.nextElement(); logger.info(cookiesElement.getName() + " = " + cookiesElement.getValue()); NameValuePair[] params = cookiesElement.getParameters(); for (int i = 0; i < params.length; i++) { logger.info(" " + params[i]); } } }
/** * getCookies: refer http://blog.csdn.net/alibert/article/details/42788189 * * @author alterhu2020@gmail.com * @since JDK 1.8 */ public static void getCookies() { HeaderElementIterator headerIterator = new BasicHeaderElementIterator( httpResponse.headerIterator("Set-Cookie")); while (headerIterator.hasNext()) { HeaderElement cookiesElement = headerIterator.nextElement(); logger.info(cookiesElement.getName() + " = " + cookiesElement.getValue()); NameValuePair[] params = cookiesElement.getParameters(); for (int i = 0; i < params.length; i++) { logger.info(" " + params[i]); } } }
protected List<Cookie> parse(final HeaderElement[] elems, final CookieOrigin origin) throws MalformedCookieException { List<Cookie> cookies = new ArrayList<Cookie>(elems.length); for (HeaderElement headerelement : elems) { String name = headerelement.getName(); String value = headerelement.getValue(); if (name == null || name.length() == 0) { throw new MalformedCookieException("Cookie name may not be empty"); } BasicClientCookie cookie = new BasicClientCookie(name, value); cookie.setPath(getDefaultPath(origin)); cookie.setDomain(getDefaultDomain(origin)); // cycle through the parameters NameValuePair[] attribs = headerelement.getParameters(); for (int j = attribs.length - 1; j >= 0; j--) { NameValuePair attrib = attribs[j]; String s = attrib.getName().toLowerCase(Locale.ENGLISH); cookie.setAttribute(s, attrib.getValue()); CookieAttributeHandler handler = findAttribHandler(s); if (handler != null) { handler.parse(cookie, attrib.getValue()); } } cookies.add(cookie); } return cookies; }