List of usage examples for org.apache.http.entity ContentLengthStrategy CHUNKED
int CHUNKED
To view the source code for org.apache.http.entity ContentLengthStrategy CHUNKED.
Click Source Link
From source file:org.apache.axis2.transport.http.server.AxisHttpConnectionImpl.java
public HttpRequest receiveRequest() throws HttpException, IOException { HttpRequest request = (HttpRequest) this.requestParser.parse(); if (HEADERLOG.isDebugEnabled()) { HEADERLOG.debug(">> " + request.getRequestLine().toString()); for (HeaderIterator it = request.headerIterator(); it.hasNext();) { HEADERLOG.debug(">> " + it.nextHeader().toString()); }// ww w. j a v a2s . c o m } // Prepare input stream this.in = null; if (request instanceof HttpEntityEnclosingRequest) { long len = this.contentLenStrategy.determineLength(request); if (len == ContentLengthStrategy.CHUNKED) { this.in = new ChunkedInputStream(this.inbuffer); } else if (len == ContentLengthStrategy.IDENTITY) { this.in = new IdentityInputStream(this.inbuffer); } else { this.in = new ContentLengthInputStream(inbuffer, len); } } return request; }
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.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 (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 va2 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:org.mycard.net.network.AndroidHttpClientConnection.java
/*** * Return the next response entity.// ww w .j a v a2s . c om * @param headers contains values for parsing entity * @see HttpClientConnection#receiveResponseEntity(HttpResponse response) */ public HttpEntity receiveResponseEntity(final Headers headers) { assertOpen(); BasicHttpEntity entity = new BasicHttpEntity(); long len = determineLength(headers); if (len == ContentLengthStrategy.CHUNKED) { entity.setChunked(true); entity.setContentLength(-1); entity.setContent(new ChunkedInputStream(inbuffer)); } else if (len == ContentLengthStrategy.IDENTITY) { entity.setChunked(false); entity.setContentLength(-1); entity.setContent(new IdentityInputStream(inbuffer)); } else { entity.setChunked(false); entity.setContentLength(len); entity.setContent(new ContentLengthInputStream(inbuffer, len)); } String contentTypeHeader = headers.getContentType(); if (contentTypeHeader != null) { entity.setContentType(contentTypeHeader); } String contentEncodingHeader = headers.getContentEncoding(); if (contentEncodingHeader != null) { entity.setContentEncoding(contentEncodingHeader); } return entity; }