mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
20.12.2013 f65d824281d122d471ce4a5e3d5e3f2960aa50eb
OPENDJ-808 Implement a simple commons REST based HTTP connection handler

Fixed the issues identified with r8615.

ivy.xml:
Use the latest of Grizzly.
Use very specifically javax.servlet-api 3.1-b02 to ensure compatibility with java 6.

HTTPConnectionHandler.java:
Uncommented all the code that I previously commented to allow code to compile on Jenkins.
2 files modified
28 ■■■■■ changed files
opends/ivy.xml 10 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java 18 ●●●●● patch | view | raw | blame | history
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>
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);