List of usage examples for org.apache.http.util CharArrayBuffer substringTrimmed
public String substringTrimmed(int i, int i2)
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; } }