Example usage for org.apache.http.util CharArrayBuffer substringTrimmed

List of usage examples for org.apache.http.util CharArrayBuffer substringTrimmed

Introduction

In this page you can find the example usage for org.apache.http.util CharArrayBuffer substringTrimmed.

Prototype

public String substringTrimmed(int i, int i2) 

Source Link

Usage

From source file:com.androidquery.test.NTLMScheme.java

@Override
protected void parseChallenge(final CharArrayBuffer buffer, int beginIndex, int endIndex)
        throws MalformedChallengeException {
    String challenge = buffer.substringTrimmed(beginIndex, endIndex);
    if (challenge.length() == 0) {
        if (this.state == State.UNINITIATED) {
            this.state = State.CHALLENGE_RECEIVED;
        } else {// www .ja v a2s.c  o m
            this.state = State.FAILED;
        }
        this.challenge = null;
    } else {
        this.state = State.MSG_TYPE2_RECEVIED;
        this.challenge = challenge;
    }
}

From source file:freeipa.client.negotiation.JBossNegotiateScheme.java

@Override
protected void parseChallenge(final CharArrayBuffer buffer, int beginIndex, int endIndex)
        throws MalformedChallengeException {
    String challenge = buffer.substringTrimmed(beginIndex, endIndex);

    System.out.println("Received challenge '" + challenge + "' from the auth server");

    if (state == State.UNINITIATED) {
        token = new Base64().decode(challenge.getBytes());
        state = State.CHALLENGE_RECEIVED;
    } else {//from ww w .jav  a  2  s . c  o m
        System.out.println("Authentication already attempted");
        state = State.FAILED;
    }
}

From source file:org.jboss.as.test.integration.security.common.negotiation.JBossNegotiateScheme.java

@Override
protected void parseChallenge(final CharArrayBuffer buffer, int beginIndex, int endIndex)
        throws MalformedChallengeException {
    String challenge = buffer.substringTrimmed(beginIndex, endIndex);
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Received challenge '" + challenge + "' from the auth server");
    }//from  w ww  .  j av  a2 s .  co m
    if (state == State.UNINITIATED) {
        token = new Base64().decode(challenge.getBytes());
        state = State.CHALLENGE_RECEIVED;
    } else {
        LOGGER.debug("Authentication already attempted");
        state = State.FAILED;
    }
}

From source file:org.jboss.as.test.integration.security.loginmodules.negotiation.JBossNegotiateScheme.java

@Override
protected void parseChallenge(final CharArrayBuffer buffer, int beginIndex, int endIndex)
        throws MalformedChallengeException {
    String challenge = buffer.substringTrimmed(beginIndex, endIndex);
    if (log.isDebugEnabled()) {
        log.debug("Received challenge '" + challenge + "' from the auth server");
    }//from  w w w. ja  v  a 2 s . c o m
    if (state == State.UNINITIATED) {
        token = new Base64().decode(challenge.getBytes());
        state = State.CHALLENGE_RECEIVED;
    } else {
        log.debug("Authentication already attempted");
        state = State.FAILED;
    }
}

From source file:com.subgraph.vega.ui.httpeditor.parser.ParserBase.java

/**
 * Get the next word from a buffer containing a line.
 * /*from  w ww . j av a2 s  .c o  m*/
 * @param lnBuf Buffer containing line.
 * @param lnCursor Parser cursor for lnBuf. Adjusted to one character after the word.
 * @return Next word, or null if none is found.
 */
protected String nextWord(final CharArrayBuffer lnBuf, final ParserCursor lnCursor) {
    skipSpHt(lnBuf, lnCursor);
    int idxPos = lnCursor.getPos();
    int idxLineEnd = lnBuf.indexOf(' ', idxPos, lnCursor.getUpperBound());
    if (idxLineEnd < 0) {
        if (idxPos == lnCursor.getUpperBound()) {
            return null;
        }
        idxLineEnd = lnCursor.getUpperBound();
    }
    lnCursor.updatePos(idxLineEnd);
    return lnBuf.substringTrimmed(idxPos, idxLineEnd);
}

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 a  v  a  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 (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   w  w  w  .  j  a  v  a  2  s .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:com.ok2c.lightmtp.util.InetAddressRangeParser.java

public InetAddressRange parse(final CharArrayBuffer buffer, final ParserCursor cursor, final char[] delimiters)
        throws ParseException, UnknownHostException {

    Args.notNull(buffer, "Char array buffer");
    Args.notNull(cursor, "Parser cursor");

    int pos = cursor.getPos();
    int indexFrom = cursor.getPos();
    int indexTo = cursor.getUpperBound();

    while (pos < indexTo) {
        char ch = buffer.charAt(pos);
        if (ch == '/') {
            break;
        }//from   www  . j  a v  a  2 s  . c  om
        if (isOneOf(ch, delimiters)) {
            break;
        }
        pos++;
    }

    InetAddress address = InetAddress.getByName(buffer.substringTrimmed(indexFrom, pos));
    int mask = 0;

    if (pos < indexTo && buffer.charAt(pos) == '/') {
        pos++;
        indexFrom = pos;
        while (pos < indexTo) {
            char ch = buffer.charAt(pos);
            if (isOneOf(ch, delimiters)) {
                break;
            }
            pos++;
        }
        try {
            mask = Integer.parseInt(buffer.substringTrimmed(indexFrom, pos));
            if (mask < 0) {
                throw new ParseException("Negative range mask", indexFrom);
            }
        } catch (NumberFormatException ex) {
            throw new ParseException("Invalid range mask", indexFrom);
        }
    }
    cursor.updatePos(pos);
    return new InetAddressRange(address, mask);
}

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

public NameValuePair parseNameValuePair(final CharArrayBuffer buffer, final ParserCursor cursor,
        final char[] delimiters) {
    AssertUtils.notNull(buffer, "Char array buffer");
    AssertUtils.notNull(cursor, "Parser cursor");

    boolean terminated = false;

    int pos = cursor.getPos();
    final int indexFrom = cursor.getPos();
    final int indexTo = cursor.getUpperBound();

    // Find name/*from  ww w. jav a2s .c om*/
    final String name;
    while (pos < indexTo) {
        final char ch = buffer.charAt(pos);
        if (ch == '=') {
            break;
        }
        if (isOneOf(ch, delimiters)) {
            terminated = true;
            break;
        }
        pos++;
    }

    if (pos == indexTo) {
        terminated = true;
        name = buffer.substringTrimmed(indexFrom, indexTo);
    } else {
        name = buffer.substringTrimmed(indexFrom, pos);
        pos++;
    }

    if (terminated) {
        cursor.updatePos(pos);
        return createNameValuePair(name, null);
    }

    // Find value
    final String value;
    int i1 = pos;

    boolean qouted = false;
    boolean escaped = false;
    while (pos < indexTo) {
        final char ch = buffer.charAt(pos);
        if (ch == '"' && !escaped) {
            qouted = !qouted;
        }
        if (!qouted && !escaped && isOneOf(ch, delimiters)) {
            terminated = true;
            break;
        }
        if (escaped) {
            escaped = false;
        } else {
            escaped = qouted && ch == '\\';
        }
        pos++;
    }

    int i2 = pos;
    // Trim leading white spaces
    while (i1 < i2 && (HTTP.isWhitespace(buffer.charAt(i1)))) {
        i1++;
    }
    // Trim trailing white spaces
    while ((i2 > i1) && (HTTP.isWhitespace(buffer.charAt(i2 - 1)))) {
        i2--;
    }
    // Strip away quotes if necessary
    if (((i2 - i1) >= 2) && (buffer.charAt(i1) == '"') && (buffer.charAt(i2 - 1) == '"')) {
        i1++;
        i2--;
    }
    value = buffer.substring(i1, i2);
    if (terminated) {
        pos++;
    }
    cursor.updatePos(pos);
    return createNameValuePair(name, value);
}

From source file:org.apache.http.impl.auth.GGSSchemeBase.java

@Override
protected void parseChallenge(final CharArrayBuffer buffer, final int beginIndex, final int endIndex)
        throws MalformedChallengeException {
    final String challenge = buffer.substringTrimmed(beginIndex, endIndex);
    if (log.isDebugEnabled()) {
        log.debug("Received challenge '" + challenge + "' from the auth server");
    }/*from  w ww  .  jav a 2s  .co m*/
    if (state == State.UNINITIATED) {
        token = Base64.decodeBase64(challenge.getBytes());
        state = State.CHALLENGE_RECEIVED;
    } else {
        log.debug("Authentication already attempted");
        state = State.FAILED;
    }
}