From f38ae1391a42405f80b3e15bcaa2354f5b94994e Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 23 Sep 2016 12:57:59 +0000
Subject: [PATCH] OPENDJ-3332 Rest2ldap: return the OpenAPI descriptors over REST
---
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java | 2 ++
opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/Rest2LdapEndpoint.java | 6 +++++-
opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java | 5 ++++-
opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPConnectionHandler.java | 4 ++--
4 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java
index 2afe7d0..2f414c7 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java
@@ -64,6 +64,7 @@
import org.forgerock.http.handler.HttpClientHandler;
import org.forgerock.http.io.Buffer;
import org.forgerock.http.protocol.Headers;
+import org.forgerock.http.swagger.OpenApiRequestFilter;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizedIllegalArgumentException;
import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -218,6 +219,7 @@
configureConnectionFactories(config.get("ldapConnectionFactories"));
final Filter authorizationFilter = buildAuthorizationFilter(config.get("authorization").required());
return chainOf(newHttpHandler(configureRest2Ldap(configDirectory)),
+ new OpenApiRequestFilter(),
new ErrorLoggerFilter(),
authorizationFilter);
} catch (final Exception e) {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPConnectionHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPConnectionHandler.java
index 9efb145..a50fc4d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPConnectionHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPConnectionHandler.java
@@ -15,11 +15,11 @@
*/
package org.opends.server.protocols.http;
+import static org.forgerock.http.grizzly.GrizzlySupport.newGrizzlyHttpHandler;
import static org.opends.messages.ConfigMessages.*;
import static org.opends.messages.ProtocolMessages.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import static org.forgerock.http.grizzly.GrizzlySupport.newGrizzlyHttpHandler;
import java.io.IOException;
import java.net.InetAddress;
@@ -943,7 +943,7 @@
public ApiProducer<Swagger> getApiProducer()
{
// Needed to enforce generation of CREST APIs
- return new SwaggerApiProducer(null, null, null);
+ return new SwaggerApiProducer(null);
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java
index 96093f7..ac39957 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java
@@ -15,6 +15,7 @@
*/
package org.opends.server.protocols.http.rest2ldap;
+import static org.forgerock.http.handler.Handlers.chainOf;
import static org.forgerock.http.routing.RouteMatchers.newResourceApiVersionBehaviourManager;
import static org.forgerock.http.routing.Version.version;
import static org.forgerock.json.resource.RouteMatchers.resourceApiVersionContextFilter;
@@ -39,6 +40,7 @@
import org.forgerock.http.io.Buffer;
import org.forgerock.http.routing.ResourceApiVersionBehaviourManager;
import org.forgerock.http.routing.Version;
+import org.forgerock.http.swagger.OpenApiRequestFilter;
import org.forgerock.json.JsonPointer;
import org.forgerock.json.resource.BadRequestException;
import org.forgerock.json.resource.ConnectionFactory;
@@ -125,7 +127,8 @@
@Override
public Handler start() throws HttpApplicationException
{
- return newHttpHandler(startRequestHandler());
+ return chainOf(newHttpHandler(startRequestHandler()),
+ new OpenApiRequestFilter());
}
FilterChain startRequestHandler() throws HttpApplicationException
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/Rest2LdapEndpoint.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/Rest2LdapEndpoint.java
index 4334233..dff2422 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/Rest2LdapEndpoint.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/Rest2LdapEndpoint.java
@@ -15,6 +15,7 @@
*/
package org.opends.server.protocols.http.rest2ldap;
+import static org.forgerock.http.handler.Handlers.chainOf;
import static org.forgerock.opendj.rest2ldap.Rest2LdapJsonConfigurator.configureEndpoint;
import static org.forgerock.util.Options.defaultOptions;
import static org.opends.messages.ConfigMessages.ERR_CONFIG_REST2LDAP_INVALID;
@@ -30,6 +31,7 @@
import org.forgerock.http.HttpApplication;
import org.forgerock.http.HttpApplicationException;
import org.forgerock.http.io.Buffer;
+import org.forgerock.http.swagger.OpenApiRequestFilter;
import org.forgerock.json.JsonValueException;
import org.forgerock.json.resource.CrestApplication;
import org.forgerock.json.resource.RequestHandler;
@@ -81,7 +83,9 @@
final File endpointConfig = getFileForPath(configuration.getConfigDirectory(), serverContext);
try
{
- return newHttpHandler(configureEndpoint(endpointConfig, defaultOptions()));
+ return chainOf(
+ newHttpHandler(configureEndpoint(endpointConfig, defaultOptions())),
+ new OpenApiRequestFilter());
}
catch (IOException e)
{
--
Gitblit v1.10.0