/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.net.http; import org.apache.http.util.CharArrayBuffer; import org.apache.http.protocol.HTTP; /** * Utility methods for working on CharArrayBuffers. * * {@hide} */ class CharArrayBuffers { static final char uppercaseAddon = 'a' - 'A'; /** * Returns true if the buffer contains the given string. Ignores leading * whitespace and case. * * @param buffer to search * @param beginIndex index at which we should start * @param str to search for */ static boolean containsIgnoreCaseTrimmed(CharArrayBuffer buffer, int beginIndex, final String str) { int len = buffer.length(); char[] chars = buffer.buffer(); while (beginIndex < len && HTTP.isWhitespace(chars[beginIndex])) { beginIndex++; } int size = str.length(); boolean ok = len >= beginIndex + size; for (int j=0; ok && (j= 'A' && current <= 'Z'){ // make lower case current += uppercaseAddon; chars[i] = current; } } return -1; } private static char toLower(char c) { if (c >= 'A' && c <= 'Z'){ c += uppercaseAddon; } return c; } }