From f65d824281d122d471ce4a5e3d5e3f2960aa50eb Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 20 Mar 2013 17:12:17 +0000
Subject: [PATCH] OPENDJ-808 Implement a simple commons REST based HTTP connection handler

---
 opends/ivy.xml                                                                |   10 +++++++---
 opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java |   18 ++++++++++--------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/opends/ivy.xml b/opends/ivy.xml
index aa1f081..5326a2e 100644
--- a/opends/ivy.xml
+++ b/opends/ivy.xml
@@ -26,7 +26,7 @@
  !      Copyright 2013 ForgeRock AS
  ! -->
 <!DOCTYPE ivy-module [
-    <!ENTITY grizzly.version "2.2.19">
+    <!ENTITY grizzly.version "2.3-rc6">
 ]>
 <ivy-module version="2.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -34,10 +34,13 @@
   <info organisation="org.forgerock" module="opendj"/>
   <dependencies>
     <dependency org="javax.mail"            name="mail"                     rev="1.4.5" />
+    <!-- subsequent versions are not compatible with java 6, so force to use this version only -->
+    <dependency org="javax.servlet"         name="javax.servlet-api"        rev="[3.1-b02]" />
     <dependency org="com.sleepycat"         name="je"                       rev="5.0.48" />
     <!--dependency org="org.forgerock.opendj"  name="opendj-rest2ldap-servlet" rev="3.0.0-SNAPSHOT" /-->
-    <dependency org="org.glassfish.grizzly" name="grizzly-http-servlet"     rev="&grizzly.version;" />
-    <dependency org="javax.servlet"         name="javax.servlet-api"        rev="3.0.1" />
+    <dependency org="org.glassfish.grizzly" name="grizzly-http-servlet"     rev="&grizzly.version;">
+      <exclude module="javax.servlet-api" />
+    </dependency>
 
     <!-- Force download of the sources jar -->
     <!--
@@ -48,3 +51,4 @@
     <exclude org="javax.activation"         artifact="activation" />
   </dependencies>
 </ivy-module>
+
diff --git a/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java b/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
index 4a072d0..892b866 100644
--- a/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
+++ b/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
@@ -43,10 +43,12 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.TimeUnit;
 
 import javax.net.ssl.KeyManager;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLEngine;
+import javax.servlet.DispatcherType;
 import javax.servlet.Filter;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -55,8 +57,8 @@
 
 import org.glassfish.grizzly.http.server.HttpServer;
 import org.glassfish.grizzly.http.server.NetworkListener;
+import org.glassfish.grizzly.http.server.ServerConfiguration;
 import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
-import org.glassfish.grizzly.servlet.DispatcherType;
 import org.glassfish.grizzly.servlet.FilterRegistration;
 import org.glassfish.grizzly.servlet.ServletRegistration;
 import org.glassfish.grizzly.servlet.WebappContext;
@@ -690,11 +692,11 @@
     this.httpServer =
         HttpServer.createSimpleServer("./", initConfig.getListenPort());
 
-    // int requestSize = (int) currentConfig.getMaxRequestSize();
-    // final ServerConfiguration serverConfig =
-    //     this.httpServer.getServerConfiguration();
-    // serverConfig.setMaxBufferedPostSize(requestSize);
-    // serverConfig.setMaxFormPostSize(requestSize);
+    int requestSize = (int) currentConfig.getMaxRequestSize();
+    final ServerConfiguration serverConfig =
+        this.httpServer.getServerConfiguration();
+    serverConfig.setMaxBufferedPostSize(requestSize);
+    serverConfig.setMaxFormPostSize(requestSize);
 
     try
     {
@@ -704,8 +706,8 @@
         transport.setReuseAddress(currentConfig.isAllowTCPReuseAddress());
         transport.setKeepAlive(currentConfig.isUseTCPKeepAlive());
         transport.setTcpNoDelay(currentConfig.isUseTCPNoDelay());
-        // transport.setWriteTimeout(currentConfig
-        //     .getMaxBlockedWriteTimeLimit(), TimeUnit.MILLISECONDS);
+        transport.setWriteTimeout(currentConfig.getMaxBlockedWriteTimeLimit(),
+            TimeUnit.MILLISECONDS);
 
         int bufferSize = (int) currentConfig.getBufferSize();
         transport.setReadBufferSize(bufferSize);

--
Gitblit v1.10.0