Skip to content
Snippets Groups Projects

Remove Micronaut filter

Merged Clayton, Brandon Scott requested to merge (removed):swagger into master
1 file
+ 0
44
Compare changes
  • Side-by-side
  • Inline
package gov.usgs.earthquake.nshmp.internal.www;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import org.reactivestreams.Publisher;
import io.micronaut.context.annotation.Requires;
import io.micronaut.context.annotation.Value;
import io.micronaut.core.async.publisher.Publishers;
import io.micronaut.http.HttpMethod;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MutableHttpResponse;
import io.micronaut.http.annotation.Filter;
import io.micronaut.http.cookie.Cookie;
import io.micronaut.http.filter.HttpServerFilter;
import io.micronaut.http.filter.ServerFilterChain;
/**
* Filter to allow Swagger view to work with context path.
*
* @see {@link https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html}
*/
@Requires(property = "micronaut.server.context-path")
@Filter(methods = { HttpMethod.GET, HttpMethod.HEAD },
patterns = { "/**" })
public class OpenApiViewFilter implements HttpServerFilter {
private final Cookie contextPathCookie;
OpenApiViewFilter(@Value("${micronaut.server.context-path}") String contextPath) {
contextPathCookie = Cookie.of(
"contextPath",
URLEncoder.encode(contextPath, StandardCharsets.UTF_8) + ";max-age=2;samesite");
}
@Override
public Publisher<MutableHttpResponse<?>> doFilter(
HttpRequest<?> request,
ServerFilterChain chain) {
return Publishers.map(chain.proceed(request), response -> response.cookie(contextPathCookie));
}
}
Loading