Skip to content
Snippets Groups Projects
Commit 4d66ede5 authored by Clayton, Brandon Scott's avatar Clayton, Brandon Scott
Browse files

handle swagger

parent d49e70b4
No related branches found
No related tags found
1 merge request!223Lambda
......@@ -9,6 +9,7 @@ import java.util.Optional;
import org.apache.commons.io.IOUtils;
import io.micronaut.core.io.scan.ClassPathResourceLoader;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
......@@ -16,6 +17,7 @@ import io.micronaut.http.annotation.PathVariable;
import io.micronaut.http.annotation.Produces;
import io.swagger.v3.oas.annotations.Hidden;
import jakarta.annotation.Nullable;
import jakarta.inject.Inject;
/**
* Handle Swagger static resources.
......@@ -26,6 +28,7 @@ import jakarta.annotation.Nullable;
MediaType.APPLICATION_YAML,
MediaType.TEXT_HTML,
MediaType.IMAGE_PNG,
MediaType.TEXT_PLAIN,
"font/woff",
"font/woff2",
"font/ttf",
......@@ -41,16 +44,29 @@ public class SwaggerUIController {
this.loader = loader;
}
@Inject
private NshmpMicronautServlet servlet;
@Get("{/path:.*}{.ext:png}")
@Produces(MediaType.IMAGE_PNG)
@Produces("image/png; charset=utf-8")
@Hidden
public byte[] getSwaggerUiImage(
public byte[] getSwaggerPngImages(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
Optional<URL> resource = loader.getResource(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
return IOUtils.toByteArray(resource.orElseThrow().openStream());
}
@Get("{/path:.*}{.ext:b4}")
@Produces(MediaType.TEXT_PLAIN)
@Hidden
public HttpResponse<String> getSwaggerBase64Images(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return HttpResponse.ok(getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext))
.contentType(MediaType.TEXT_PLAIN);
}
@Get("{/path:.*}{.ext:css|js}")
@Produces({ "text/css", "text/javascript" })
@Hidden
......@@ -69,8 +85,17 @@ public class SwaggerUIController {
return getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
}
@Get("{/path:.*}{.ext:woff|woff2|ttf}")
@Produces({ "font/woff", "font/woff2", "font/ttf" })
@Get("{/path:.*}{.ext:eot}")
@Produces("application/vnd.ms-fontobject")
@Hidden
public String getSwaggerEotFont(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
}
@Get("{/path:.*}{.ext:woff|woff2|ttf|otf}")
@Produces("font/*")
@Hidden
public String getSwaggerFont(
@PathVariable @Nullable String path,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment