From bb03cc83aa5606173e3e578e1d8c7e93b8ba06ff Mon Sep 17 00:00:00 2001 From: Bing Zhang Date: Fri, 1 Dec 2023 10:06:03 -0600 Subject: [PATCH 1/5] take swagger-ui host from custom.conf --- app/controllers/Application.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/Application.scala b/app/controllers/Application.scala index 34cd2a0fa..292e4d01d 100644 --- a/app/controllers/Application.scala +++ b/app/controllers/Application.scala @@ -31,7 +31,12 @@ class Application @Inject()(files: FileService, collections: CollectionService, def swaggerUI = Action { implicit request => val swagger = routes.Application.swagger().absoluteURL(Utils.https(request)) - Redirect("http://clowder.ncsa.illinois.edu/swagger/?url=" + swagger) + val swaggerUIHost = play.Play.application().configuration().getString("swaggerUIHost") + if (swaggerUIHost != null) { + Redirect(swaggerUIHost) + } else { + NotFound("Could not find swagger ui host") + } } /** From 5227e242d48aa36c8915f04d8adc8bec4336a41f Mon Sep 17 00:00:00 2001 From: Bing Zhang Date: Fri, 1 Dec 2023 10:14:12 -0600 Subject: [PATCH 2/5] swagger ui host as docker env --- docker-compose.yml | 1 + docker/custom.conf | 3 +++ 2 files changed, 4 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 1e9f05fcb..8e406ba9c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -74,6 +74,7 @@ services: - S3_BUCKET=${S3_BUCKET:-clowder} - S3_ACCESS_KEY=${S3_ACCESS_KEY:-clowder} - S3_SECRET_KEY=${S3_SECRET_KEY:-catsarecute} + - SWAGGER_UI_HOST=${SWAGGER_UI_HOST:-http://localhost:8082/} labels: - "traefik.enable=true" - "traefik.backend=clowder" diff --git a/docker/custom.conf b/docker/custom.conf index 52f1fb090..576ca445b 100644 --- a/docker/custom.conf +++ b/docker/custom.conf @@ -35,6 +35,9 @@ smtp.host=${?SMTP_SERVER} smtp.from="devnull@ncsa.illinois.edu" smtp.from=${?SMTP_FROM} +# swagger-ui host +swaggerUIHost=${?SWAGGER_UI_HOST} + # storage service.byteStorage=services.filesystem.DiskByteStorageService service.byteStorage=${?CLOWDER_STORAGE} From cd1dd58933f6c6c80123f95165475b8f5d87fa98 Mon Sep 17 00:00:00 2001 From: Bing Zhang Date: Fri, 1 Dec 2023 10:52:33 -0600 Subject: [PATCH 3/5] docker compose default swagger value --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8e406ba9c..cc08ea6df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -74,7 +74,7 @@ services: - S3_BUCKET=${S3_BUCKET:-clowder} - S3_ACCESS_KEY=${S3_ACCESS_KEY:-clowder} - S3_SECRET_KEY=${S3_SECRET_KEY:-catsarecute} - - SWAGGER_UI_HOST=${SWAGGER_UI_HOST:-http://localhost:8082/} + - SWAGGER_UI_HOST=${SWAGGER_UI_HOST:-https://clowder.ncsa.illinois.edu/clowder/swagger} labels: - "traefik.enable=true" - "traefik.backend=clowder" From 88420420d27fb54c6ee8ac7814812253efbd39cc Mon Sep 17 00:00:00 2001 From: Bing Zhang Date: Fri, 1 Dec 2023 11:44:00 -0600 Subject: [PATCH 4/5] keep both ways to show swagger api doc --- app/controllers/Application.scala | 6 +++--- conf/application.conf | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/controllers/Application.scala b/app/controllers/Application.scala index 292e4d01d..2c6ef015d 100644 --- a/app/controllers/Application.scala +++ b/app/controllers/Application.scala @@ -32,10 +32,10 @@ class Application @Inject()(files: FileService, collections: CollectionService, def swaggerUI = Action { implicit request => val swagger = routes.Application.swagger().absoluteURL(Utils.https(request)) val swaggerUIHost = play.Play.application().configuration().getString("swaggerUIHost") - if (swaggerUIHost != null) { - Redirect(swaggerUIHost) + if (swaggerUIHost == null) { + Redirect("http://clowder.ncsa.illinois.edu/swagger/?url=" + swagger) } else { - NotFound("Could not find swagger ui host") + Redirect(swaggerUIHost) } } diff --git a/conf/application.conf b/conf/application.conf index 2aad1f5df..98262fa05 100644 --- a/conf/application.conf +++ b/conf/application.conf @@ -123,6 +123,11 @@ clowder.license { download=false } +# swagger api doc host +# if no setting of swaggerUIHost, it will use https://clowder.ncsa.illinois.edu/swagger to show the swagger api doc. +# otherwise, you can point `swaggerUIHost` to your swagger-ui url to show the swagger api doc. +swaggerUIHost="http://localhost:8082" + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Space related information # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 2a9cf4534b929d3869e7c89b8a43e7d0265fb203 Mon Sep 17 00:00:00 2001 From: Bing Zhang Date: Thu, 1 Feb 2024 11:25:59 -0600 Subject: [PATCH 5/5] check empty string --- app/controllers/Application.scala | 2 +- conf/application.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/Application.scala b/app/controllers/Application.scala index 2c6ef015d..d46500a42 100644 --- a/app/controllers/Application.scala +++ b/app/controllers/Application.scala @@ -32,7 +32,7 @@ class Application @Inject()(files: FileService, collections: CollectionService, def swaggerUI = Action { implicit request => val swagger = routes.Application.swagger().absoluteURL(Utils.https(request)) val swaggerUIHost = play.Play.application().configuration().getString("swaggerUIHost") - if (swaggerUIHost == null) { + if (swaggerUIHost == null || swaggerUIHost.isEmpty()) { Redirect("http://clowder.ncsa.illinois.edu/swagger/?url=" + swagger) } else { Redirect(swaggerUIHost) diff --git a/conf/application.conf b/conf/application.conf index 98262fa05..0bde8801f 100644 --- a/conf/application.conf +++ b/conf/application.conf @@ -126,7 +126,7 @@ clowder.license { # swagger api doc host # if no setting of swaggerUIHost, it will use https://clowder.ncsa.illinois.edu/swagger to show the swagger api doc. # otherwise, you can point `swaggerUIHost` to your swagger-ui url to show the swagger api doc. -swaggerUIHost="http://localhost:8082" +swaggerUIHost="" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Space related information