diff --git a/src/main/java/org/qora/api/ApiService.java b/src/main/java/org/qora/api/ApiService.java index d0a3f0e7..9f7f2cf0 100644 --- a/src/main/java/org/qora/api/ApiService.java +++ b/src/main/java/org/qora/api/ApiService.java @@ -99,16 +99,18 @@ public class ApiService { apiServlet.setInitOrder(1); context.addServlet(apiServlet, "/*"); - // Swagger-UI static content - ClassLoader loader = this.getClass().getClassLoader(); - ServletHolder swaggerUIServlet = new ServletHolder("static-swagger-ui", DefaultServlet.class); - swaggerUIServlet.setInitParameter("resourceBase", loader.getResource("resources/swagger-ui/").toString()); - swaggerUIServlet.setInitParameter("dirAllowed", "true"); - swaggerUIServlet.setInitParameter("pathInfoOnly", "true"); - context.addServlet(swaggerUIServlet, "/api-documentation/*"); + if (Settings.getInstance().isApiDocumentationEnabled()) { + // Swagger-UI static content + ClassLoader loader = this.getClass().getClassLoader(); + ServletHolder swaggerUIServlet = new ServletHolder("static-swagger-ui", DefaultServlet.class); + swaggerUIServlet.setInitParameter("resourceBase", loader.getResource("resources/swagger-ui/").toString()); + swaggerUIServlet.setInitParameter("dirAllowed", "true"); + swaggerUIServlet.setInitParameter("pathInfoOnly", "true"); + context.addServlet(swaggerUIServlet, "/api-documentation/*"); - rewriteHandler.addRule(new RedirectPatternRule("", "/api-documentation/")); // redirect to Swagger UI start page - rewriteHandler.addRule(new RedirectPatternRule("/api-documentation", "/api-documentation/")); // redirect to Swagger UI start page + rewriteHandler.addRule(new RedirectPatternRule("", "/api-documentation/")); // redirect to Swagger UI start page + rewriteHandler.addRule(new RedirectPatternRule("/api-documentation", "/api-documentation/")); // redirect to Swagger UI start page + } // Start server this.server.start(); diff --git a/src/main/java/org/qora/settings/Settings.java b/src/main/java/org/qora/settings/Settings.java index f692b966..95448385 100644 --- a/src/main/java/org/qora/settings/Settings.java +++ b/src/main/java/org/qora/settings/Settings.java @@ -61,6 +61,7 @@ public class Settings { }; private Boolean apiRestricted; private boolean apiLoggingEnabled = false; + private boolean apiDocumentationEnabled = false; // Specific to this node private boolean wipeUnconfirmedOnStart = false; @@ -286,6 +287,10 @@ public class Settings { return this.apiLoggingEnabled; } + public boolean isApiDocumentationEnabled() { + return this.apiDocumentationEnabled; + } + public boolean getWipeUnconfirmedOnStart() { return this.wipeUnconfirmedOnStart; }