Example usage for org.apache.http.message ParserCursor atEnd

List of usage examples for org.apache.http.message ParserCursor atEnd

Introduction

In this page you can find the example usage for org.apache.http.message ParserCursor atEnd.

Prototype

public boolean atEnd() 

Source Link

Usage

From source file:com.mcxiaoke.next.http.entity.BasicHeaderValueParser.java

public HeaderElement[] parseElements(final CharArrayBuffer buffer, final ParserCursor cursor) {
    AssertUtils.notNull(buffer, "Char array buffer");
    AssertUtils.notNull(cursor, "Parser cursor");
    final List<HeaderElement> elements = new ArrayList<HeaderElement>();
    while (!cursor.atEnd()) {
        final HeaderElement element = parseHeaderElement(buffer, cursor);
        if (!(element.getName().length() == 0 && element.getValue() == null)) {
            elements.add(element);/*www  . ja v  a 2  s  .  c om*/
        }
    }
    return elements.toArray(new HeaderElement[elements.size()]);
}

From source file:com.mcxiaoke.next.http.entity.BasicHeaderValueParser.java

public HeaderElement parseHeaderElement(final CharArrayBuffer buffer, final ParserCursor cursor) {
    AssertUtils.notNull(buffer, "Char array buffer");
    AssertUtils.notNull(cursor, "Parser cursor");
    final NameValuePair nvp = parseNameValuePair(buffer, cursor);
    NameValuePair[] params = null;
    if (!cursor.atEnd()) {
        final char ch = buffer.charAt(cursor.getPos() - 1);
        if (ch != ELEM_DELIMITER) {
            params = parseParameters(buffer, cursor);
        }/* w  ww  . j a va 2s .co m*/
    }
    return createHeaderElement(nvp.getName(), nvp.getValue(), params);
}

From source file:com.mcxiaoke.next.http.entity.BasicHeaderValueParser.java

public NameValuePair[] parseParameters(final CharArrayBuffer buffer, final ParserCursor cursor) {
    AssertUtils.notNull(buffer, "Char array buffer");
    AssertUtils.notNull(cursor, "Parser cursor");
    int pos = cursor.getPos();
    final int indexTo = cursor.getUpperBound();

    while (pos < indexTo) {
        final char ch = buffer.charAt(pos);
        if (HTTP.isWhitespace(ch)) {
            pos++;//w w  w  .ja va  2s .c o  m
        } else {
            break;
        }
    }
    cursor.updatePos(pos);
    if (cursor.atEnd()) {
        return new NameValuePair[] {};
    }

    final List<NameValuePair> params = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        final NameValuePair param = parseNameValuePair(buffer, cursor);
        params.add(param);
        final char ch = buffer.charAt(cursor.getPos() - 1);
        if (ch == ELEM_DELIMITER) {
            break;
        }
    }

    return params.toArray(new NameValuePair[params.size()]);
}