You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Hiranya Jayathilaka <hi...@gmail.com> on 2009/10/26 16:35:38 UTC
Re: svn commit: r829808 - in /synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp:
HttpCoreNIOSender.java ServerHandler.java
This should also go into our trunk, right? Am I missing anything? Please
ignore this mail if the commit has already gone into the trunk.
Thanks,
Hiranya
On Mon, Oct 26, 2009 at 7:40 PM, <as...@apache.org> wrote:
> Author: asankha
> Date: Mon Oct 26 14:10:38 2009
> New Revision: 829808
>
> URL: http://svn.apache.org/viewvc?rev=829808&view=rev
> Log:
> fix for SYNAPSE-231
>
> Modified:
>
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
>
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
>
> Modified:
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
> URL:
> http://svn.apache.org/viewvc/synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java?rev=829808&r1=829807&r2=829808&view=diff
>
> ==============================================================================
> ---
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
> (original)
> +++
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
> Mon Oct 26 14:10:38 2009
> @@ -327,6 +327,7 @@
> if (HTTP.CONN_DIRECTIVE.equalsIgnoreCase(headerName) ||
> HTTP.TRANSFER_ENCODING.equalsIgnoreCase(headerName) ||
> HTTP.DATE_HEADER.equalsIgnoreCase(headerName) ||
> + HTTP.EXPECT_DIRECTIVE.equalsIgnoreCase(headerName) ||
> HTTP.SERVER_HEADER.equalsIgnoreCase(headerName) ||
> HTTP.CONTENT_TYPE.equalsIgnoreCase(headerName) ||
> HTTP.CONTENT_LEN.equalsIgnoreCase(headerName) ||
>
> Modified:
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
> URL:
> http://svn.apache.org/viewvc/synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java?rev=829808&r1=829807&r2=829808&view=diff
>
> ==============================================================================
> ---
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
> (original)
> +++
> synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
> Mon Oct 26 14:10:38 2009
> @@ -20,8 +20,10 @@
>
> import org.apache.axis2.context.ConfigurationContext;
> import org.apache.axis2.transport.base.MetricsCollector;
> -import org.apache.axis2.transport.base.threads.WorkerPoolFactory;
> import org.apache.axis2.transport.base.threads.WorkerPool;
> +import org.apache.axis2.transport.base.threads.WorkerPoolFactory;
> +import org.apache.commons.logging.Log;
> +import org.apache.commons.logging.LogFactory;
> import org.apache.http.*;
> import org.apache.http.entity.BasicHttpEntity;
> import org.apache.http.entity.ByteArrayEntity;
> @@ -31,19 +33,13 @@
> import org.apache.http.nio.ContentEncoder;
> import org.apache.http.nio.NHttpServerConnection;
> import org.apache.http.nio.NHttpServiceHandler;
> -import org.apache.http.nio.util.ByteBufferAllocator;
> -import org.apache.http.nio.util.HeapByteBufferAllocator;
> -import org.apache.http.nio.util.ContentOutputBuffer;
> -import org.apache.http.nio.util.ContentInputBuffer;
> -import org.apache.http.nio.util.SharedInputBuffer;
> -import org.apache.http.nio.util.SharedOutputBuffer;
> import org.apache.http.nio.entity.ContentInputStream;
> import org.apache.http.nio.entity.ContentOutputStream;
> +import org.apache.http.nio.util.*;
> +import org.apache.http.params.DefaultedHttpParams;
> import org.apache.http.params.HttpParams;
> import org.apache.http.protocol.*;
> import org.apache.http.util.EncodingUtils;
> -import org.apache.commons.logging.Log;
> -import org.apache.commons.logging.LogFactory;
>
> import java.io.IOException;
> import java.io.InputStream;
> @@ -113,6 +109,35 @@
>
> HttpContext context = conn.getContext();
> HttpRequest request = conn.getHttpRequest();
> +
> + ProtocolVersion ver =
> request.getRequestLine().getProtocolVersion();
> + if (!ver.lessEquals(HttpVersion.HTTP_1_1)) {
> + // Downgrade protocol version if greater than HTTP/1.1
> + ver = HttpVersion.HTTP_1_1;
> + }
> +
> + if (request instanceof HttpEntityEnclosingRequest) {
> + if (((HttpEntityEnclosingRequest) request).expectContinue()) {
> +
> + HttpResponse response =
> responseFactory.newHttpResponse(ver, HttpStatus.SC_CONTINUE, context);
> + response.setParams(new
> DefaultedHttpParams(response.getParams(), this.params));
> +
> + if (response.getStatusLine().getStatusCode() < 200) {
> + // Send 1xx response indicating the server expections
> + // have been met
> + try {
> + conn.submitResponse(response);
> + } catch (Exception e) {
> + if (metrics != null) {
> + metrics.incrementFaultsReceiving();
> + }
> + handleException("Error processing request received
> for expectation continue request : " +
> + request.getRequestLine().getUri(), e, conn);
> + }
> + }
> + }
> + }
> +
> context.setAttribute(ExecutionContext.HTTP_REQUEST, request);
>
> try {
>
>
>
--
Hiranya Jayathilaka
Software Engineer;
WSO2 Inc.; http://wso2.org
E-mail: hiranya@wso2.com; Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com
Re: svn commit: r829808 - in /synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp:
HttpCoreNIOSender.java ServerHandler.java
Posted by "Asankha C. Perera" <as...@apache.org>.
Hi Hiranya
> This should also go into our trunk, right? Am I missing anything?
> Please ignore this mail if the commit has already gone into the trunk.
Usually we merge back the branch into trunk.. thats easier than
committing each change to two locations..
cheers
asankha
--
Asankha C. Perera
AdroitLogic, http://adroitlogic.org
http://esbmagic.blogspot.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org