Package org.apache.commons.httpclient

Examples of org.apache.commons.httpclient.HeaderElement


   
    public String getCharset() {
        String charset = DEFAULT_CONTENT_CHARSET;
        Header contenttype = this.headers.getFirstHeader("Content-Type");
        if (contenttype != null) {
            HeaderElement values[] = contenttype.getElements();
            if (values.length == 1) {
                NameValuePair param = values[0].getParameterByName("charset");
                if (param != null) {
                    charset = param.getValue();
                }
View Full Code Here


                // Does not look like a valid expiry date
            }
        }
        if (isNetscapeCookie) {
            headerElements = new HeaderElement[] {
                    new HeaderElement(header.toCharArray())
            };
        } else {
            headerElements = HeaderElement.parseElements(header.toCharArray());
        }
       
        Cookie[] cookies = new Cookie[headerElements.length];

        for (int i = 0; i < headerElements.length; i++) {

            HeaderElement headerelement = headerElements[i];
            Cookie cookie = null;
            try {
                cookie = new Cookie(host,
                                    headerelement.getName(),
                                    headerelement.getValue(),
                                    defaultPath,
                                    null,
                                    false);
            } catch (IllegalArgumentException e) {
                throw new MalformedCookieException(e.getMessage());
            }
            // cycle through the parameters
            NameValuePair[] parameters = headerelement.getParameters();
            // could be null. In case only a header element and no parameters.
            if (parameters != null) {

                for (int j = 0; j < parameters.length; j++) {
                    parseAttribute(parameters[j], cookie);
View Full Code Here

                //Do not remove the very first slash
                lastSlashIndex = 1;
            }
            defaultPath = defaultPath.substring(0, lastSlashIndex);
        }
        HeaderElement headerelement = new HeaderElement(header.toCharArray());
        Cookie cookie = new Cookie(host,
                       headerelement.getName(),
                       headerelement.getValue(),
                       defaultPath,
                       null,
                       false);
        // cycle through the parameters
        NameValuePair[] parameters = headerelement.getParameters();
        // could be null. In case only a header element and no parameters.
        if (parameters != null) {
            for (int j = 0; j < parameters.length; j++) {
                parseAttribute(parameters[j], cookie);
            }
View Full Code Here

       
        Cookie[] cookies = new Cookie[headerElements.length];

        for (int i = 0; i < headerElements.length; i++) {

            HeaderElement headerelement = headerElements[i];
            Cookie cookie = null;
            try {
                cookie = new Cookie(host,
                                    headerelement.getName(),
                                    headerelement.getValue(),
                                    defaultPath,
                                    null,
                                    false);
            } catch (IllegalArgumentException e) {
                throw new MalformedCookieException(e.getMessage());
            }
            // cycle through the parameters
            NameValuePair[] parameters = headerelement.getParameters();
            // could be null. In case only a header element and no parameters.
            if (parameters != null) {

                for (int j = 0; j < parameters.length; j++) {
                    parseAttribute(parameters[j], cookie);
View Full Code Here

        } else {
          final HeaderElement[] elements = header.getValues();
          if (elements != null && elements.length > 0) {
              result = new LinkedList<String>();
              for (int i = 0; i < elements.length; i++) {
                  final HeaderElement element = elements[i];
                  result.add(toString(element));
              }
          } else {
              result = Collections.emptyList();
          }
View Full Code Here

                }
                values = null;
            }
            if (values != null) {
                for (int i = 0; i < values.length; i++) {
                    final HeaderElement element = values[i];
                    final String name = element.getName();
                    if (name.equalsIgnoreCase("no-cache")) {
                        info.setPragmaNoCache(true);
                        info.setCacheHeaderFound(true);
                    }
                }
            }
        }
        final Header cacheControlHeader = getHeader(HEADER_NAME_CACHE_CONTROL);
        if (cacheControlHeader != null) {
            // clear the previous values
            info.setCcNoCache(false);
            info.setCcNoStore(false);
            info.setCcPublic(false);
            info.setCcPrivate(false);
            info.setCcMaxAge(null);
            info.setCcSMaxAge(null);
            info.setCacheHeaderFound(true);

            HeaderElement[] values;
            try {
                values = cacheControlHeader.getValues();
            } catch (HttpException e) {
                if (LOGGER.isInfoEnabled()) {
                    LOGGER.info("parse-header-error", HEADER_NAME_CACHE_CONTROL,
                        e);
                }
                values = null;
            }
            if (values != null) {
                for (int i = 0; i < values.length; i++) {
                    final HeaderElement element = values[i];
                    final String name = element.getName();
                    if (name.equalsIgnoreCase("no-cache")) {
                        info.setCcNoCache(true);
                    } else if (name.equalsIgnoreCase("no-store")) {
                        info.setCcNoStore(true);
                    } else if (name.equalsIgnoreCase("public")) {
View Full Code Here

                                final HeaderElement[] elements =
                                    httpHeader.getValues();
                                final StringBuffer newValue = new StringBuffer(
                                    existing.getValue().length());
                                for (int i = 0; i < elements.length; i++) {
                                    final HeaderElement element = elements[i];
                                    // check if this element is a 2xx warning
                                    if (isWarningElement(element, '2')) {
                                        // append it to the new value of the
                                        // header
                                        if (newValue.length() > 0) {
                                            newValue.append(',');
                                        }
                                        newValue.append(
                                            HttpClientUtils.toString(element));
                                    }
                                }
                                if (newValue.length() > 0) {
                                    // create a new Header, replace the existing
                                    // header with it
                                    final Header newHeader = createHeader(
                                        existing.getName(), newValue.toString());
                                    final int index = headers.indexOf(existing);
                                    headers.set(index, newHeader);
                                    headersIter.set(newHeader);
                                } else {
                                    headers.remove(existing);
                                    headersIter.remove();
                                }
                            } catch (HttpException e) {
                                LOGGER.error("parse-header-error",
                                    existing.getName(), e);
                                headers.remove(existing);
                                headersIter.remove();
                            }
                        } else {
                            headers.remove(existing);
                            headersIter.remove();
                        }
                    }
                }
                processedHeaders.add(name);
            }
        }
        // remove 1xx warnings
        if (!processedHeaders.contains("warning")) {
            final List list = (List) headersMap.get("warning");
            if (list != null) {
                for (ListIterator iter = list.listIterator(); iter.hasNext(); ) {
                    final Header existing = (Header) iter.next();
                    // delete 1xx warnings
                    // need to split the header as it might contain a
                    // value list
                    org.apache.commons.httpclient.Header httpHeader =
                        new org.apache.commons.httpclient.Header(
                            existing.getName(), existing.getValue());
                    try {
                        final HeaderElement[] elements =
                            httpHeader.getValues();
                        final StringBuffer newValue =
                            new StringBuffer(existing.getValue().length());
                        for (int i = 0; i < elements.length; i++) {
                            final HeaderElement element = elements[i];
                            // check if this element is a 1xx warning
                            if (!isWarningElement(element, '1')) {
                                // append it to the new value of the header
                                if (newValue.length() > 0) {
                                    newValue.append(',');
View Full Code Here

    {
        String charset = getFallbackCharset();
        Header contenttype = this.headers.getFirstHeader(HttpConstants.HEADER_CONTENT_TYPE);
        if (contenttype != null)
        {
            HeaderElement values[] = contenttype.getElements();
            if (values.length == 1)
            {
                NameValuePair param = values[0].getParameterByName("charset");
                if (param != null)
                {
View Full Code Here

        {
            // 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)
                {
View Full Code Here

    {
        String charset = null;
        Header contenttype = this.headers.getFirstHeader(HttpConstants.HEADER_CONTENT_TYPE);
        if (contenttype != null)
        {
            HeaderElement values[] = contenttype.getElements();
            if (values.length == 1)
            {
                NameValuePair param = values[0].getParameterByName("charset");
                if (param != null)
                {
View Full Code Here

TOP

Related Classes of org.apache.commons.httpclient.HeaderElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.