You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by du...@apache.org on 2016/05/28 18:29:21 UTC
svn commit: r1745915 -
/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
Author: dushan
Date: Sat May 28 18:29:21 2016
New Revision: 1745915
URL: http://svn.apache.org/viewvc?rev=1745915&view=rev
Log:
erge fix https://issues.apache.org/jira/browse/SYNAPSE-850
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java?rev=1745915&r1=1745914&r2=1745915&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerHandler.java Sat May 28 18:29:21 2016
@@ -29,6 +29,7 @@ import org.apache.http.entity.BasicHttpE
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.DefaultConnectionReuseStrategy;
import org.apache.http.impl.DefaultHttpResponseFactory;
+import org.apache.http.message.BasicHttpResponse;
import org.apache.http.nio.*;
import org.apache.http.nio.util.HeapByteBufferAllocator;
import org.apache.http.nio.util.ContentOutputBuffer;
@@ -205,6 +206,17 @@ public class ServerHandler implements NH
int priority = parser.parse(evaluatorContext);
executor.execute(worker, priority);
}
+
+ // See if the client expects a 100-Continue
+ Header expect = request.getFirstHeader(HTTP.EXPECT_DIRECTIVE);
+ if (expect != null && HTTP.EXPECT_CONTINUE.equalsIgnoreCase(expect.getValue())) {
+ HttpResponse ack = new BasicHttpResponse(request.getProtocolVersion(), HttpStatus.SC_CONTINUE, "Continue");
+ conn.submitResponse(ack);
+ if (log.isDebugEnabled()) {
+ log.debug("Expect :100 Continue hit sending ack back to the server");
+ }
+ return;
+ }
} catch (Exception e) {
if (metrics != null) {