List of usage examples for org.apache.http.protocol HTTP CHUNK_CODING
String CHUNK_CODING
To view the source code for org.apache.http.protocol HTTP CHUNK_CODING.
Click Source Link
From source file:net.oneandone.sushi.fs.webdav.methods.Put.java
@Override protected void setContentHeader() { setRequestHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING); }
From source file:com.subgraph.vega.internal.http.proxy.ResponseContentCustom.java
public void process(final HttpResponse response, final HttpContext context) throws HttpException, IOException { if (response == null) { throw new IllegalArgumentException("HTTP response may not be null"); }//from w ww . jav a 2s. c o m ProtocolVersion ver = response.getStatusLine().getProtocolVersion(); HttpEntity entity = response.getEntity(); if (entity != null) { long len = entity.getContentLength(); if (entity.isChunked() && !ver.lessEquals(HttpVersion.HTTP_1_0)) { response.removeHeaders(HTTP.CONTENT_LEN); response.setHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING); } else if (len >= 0) { response.removeHeaders(HTTP.TRANSFER_ENCODING); response.setHeader(HTTP.CONTENT_LEN, Long.toString(entity.getContentLength())); } // Specify a content type if known if (entity.getContentType() != null && !response.containsHeader(HTTP.CONTENT_TYPE)) { response.addHeader(entity.getContentType()); } // Specify a content encoding if known if (entity.getContentEncoding() != null && !response.containsHeader(HTTP.CONTENT_ENCODING)) { response.addHeader(entity.getContentEncoding()); } } else { int status = response.getStatusLine().getStatusCode(); if (status != HttpStatus.SC_NO_CONTENT && status != HttpStatus.SC_NOT_MODIFIED && status != HttpStatus.SC_RESET_CONTENT) { response.setHeader(HTTP.CONTENT_LEN, "0"); } } }
From source file:com.grendelscan.commons.http.apache_overrides.client.CustomRequestContent.java
@Override public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { if (request == null) { throw new IllegalArgumentException("HTTP request may not be null"); }/*from w w w . j a v a 2 s . c o m*/ if (request instanceof HttpEntityEnclosingRequest) { if (request.containsHeader(HTTP.TRANSFER_ENCODING)) { request.removeHeaders(HTTP.TRANSFER_ENCODING); } if (request.containsHeader(HTTP.CONTENT_LEN)) { request.removeHeaders(HTTP.CONTENT_LEN); } ProtocolVersion ver = request.getRequestLine().getProtocolVersion(); HttpEntity entity = ((HttpEntityEnclosingRequest) request).getEntity(); if (entity == null) { request.addHeader(HTTP.CONTENT_LEN, "0"); return; } // Must specify a transfer encoding or a content length if (entity.isChunked() || entity.getContentLength() < 0) { if (ver.lessEquals(HttpVersion.HTTP_1_0)) { throw new ProtocolException("Chunked transfer encoding not allowed for " + ver); } request.addHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING); } else { request.addHeader(HTTP.CONTENT_LEN, Long.toString(entity.getContentLength())); } // Specify a content type if known if (entity.getContentType() != null && !request.containsHeader(HTTP.CONTENT_TYPE)) { request.addHeader(entity.getContentType()); } // Specify a content encoding if known if (entity.getContentEncoding() != null && !request.containsHeader(HTTP.CONTENT_ENCODING)) { request.addHeader(entity.getContentEncoding()); } } }
From source file:com.subgraph.vega.internal.http.requests.HttpMessageBuilder.java
protected void setHeadersEntity() { if (entity != null) { if (entity.isChunked() || entity.getContentLength() < 0) { setHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING); removeHeaders(HTTP.CONTENT_LEN); } else {//from ww w. jav a 2s . com setHeader(HTTP.CONTENT_LEN, Long.toString(entity.getContentLength())); removeHeaders(HTTP.TRANSFER_ENCODING); } if (entity.getContentType() != null) { final Header h = entity.getContentType(); setHeader(h.getName(), h.getValue()); } if (entity.getContentEncoding() != null) { final Header h = entity.getContentEncoding(); setHeader(h.getName(), h.getValue()); } } else { removeHeaders(HTTP.CONTENT_LEN); removeHeaders(HTTP.TRANSFER_ENCODING); } }
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 w w . java 2 s .co 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 www.j a v a2 s. co 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); } }