HeaderElement headerelement = new HeaderElement(header.toCharArray()); Cookie cookie = new Cookie(host, headerelement.getName(), headerelement.getValue(), defaultPath, null, false); NameValuePair[] parameters = headerelement.getParameters();
HeaderElement[] values = HeaderElement.parseElements(contentType); NameValuePair charsetPair = null; for (int i = 0; i < values.length; i++) { if ((charsetPair = values[i].getParameterByName("charset")) != null) {
/** * Returns an array of {@link HeaderElement}s * constructed from my value. * * @see HeaderElement#parse * @throws HttpException if the header cannot be parsed * @return an array of header elements * * @deprecated Use #getElements */ public HeaderElement[] getValues() throws HttpException { return HeaderElement.parse(getValue()); }
element = new HeaderElement(headerValue, from, i); from = i + 1; } else if (i == len - 1) { element = new HeaderElement(headerValue, from, len); if ((element != null) && (element.getName() != null)) { elements.add(element);
/** * Constructor with array of characters. * * @param chars the array of characters * @param offset - the initial offset. * @param length - the length. * * @since 3.0 */ public HeaderElement(char[] chars, int offset, int length) { this(); if (chars == null) { return; } ParameterParser parser = new ParameterParser(); List params = parser.parse(chars, offset, length, ';'); if (params.size() > 0) { NameValuePair element = (NameValuePair) params.remove(0); setName(element.getName()); setValue(element.getValue()); if (params.size() > 0) { this.parameters = (NameValuePair[]) params.toArray(new NameValuePair[params.size()]); } } }
if ((len > 0) && ("chunked".equalsIgnoreCase(encodings[len - 1].getName()))) {
private int getMaxAge(HeaderElement[] cacheControlHeaderElements) { for (int i = 0; i < cacheControlHeaderElements.length; i++) { HeaderElement headerElement = cacheControlHeaderElements[i]; if (headerElement.getName().equals("max-age")) { String maxAge = headerElement.getValue().toString(); return Integer.parseInt(maxAge); } } return 0; }
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; }
/** * Returns the character set from the <tt>Content-Type</tt> header. * * @param contentheader The content header. * @return String The character set. */ protected String getContentCharSet(Header contentheader) { LOG.trace("enter getContentCharSet( Header contentheader )"); String charset = null; if (contentheader != null) { HeaderElement values[] = contentheader.getElements(); // I expect only one header element to be there // No more. no less if (values.length == 1) { NameValuePair param = values[0].getParameterByName("charset"); if (param != null) { // If I get anything "funny" // UnsupportedEncondingException will result charset = param.getValue(); } } } if (charset == null) { charset = getParams().getContentCharset(); if (LOG.isDebugEnabled()) { LOG.debug("Default charset used: " + charset); } } return charset; }
.getParameterByName(HTTPConstants.CHAR_SET_ENCODING); if (charsetEnc != null) { charSetEnc = charsetEnc.getValue(); for (int e = 0; e < elements.length; e++) { HeaderElement element = elements[e]; if (Constants.SESSION_COOKIE.equalsIgnoreCase(element.getName()) || Constants.SESSION_COOKIE_JSESSIONID.equalsIgnoreCase(element.getName())) { sessionCookie = processCookieHeader(element); if (customCoookiId != null && customCoookiId.equalsIgnoreCase(element.getName())) { sessionCookie = processCookieHeader(element); for (int e = 0; e < elements.length; e++) { HeaderElement element = elements[e]; if (Constants.SESSION_COOKIE.equalsIgnoreCase(element.getName()) || Constants.SESSION_COOKIE_JSESSIONID.equalsIgnoreCase(element.getName())) { sessionCookie = processCookieHeader(element); if (customCoookiId != null && customCoookiId.equalsIgnoreCase(element.getName())) { sessionCookie = processCookieHeader(element);
/** * Returns an array of {@link HeaderElement}s * constructed from my value. * * @see HeaderElement#parseElements(String) * * @return an array of header elements * * @since 3.0 */ public HeaderElement[] getElements() { return HeaderElement.parseElements(getValue()); }
/** * Returns parameter with the given name, if found. Otherwise null * is returned * * @param name The name to search by. * @return NameValuePair parameter with the given name */ public NameValuePair getParameterByName(String name) { LOG.trace("enter HeaderElement.getParameterByName(String)"); if (name == null) { throw new IllegalArgumentException("Name may not be null"); } NameValuePair found = null; NameValuePair parameters[] = getParameters(); if (parameters != null) { for (int i = 0; i < parameters.length; i++) { NameValuePair current = parameters[ i ]; if (current.getName().equalsIgnoreCase(name)) { found = current; break; } } } return found; }
private HeaderElement getHeaderElement(HeaderEntry header, String headerName, String elementName) { if (headerName.equals(header.getName())) { HeaderElement[] elements = header.getElements(); for (HeaderElement element : elements) { if (element.getName().equals(elementName)) { return element; } } } return null; } }
element = new HeaderElement(headerValue, from, i); from = i + 1; } else if (i == len - 1) { element = new HeaderElement(headerValue, from, len); if ((element != null) && (element.getName() != null)) { elements.add(element);
@Override public Map<String,String> getCookies() { Map<String,String> cookies = null; for (String name : COOKIE_HEADER_NAMES) { for (org.apache.commons.httpclient.Header header : method.getResponseHeaders(name)) { for (HeaderElement element : header.getElements()) { if (cookies == null) { cookies = new HashMap<String,String>(); } cookies.put(element.getName(), element.getValue()); } } } return cookies; }
private String getEncoding(Map<String, Object> headers) { String encoding = DEFAULT_ENCODING; Object contentType = headers.get(HttpConstants.HEADER_CONTENT_TYPE); if (contentType != null) { // use HttpClient classes to parse the charset part from the Content-Type // header (e.g. "text/html; charset=UTF-16BE") Header contentTypeHeader = new Header(HttpConstants.HEADER_CONTENT_TYPE, contentType.toString()); HeaderElement values[] = contentTypeHeader.getElements(); if (values.length == 1) { NameValuePair param = values[0].getParameterByName("charset"); if (param != null) { encoding = param.getValue(); } } } return encoding; }
/** * This parses the value part of a header. The result is an array of * HeaderElement objects. * * @param headerValue the string representation of the header value * (as received from the web server). * @return array of {@link HeaderElement}s. * * @since 3.0 */ public static final HeaderElement[] parseElements(String headerValue) { LOG.trace("enter HeaderElement.parseElements(String)"); if (headerValue == null) { return new HeaderElement[] {}; } return parseElements(headerValue.toCharArray()); }
/** * Constructor with array of characters. * * @param chars the array of characters * @param offset - the initial offset. * @param length - the length. * * @since 3.0 */ public HeaderElement(char[] chars, int offset, int length) { this(); if (chars == null) { return; } ParameterParser parser = new ParameterParser(); List params = parser.parse(chars, offset, length, ';'); if (params.size() > 0) { NameValuePair element = (NameValuePair) params.remove(0); setName(element.getName()); setValue(element.getValue()); if (params.size() > 0) { this.parameters = (NameValuePair[]) params.toArray(new NameValuePair[params.size()]); } } }
/** * Returns parameter with the given name, if found. Otherwise null * is returned * * @param name The name to search by. * @return NameValuePair parameter with the given name */ public NameValuePair getParameterByName(String name) { LOG.trace("enter HeaderElement.getParameterByName(String)"); if (name == null) { throw new IllegalArgumentException("Name may not be null"); } NameValuePair found = null; NameValuePair parameters[] = getParameters(); if (parameters != null) { for (int i = 0; i < parameters.length; i++) { NameValuePair current = parameters[ i ]; if (current.getName().equalsIgnoreCase(name)) { found = current; break; } } } return found; }