Class RequestValidator
- java.lang.Object
-
- com.github.fmjsjx.libnetty.http.server.middleware.RequestValidator
-
- All Implemented Interfaces:
Middleware,java.util.function.BiFunction<HttpRequestContext,MiddlewareChain,java.util.concurrent.CompletionStage<HttpResult>>
public abstract class RequestValidator extends java.lang.Object implements Middleware
AMiddlewarevalidates HTTP requests.- Since:
- 1.2
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRequestValidator()protectedRequestValidator(io.netty.handler.codec.http.HttpResponseStatus failureStatus)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.concurrent.CompletionStage<HttpResult>apply(HttpRequestContext ctx, MiddlewareChain next)Apply thisMiddlewareto the givenHttpRequestContext.io.netty.handler.codec.http.HttpResponseStatusfailureStatus()Returns the status when validation failed.static RequestValidatorsimple(java.util.function.Predicate<HttpRequestContext> validation)Returns a newRequestValidatorinstance using the specified validation function.static RequestValidatorsimple(java.util.function.Predicate<HttpRequestContext> validation, io.netty.handler.codec.http.HttpResponseStatus failureStatus)Returns a newRequestValidatorinstance using the specified validation function.protected abstract booleanvalidate(HttpRequestContext ctx)Validate theHttpRequestContext.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.fmjsjx.libnetty.http.server.middleware.Middleware
close, onServerClosed
-
-
-
-
Method Detail
-
simple
public static final RequestValidator simple(java.util.function.Predicate<HttpRequestContext> validation)
Returns a newRequestValidatorinstance using the specified validation function.- Parameters:
validation- the validation function- Returns:
- a
RequestValidatorinstance
-
simple
public static final RequestValidator simple(java.util.function.Predicate<HttpRequestContext> validation, io.netty.handler.codec.http.HttpResponseStatus failureStatus)
Returns a newRequestValidatorinstance using the specified validation function.- Parameters:
validation- the validation functionfailureStatus- the failure status- Returns:
- a
RequestValidatorinstance
-
failureStatus
public final io.netty.handler.codec.http.HttpResponseStatus failureStatus()
Returns the status when validation failed.- Returns:
- the status when validation failed
-
apply
public java.util.concurrent.CompletionStage<HttpResult> apply(HttpRequestContext ctx, MiddlewareChain next)
Description copied from interface:MiddlewareApply thisMiddlewareto the givenHttpRequestContext.- Specified by:
applyin interfacejava.util.function.BiFunction<HttpRequestContext,MiddlewareChain,java.util.concurrent.CompletionStage<HttpResult>>- Specified by:
applyin interfaceMiddleware- Parameters:
ctx- theHttpRequestContextobject of the current HTTP requestnext- theMiddlewareChainfor invoking the nextMiddleware- Returns:
- a
CompletionStage<HttpResult>
-
validate
protected abstract boolean validate(HttpRequestContext ctx)
Validate theHttpRequestContext.Returns
trueif the context is valid,falseotherwise.- Parameters:
ctx- the HTTP request context- Returns:
trueif the context is valid,falseotherwise
-
-