Example usage for org.apache.http.protocol HTTP IDENTITY_CODING

List of usage examples for org.apache.http.protocol HTTP IDENTITY_CODING

Introduction

In this page you can find the example usage for org.apache.http.protocol HTTP IDENTITY_CODING.

Prototype

String IDENTITY_CODING

To view the source code for org.apache.http.protocol HTTP IDENTITY_CODING.

Click Source Link

Usage

From source file:com.subgraph.vega.internal.http.requests.RequestTask.java

@Override
public IHttpResponse call() throws Exception {
    if (config.getForceIdentityEncoding())
        request.setHeader(HTTP.CONTENT_ENCODING, HTTP.IDENTITY_CODING);

    if (rateLimit != null)
        rateLimit.maybeDelayRequest();//  w ww  .jav a  2  s  . c  o m

    final long start = System.currentTimeMillis();
    final HttpResponse httpResponse = client.execute(request, context);
    final long elapsed = System.currentTimeMillis() - start;

    final HttpEntity entity = httpResponse.getEntity();

    if (entity != null) {
        if (config.getMaximumResponseKilobytes() > 0
                && entity.getContentLength() > (config.getMaximumResponseKilobytes() * 1024)) {
            logger.warning("Aborting request " + request.getURI().toString() + " because response length "
                    + entity.getContentLength() + " exceeds maximum length of "
                    + config.getMaximumResponseKilobytes() + " kb.");
            request.abort();
            httpResponse.setEntity(createEmptyEntity());
        }

        final HttpEntity newEntity = processEntity(httpResponse, entity);
        httpResponse.setEntity(newEntity);
    }
    final HttpHost host = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
    final HttpRequest sentRequest = (HttpRequest) context.getAttribute(HttpRequestEngine.VEGA_SENT_REQUEST);

    final IHttpResponse response = new EngineHttpResponse(request.getURI(), host,
            (sentRequest == null) ? (request) : (sentRequest), httpResponse, elapsed, htmlParser);

    for (IHttpResponseProcessor p : config.getResponseProcessors()) {
        p.processResponse(response.getOriginalRequest(), response, context);
    }

    return response;
}

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

public void parseHeader(CharArrayBuffer buffer) {
    int pos = CharArrayBuffers.setLowercaseIndexOf(buffer, ':');
    if (pos == -1) {
        return;/*w ww .  j  av  a2  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 (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;//w  ww  . j  a va  2  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 (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.newrelic.agent.android.harvest.HarvestConnection.java

public HttpPost createPost(String str, String str2) {
    String str3 = (str2.length() <= AccessibilityNodeInfoCompat.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
            || DISABLE_COMPRESSION_FOR_DEBUGGING.booleanValue()) ? HTTP.IDENTITY_CODING : "deflate";
    HttpPost httpPost = new HttpPost(str);
    httpPost.addHeader(HTTP.CONTENT_TYPE, AbstractSpiCall.ACCEPT_JSON_VALUE);
    httpPost.addHeader(HTTP.CONTENT_ENCODING, str3);
    httpPost.addHeader(HTTP.USER_AGENT, System.getProperty("http.agent"));
    if (this.applicationToken == null) {
        this.log.error("Cannot create POST without an Application Token.");
        return null;
    }/*from   ww w  .j ava2  s  .co  m*/
    httpPost.addHeader(APPLICATION_TOKEN_HEADER, this.applicationToken);
    if (this.serverTimestamp != 0) {
        httpPost.addHeader(CONNECT_TIME_HEADER, Long.valueOf(this.serverTimestamp).toString());
    }
    if ("deflate".equals(str3)) {
        httpPost.setEntity(new ByteArrayEntity(deflate(str2)));
    } else {
        try {
            httpPost.setEntity(new StringEntity(str2, "utf-8"));
        } catch (Throwable e) {
            this.log.error("UTF-8 is unsupported");
            throw new IllegalArgumentException(e);
        }
    }
    return httpPost;
}