Package io.micronaut.http.server.cors
Class CorsFilter
- java.lang.Object
-
- io.micronaut.http.server.cors.CorsFilter
-
- All Implemented Interfaces:
io.micronaut.core.order.Ordered,io.micronaut.http.filter.HttpFilter,io.micronaut.http.filter.HttpServerFilter
@Filter("/**") public class CorsFilter extends java.lang.Object implements io.micronaut.http.filter.HttpServerFilterResponsible for handling CORS requests and responses.- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description protected HttpServerConfiguration.CorsConfigurationcorsConfiguration
-
Constructor Summary
Constructors Constructor Description CorsFilter(HttpServerConfiguration.CorsConfiguration corsConfiguration)CorsFilter(HttpServerConfiguration.CorsConfiguration corsConfiguration, HttpHostResolver httpHostResolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>>doFilter(io.micronaut.http.HttpRequest<?> request, io.micronaut.http.filter.ServerFilterChain chain)intgetOrder()protected java.util.Optional<io.micronaut.http.MutableHttpResponse<?>>handleRequest(io.micronaut.http.HttpRequest request)Deprecated.Not used any more.protected voidhandleResponse(io.micronaut.http.HttpRequest<?> request, io.micronaut.http.MutableHttpResponse<?> response)Deprecated.not usedprotected voidsetAllowCredentials(CorsOriginConfiguration config, io.micronaut.http.MutableHttpResponse<?> response)protected voidsetAllowHeaders(java.util.List<?> optionalAllowHeaders, io.micronaut.http.MutableHttpResponse<?> response)protected voidsetAllowMethods(io.micronaut.http.HttpMethod method, io.micronaut.http.MutableHttpResponse<?> response)protected voidsetExposeHeaders(java.util.List<java.lang.String> exposedHeaders, io.micronaut.http.MutableHttpResponse<?> response)protected voidsetMaxAge(long maxAge, io.micronaut.http.MutableHttpResponse<?> response)protected voidsetOrigin(java.lang.String origin, io.micronaut.http.MutableHttpResponse<?> response)protected voidsetVary(io.micronaut.http.MutableHttpResponse<?> response)protected booleanshouldDenyToPreventDriveByLocalhostAttack(CorsOriginConfiguration corsOriginConfiguration, io.micronaut.http.HttpRequest<?> request)protected booleanshouldDenyToPreventDriveByLocalhostAttack(java.lang.String origin, io.micronaut.http.HttpRequest<?> request)
-
-
-
Field Detail
-
corsConfiguration
protected final HttpServerConfiguration.CorsConfiguration corsConfiguration
-
-
Constructor Detail
-
CorsFilter
@Inject public CorsFilter(HttpServerConfiguration.CorsConfiguration corsConfiguration, @Nullable HttpHostResolver httpHostResolver)
- Parameters:
corsConfiguration- TheCorsOriginConfigurationinstancehttpHostResolver- HTTP Host resolver
-
CorsFilter
@Deprecated public CorsFilter(HttpServerConfiguration.CorsConfiguration corsConfiguration)
Deprecated.- Parameters:
corsConfiguration- TheCorsOriginConfigurationinstance
-
-
Method Detail
-
doFilter
public org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>> doFilter(io.micronaut.http.HttpRequest<?> request, io.micronaut.http.filter.ServerFilterChain chain)- Specified by:
doFilterin interfaceio.micronaut.http.filter.HttpServerFilter
-
shouldDenyToPreventDriveByLocalhostAttack
protected boolean shouldDenyToPreventDriveByLocalhostAttack(@NonNull CorsOriginConfiguration corsOriginConfiguration, @NonNull io.micronaut.http.HttpRequest<?> request)- Parameters:
corsOriginConfiguration- CORS Origin configuration for request's HTTP Header origin.request- HTTP Request- Returns:
- true if the resolved host is localhost or 127.0.0.1 address and the CORS configuration has any for allowed origins.
-
shouldDenyToPreventDriveByLocalhostAttack
protected boolean shouldDenyToPreventDriveByLocalhostAttack(@NonNull java.lang.String origin, @NonNull io.micronaut.http.HttpRequest<?> request)- Parameters:
origin- HTTP HeaderHttpHeaders.ORIGINvalue.request- HTTP Request- Returns:
- true if the resolved host is localhost or 127.0.0.1 and origin is not one of these then deny it.
-
getOrder
public int getOrder()
- Specified by:
getOrderin interfaceio.micronaut.core.order.Ordered
-
handleResponse
@Deprecated protected void handleResponse(io.micronaut.http.HttpRequest<?> request, io.micronaut.http.MutableHttpResponse<?> response)Deprecated.not usedHandles a CORS response.- Parameters:
request- TheHttpRequestobjectresponse- TheMutableHttpResponseobject
-
handleRequest
@Deprecated protected java.util.Optional<io.micronaut.http.MutableHttpResponse<?>> handleRequest(io.micronaut.http.HttpRequest request)
Deprecated.Not used any more.Handles a CORSHttpRequest.- Parameters:
request- TheHttpRequestobject- Returns:
- An optional
MutableHttpResponse. The request should proceed normally if empty
-
setAllowCredentials
protected void setAllowCredentials(CorsOriginConfiguration config, io.micronaut.http.MutableHttpResponse<?> response)
- Parameters:
config- TheCorsOriginConfigurationinstanceresponse- TheMutableHttpResponseobject
-
setExposeHeaders
protected void setExposeHeaders(java.util.List<java.lang.String> exposedHeaders, io.micronaut.http.MutableHttpResponse<?> response)- Parameters:
exposedHeaders- A list of the exposed headersresponse- TheMutableHttpResponseobject
-
setVary
protected void setVary(io.micronaut.http.MutableHttpResponse<?> response)
- Parameters:
response- TheMutableHttpResponseobject
-
setOrigin
protected void setOrigin(@Nullable java.lang.String origin, @NonNull io.micronaut.http.MutableHttpResponse<?> response)- Parameters:
origin- The originresponse- TheMutableHttpResponseobject
-
setAllowMethods
protected void setAllowMethods(io.micronaut.http.HttpMethod method, io.micronaut.http.MutableHttpResponse<?> response)- Parameters:
method- TheHttpMethodobjectresponse- TheMutableHttpResponseobject
-
setAllowHeaders
protected void setAllowHeaders(java.util.List<?> optionalAllowHeaders, io.micronaut.http.MutableHttpResponse<?> response)- Parameters:
optionalAllowHeaders- A list with optional allow headersresponse- TheMutableHttpResponseobject
-
setMaxAge
protected void setMaxAge(long maxAge, io.micronaut.http.MutableHttpResponse<?> response)- Parameters:
maxAge- The max ageresponse- TheMutableHttpResponseobject
-
-