Example usage for org.apache.http.message BasicHeaderValueParser DEFAULT

List of usage examples for org.apache.http.message BasicHeaderValueParser DEFAULT

Introduction

In this page you can find the example usage for org.apache.http.message BasicHeaderValueParser DEFAULT.

Prototype

BasicHeaderValueParser DEFAULT

To view the source code for org.apache.http.message BasicHeaderValueParser DEFAULT.

Click Source Link

Usage

From source file:Main.java

/**
 * Returns a list of {@link org.apache.http.NameValuePair NameValuePairs} as parsed.
 *
 * @param s text to parse.//from   ww w .  j  av a 2 s.  c o m
 * @since 4.2
 */
public static List<NameValuePair> parse(final String s) {
    if (s == null) {
        return Collections.emptyList();
    }
    BasicHeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);
    ParserCursor cursor = new ParserCursor(0, buffer.length());
    List<NameValuePair> list = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        NameValuePair nvp = parser.parseNameValuePair(buffer, cursor, DELIM);
        if (nvp.getName().length() > 0) {
            list.add(new BasicNameValuePair(nvp.getName(), nvp.getValue()));
        }
    }
    return list;
}

From source file:com.android.idtt.http.client.util.URLEncodedUtils.java

/**
 * Returns a list of {@link org.apache.http.NameValuePair NameValuePairs} as parsed from the given string
 * using the given character encoding./*from w ww  . j  a v  a2  s. com*/
 *
 * @param s       text to parse.
 * @param charset Encoding to use when decoding the parameters.
 * @since 4.2
 */
public static List<NameValuePair> parse(final String s, final Charset charset) {
    if (s == null) {
        return Collections.emptyList();
    }
    BasicHeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);
    ParserCursor cursor = new ParserCursor(0, buffer.length());
    List<NameValuePair> list = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        NameValuePair nvp = parser.parseNameValuePair(buffer, cursor, DELIM);
        if (nvp.getName().length() > 0) {
            list.add(new BasicNameValuePair(decodeFormFields(nvp.getName(), charset),
                    decodeFormFields(nvp.getValue(), charset)));
        }
    }
    return list;
}

From source file:com.soundcloud.playerapi.OAuth2Scheme.java

@Override
public void processChallenge(Header header) throws MalformedChallengeException {
    if (header == null) {
        throw new IllegalArgumentException("Header may not be null");
    }//from   w w  w.  j  a v a  2 s  . co m
    String authHeader = header.getName();
    if (!authHeader.equalsIgnoreCase(AUTH.WWW_AUTH)) {
        throw new MalformedChallengeException("Unexpected header name: " + authHeader);
    }

    CharArrayBuffer buffer;
    int pos;
    if (header instanceof FormattedHeader) {
        buffer = ((FormattedHeader) header).getBuffer();
        pos = ((FormattedHeader) header).getValuePos();
    } else {
        String s = header.getValue();
        if (s == null) {
            throw new MalformedChallengeException("Header value is null");
        }
        buffer = new CharArrayBuffer(s.length());
        buffer.append(s);
        pos = 0;
    }
    while (pos < buffer.length() && HTTP.isWhitespace(buffer.charAt(pos))) {
        pos++;
    }
    int beginIndex = pos;
    while (pos < buffer.length() && !HTTP.isWhitespace(buffer.charAt(pos))) {
        pos++;
    }
    int endIndex = pos;
    String s = buffer.substring(beginIndex, endIndex);
    if (!s.equalsIgnoreCase(getSchemeName())) {
        throw new MalformedChallengeException("Invalid scheme identifier: " + s);
    }
    HeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    ParserCursor cursor = new ParserCursor(pos, buffer.length());
    HeaderElement[] elements = parser.parseElements(buffer, cursor);
    if (elements.length == 0) {
        throw new MalformedChallengeException("Authentication challenge is empty");
    }
    for (HeaderElement element : elements) {
        this.mParams.put(element.getName(), element.getValue());
    }
}

From source file:com.sina.cloudstorage.util.URLEncodedUtils.java

/**
 * Returns a list of {@link NameValuePair NameValuePairs} as parsed from the given string
 * using the given character encoding.//from  w  ww. j  a  v  a2s .co  m
 *
 * @param s
 *            text to parse.
 * @param charset
 *            Encoding to use when decoding the parameters.
 *
 * @since 4.2
 */
public static List<NameValuePair> parse(final String s, final Charset charset) {
    if (s == null) {
        return Collections.emptyList();
    }
    BasicHeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);
    ParserCursor cursor = new ParserCursor(0, buffer.length());
    List<NameValuePair> list = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        NameValuePair nvp = parser.parseNameValuePair(buffer, cursor, DELIM);
        if (nvp.getName().length() > 0) {
            list.add(new BasicNameValuePair(decode(nvp.getName(), charset), decode(nvp.getValue(), charset)));
        }
    }
    return list;
}

From source file:com.gistlabs.mechanize.util.apache.URLEncodedUtils.java

/**
 * Returns a list of {@link NameValuePair NameValuePairs} as parsed from the given string
 * using the given character encoding.//from   www .j a  v a2 s .  c  o  m
 *
 * @param s
 *            text to parse.
 * @param charset
 *            Encoding to use when decoding the parameters.
 *
 * @since 4.2
 */
public static List<NameValuePair> parse(final String s, final Charset charset) {
    if (s == null)
        return Collections.emptyList();
    BasicHeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);
    ParserCursor cursor = new ParserCursor(0, buffer.length());
    List<NameValuePair> list = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        NameValuePair nvp = parser.parseNameValuePair(buffer, cursor, DELIM);
        if (nvp.getName().length() > 0)
            list.add(new BasicNameValuePair(decodeFormFields(nvp.getName(), charset),
                    decodeFormFields(nvp.getValue(), charset)));
    }
    return list;
}

From source file:org.mycard.net.network.Headers.java

public void parseHeader(CharArrayBuffer buffer) {
    int pos = CharArrayBuffers.setLowercaseIndexOf(buffer, ':');
    if (pos == -1) {
        return;/*from  w  ww . j  ava2 s .  c om*/
    }
    String name = buffer.substringTrimmed(0, pos);
    if (name.length() == 0) {
        return;
    }
    pos++;

    String val = buffer.substringTrimmed(pos, buffer.length());
    // if (HttpLog.LOGV) {
    //    HttpLog.v("hdr " + buffer.length() + " " + buffer);
    // }

    switch (name.hashCode()) {
    case HASH_TRANSFER_ENCODING:
        if (name.equals(TRANSFER_ENCODING)) {
            mHeaders[IDX_TRANSFER_ENCODING] = val;
            HeaderElement[] encodings = BasicHeaderValueParser.DEFAULT.parseElements(buffer,
                    new ParserCursor(pos, buffer.length()));
            // The chunked encoding must be the last one applied RFC2616,
            // 14.41
            int len = encodings.length;
            if (HTTP.IDENTITY_CODING.equalsIgnoreCase(val)) {
                transferEncoding = ContentLengthStrategy.IDENTITY;
            } else if ((len > 0) && (HTTP.CHUNK_CODING.equalsIgnoreCase(encodings[len - 1].getName()))) {
                transferEncoding = ContentLengthStrategy.CHUNKED;
            } else {
                transferEncoding = ContentLengthStrategy.IDENTITY;
            }
        }
        break;
    case HASH_CONTENT_LEN:
        if (name.equals(CONTENT_LEN)) {
            mHeaders[IDX_CONTENT_LEN] = val;
            try {
                contentLength = Long.parseLong(val);
            } catch (NumberFormatException e) {
                //if (Config.LOGV) {
                //     Log.v(LOGTAG, "Headers.headers(): error parsing"
                //             + " content length: " + buffer.toString());
                // }
            }
        }
        break;
    case HASH_CONTENT_TYPE:
        if (name.equals(CONTENT_TYPE)) {
            mHeaders[IDX_CONTENT_TYPE] = val;
        }
        break;
    case HASH_CONTENT_ENCODING:
        if (name.equals(CONTENT_ENCODING)) {
            mHeaders[IDX_CONTENT_ENCODING] = val;
        }
        break;
    case HASH_CONN_DIRECTIVE:
        if (name.equals(CONN_DIRECTIVE)) {
            mHeaders[IDX_CONN_DIRECTIVE] = val;
            setConnectionType(buffer, pos);
        }
        break;
    case HASH_LOCATION:
        if (name.equals(LOCATION)) {
            mHeaders[IDX_LOCATION] = val;
        }
        break;
    case HASH_PROXY_CONNECTION:
        if (name.equals(PROXY_CONNECTION)) {
            mHeaders[IDX_PROXY_CONNECTION] = val;
            setConnectionType(buffer, pos);
        }
        break;
    case HASH_WWW_AUTHENTICATE:
        if (name.equals(WWW_AUTHENTICATE)) {
            mHeaders[IDX_WWW_AUTHENTICATE] = val;
        }
        break;
    case HASH_PROXY_AUTHENTICATE:
        if (name.equals(PROXY_AUTHENTICATE)) {
            mHeaders[IDX_PROXY_AUTHENTICATE] = val;
        }
        break;
    case HASH_CONTENT_DISPOSITION:
        if (name.equals(CONTENT_DISPOSITION)) {
            mHeaders[IDX_CONTENT_DISPOSITION] = val;
        }
        break;
    case HASH_ACCEPT_RANGES:
        if (name.equals(ACCEPT_RANGES)) {
            mHeaders[IDX_ACCEPT_RANGES] = val;
        }
        break;
    case HASH_EXPIRES:
        if (name.equals(EXPIRES)) {
            mHeaders[IDX_EXPIRES] = val;
        }
        break;
    case HASH_CACHE_CONTROL:
        if (name.equals(CACHE_CONTROL)) {
            mHeaders[IDX_CACHE_CONTROL] = val;
        }
        break;
    case HASH_LAST_MODIFIED:
        if (name.equals(LAST_MODIFIED)) {
            mHeaders[IDX_LAST_MODIFIED] = val;
        }
        break;
    case HASH_ETAG:
        if (name.equals(ETAG)) {
            mHeaders[IDX_ETAG] = val;
        }
        break;
    case HASH_SET_COOKIE:
        if (name.equals(SET_COOKIE)) {
            mHeaders[IDX_SET_COOKIE] = val;
            cookies.add(val);
        }
        break;
    case HASH_PRAGMA:
        if (name.equals(PRAGMA)) {
            mHeaders[IDX_PRAGMA] = val;
        }
        break;
    case HASH_REFRESH:
        if (name.equals(REFRESH)) {
            mHeaders[IDX_REFRESH] = val;
        }
        break;
    default:
        mExtraHeaderNames.add(name);
        mExtraHeaderValues.add(val);
    }
}

From source file:com.jana.android.net.Headers.java

public void parseHeader(CharArrayBuffer buffer) {
    int pos = CharArrayBuffers.setLowercaseIndexOf(buffer, ':');
    if (pos == -1) {
        return;/*from  ww  w. java 2s.c  o  m*/
    }
    String name = buffer.substringTrimmed(0, pos);
    if (name.length() == 0) {
        return;
    }
    pos++;
    String val = buffer.substringTrimmed(pos, buffer.length());
    if (HttpLog.LOGV) {
        HttpLog.v("hdr " + buffer.length() + " " + buffer);
    }
    switch (name.hashCode()) {
    case HASH_TRANSFER_ENCODING:
        if (name.equals(TRANSFER_ENCODING)) {
            mHeaders[IDX_TRANSFER_ENCODING] = val;
            HeaderElement[] encodings = BasicHeaderValueParser.DEFAULT.parseElements(buffer,
                    new ParserCursor(pos, buffer.length()));
            // The chunked encoding must be the last one applied RFC2616,
            // 14.41
            int len = encodings.length;
            if (HTTP.IDENTITY_CODING.equalsIgnoreCase(val)) {
                transferEncoding = ContentLengthStrategy.IDENTITY;
            } else if ((len > 0) && (HTTP.CHUNK_CODING.equalsIgnoreCase(encodings[len - 1].getName()))) {
                transferEncoding = ContentLengthStrategy.CHUNKED;
            } else {
                transferEncoding = ContentLengthStrategy.IDENTITY;
            }
        }
        break;
    case HASH_CONTENT_LEN:
        if (name.equals(CONTENT_LEN)) {
            mHeaders[IDX_CONTENT_LEN] = val;
            try {
                contentLength = Long.parseLong(val);
            } catch (NumberFormatException e) {
                if (false) {
                    Log.v(LOGTAG, "Headers.headers(): error parsing" + " content length: " + buffer.toString());
                }
            }
        }
        break;
    case HASH_CONTENT_TYPE:
        if (name.equals(CONTENT_TYPE)) {
            mHeaders[IDX_CONTENT_TYPE] = val;
        }
        break;
    case HASH_CONTENT_ENCODING:
        if (name.equals(CONTENT_ENCODING)) {
            mHeaders[IDX_CONTENT_ENCODING] = val;
        }
        break;
    case HASH_CONN_DIRECTIVE:
        if (name.equals(CONN_DIRECTIVE)) {
            mHeaders[IDX_CONN_DIRECTIVE] = val;
            setConnectionType(buffer, pos);
        }
        break;
    case HASH_LOCATION:
        if (name.equals(LOCATION)) {
            mHeaders[IDX_LOCATION] = val;
        }
        break;
    case HASH_PROXY_CONNECTION:
        if (name.equals(PROXY_CONNECTION)) {
            mHeaders[IDX_PROXY_CONNECTION] = val;
            setConnectionType(buffer, pos);
        }
        break;
    case HASH_WWW_AUTHENTICATE:
        if (name.equals(WWW_AUTHENTICATE)) {
            mHeaders[IDX_WWW_AUTHENTICATE] = val;
        }
        break;
    case HASH_PROXY_AUTHENTICATE:
        if (name.equals(PROXY_AUTHENTICATE)) {
            mHeaders[IDX_PROXY_AUTHENTICATE] = val;
        }
        break;
    case HASH_CONTENT_DISPOSITION:
        if (name.equals(CONTENT_DISPOSITION)) {
            mHeaders[IDX_CONTENT_DISPOSITION] = val;
        }
        break;
    case HASH_ACCEPT_RANGES:
        if (name.equals(ACCEPT_RANGES)) {
            mHeaders[IDX_ACCEPT_RANGES] = val;
        }
        break;
    case HASH_EXPIRES:
        if (name.equals(EXPIRES)) {
            mHeaders[IDX_EXPIRES] = val;
        }
        break;
    case HASH_CACHE_CONTROL:
        if (name.equals(CACHE_CONTROL)) {
            // In case where we receive more than one header, create a ','
            // separated list.
            // This should be ok, according to RFC 2616 chapter 4.2
            if (mHeaders[IDX_CACHE_CONTROL] != null && mHeaders[IDX_CACHE_CONTROL].length() > 0) {
                mHeaders[IDX_CACHE_CONTROL] += (',' + val);
            } else {
                mHeaders[IDX_CACHE_CONTROL] = val;
            }
        }
        break;
    case HASH_LAST_MODIFIED:
        if (name.equals(LAST_MODIFIED)) {
            mHeaders[IDX_LAST_MODIFIED] = val;
        }
        break;
    case HASH_ETAG:
        if (name.equals(ETAG)) {
            mHeaders[IDX_ETAG] = val;
        }
        break;
    case HASH_SET_COOKIE:
        if (name.equals(SET_COOKIE)) {
            mHeaders[IDX_SET_COOKIE] = val;
            cookies.add(val);
        }
        break;
    case HASH_PRAGMA:
        if (name.equals(PRAGMA)) {
            mHeaders[IDX_PRAGMA] = val;
        }
        break;
    case HASH_REFRESH:
        if (name.equals(REFRESH)) {
            mHeaders[IDX_REFRESH] = val;
        }
        break;
    case HASH_X_PERMITTED_CROSS_DOMAIN_POLICIES:
        if (name.equals(X_PERMITTED_CROSS_DOMAIN_POLICIES)) {
            mHeaders[IDX_X_PERMITTED_CROSS_DOMAIN_POLICIES] = val;
        }
        break;
    default:
        mExtraHeaderNames.add(name);
        mExtraHeaderValues.add(val);
    }
}

From source file:cn.aage.robot.http.entity.ContentType.java

/**
 * Parses textual representation of <code>Content-Type</code> value.
 *
 * @param s text//from  w w w. jav  a 2  s . co  m
 * @return content type
 * @throws ParseException              if the given text does not represent a valid
 *                                     <code>Content-Type</code> value.
 * @throws UnsupportedCharsetException Thrown when the named charset is not available in
 *                                     this instance of the Java virtual machine
 */
public static ContentType parse(final String s) throws ParseException, UnsupportedCharsetException {
    Args.notNull(s, "Content type");
    final CharArrayBuffer buf = new CharArrayBuffer(s.length());
    buf.append(s);
    final ParserCursor cursor = new ParserCursor(0, s.length());
    final HeaderElement[] elements = BasicHeaderValueParser.DEFAULT.parseElements(buf, cursor);
    if (elements.length > 0) {
        return create(elements[0]);
    } else {
        throw new ParseException("Invalid content type: " + s);
    }
}

From source file:com.mcxiaoke.next.http.util.URLUtils.java

/**
 * Returns a list of {@link org.apache.http.NameValuePair NameValuePairs} as parsed from the given string using the given character
 * encoding.// w  ww.ja va  2 s  . c  o m
 *
 * @param s                  text to parse.
 * @param charset            Encoding to use when decoding the parameters.
 * @param parameterSeparator The characters used to separate parameters, by convention, {@code '&'} and {@code ';'}.
 * @return a list of {@link org.apache.http.NameValuePair} as built from the URI's query portion.
 * @since 4.3
 */
public static List<NameValuePair> parse(final String s, final Charset charset,
        final char... parameterSeparator) {
    if (s == null) {
        return Collections.emptyList();
    }
    final BasicHeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    final CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);
    final ParserCursor cursor = new ParserCursor(0, buffer.length());
    final List<NameValuePair> list = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        final NameValuePair nvp = parser.parseNameValuePair(buffer, cursor, parameterSeparator);
        if (nvp.getName().length() > 0) {
            list.add(new BasicNameValuePair(decodeFormFields(nvp.getName(), charset),
                    decodeFormFields(nvp.getValue(), charset)));
        }
    }
    return list;
}