Package io.micronaut.function.aws.proxy
Class ApiGatewayServletRequest<T,REQ,RES>
java.lang.Object
io.micronaut.function.aws.proxy.ApiGatewayServletRequest<T,REQ,RES>
- Type Parameters:
T- The body typeREQ- The request event typeRES- The response event type
- All Implemented Interfaces:
io.micronaut.core.attr.AttributeHolder,io.micronaut.core.attr.MutableAttributeHolder,io.micronaut.core.convert.ConversionServiceAware,io.micronaut.http.FullHttpRequest<T>,io.micronaut.http.HttpMessage<T>,io.micronaut.http.HttpRequest<T>,io.micronaut.http.MutableHttpMessage<T>,io.micronaut.http.MutableHttpRequest<T>,io.micronaut.http.ServerHttpRequest<T>,io.micronaut.servlet.http.MutableServletHttpRequest<REQ,,T> io.micronaut.servlet.http.ParsedBodyHolder<T>,io.micronaut.servlet.http.ServletExchange<REQ,,RES> io.micronaut.servlet.http.ServletHttpRequest<REQ,,T> Closeable,AutoCloseable
- Direct Known Subclasses:
ApiGatewayProxyServletRequest,APIGatewayV2HTTPEventServletRequest,ApplicationLoadBalancerServletRequest
@Internal
public abstract class ApiGatewayServletRequest<T,REQ,RES>
extends Object
implements io.micronaut.servlet.http.MutableServletHttpRequest<REQ,T>, io.micronaut.servlet.http.ServletExchange<REQ,RES>, io.micronaut.http.FullHttpRequest<T>, io.micronaut.servlet.http.ParsedBodyHolder<T>, io.micronaut.http.ServerHttpRequest<T>
Base class for all the versions of the Gateway events.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface io.micronaut.servlet.http.ServletHttpRequest
io.micronaut.servlet.http.ServletHttpRequest.AsyncExecution, io.micronaut.servlet.http.ServletHttpRequest.AsyncExecutionCallback -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected io.micronaut.core.convert.ConversionServiceprotected final REQFields inherited from interface io.micronaut.http.HttpRequest
SCHEME_HTTP, SCHEME_HTTPS -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedApiGatewayServletRequest(io.micronaut.core.convert.ConversionService conversionService, REQ request, URI uri, io.micronaut.http.HttpMethod httpMethod, org.slf4j.Logger log, io.micronaut.servlet.http.BodyBuilder bodyBuilder) -
Method Summary
Modifier and TypeMethodDescription<B> io.micronaut.http.MutableHttpRequest<B>body(B body) @Nullable io.micronaut.core.execution.ExecutionFlow<io.micronaut.core.io.buffer.ByteBuffer<?>>protected static URIbuildUri(@Nullable String path, @Nullable Map<String, String> queryParameters, @Nullable Map<String, List<String>> multiQueryParameters) Given a path and the query params from the event, build a URI.@NonNull io.micronaut.http.body.ByteBodybyteBody()@Nullable io.micronaut.core.io.buffer.ByteBuffer<?>contents()io.micronaut.http.MutableHttpRequest<T>cookie(io.micronaut.http.cookie.Cookie cookie) io.micronaut.core.convert.value.MutableConvertibleValues<Object>getBody()<B> @NonNull Optional<B>getBody(io.micronaut.core.type.Argument<B> arg) abstract byte[]protected byte[]getBodyBytes(@NonNull Supplier<String> bodySupplier, @NonNull BooleanSupplier base64EncodedSupplier) @NonNull io.micronaut.http.cookie.Cookiesprotected @NonNull io.micronaut.http.MutableHttpHeadersgetHeaders(@NonNull Supplier<Map<String, String>> singleHeaders, @NonNull Supplier<Map<String, List<String>>> multiValueHeaders) io.micronaut.http.HttpMethodprotected @NonNull io.micronaut.http.MutableHttpParametersgetParameters(@NonNull Supplier<Map<String, String>> queryStringParametersSupplier, @NonNull Supplier<Map<String, List<String>>> multiQueryStringParametersSupplier) getParametersFromBody(Map<String, String> queryStringParameters) Parse the parameters from the body.getUri()protected booleanisFormSubmission(io.micronaut.http.MediaType contentType) protected static io.micronaut.http.HttpMethodparseMethod(Supplier<String> httpMethodConsumer) voidsetConversionService(io.micronaut.core.convert.ConversionService conversionService) voidsetParsedBody(T body) splitCommaSeparatedValue(@Nullable String value) transformCommaSeparatedValue(@Nullable Map<String, String> input) io.micronaut.http.MutableHttpRequest<T>Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.attr.AttributeHolder
getAttribute, getAttributeMethods inherited from interface io.micronaut.http.FullHttpRequest
isFullMethods inherited from interface io.micronaut.http.HttpMessage
getBody, getBody, getBodyWriter, getCharacterEncoding, getContentLength, getContentTypeMethods inherited from interface io.micronaut.http.HttpRequest
accept, getCertificate, getHttpVersion, getLocale, getMethodName, getOrigin, getPath, getRemoteAddress, getServerAddress, getServerName, getSslSession, getUserPrincipal, getUserPrincipal, isSecure, mutate, setAttribute, setUserPrincipalMethods inherited from interface io.micronaut.core.attr.MutableAttributeHolder
removeAttributeMethods inherited from interface io.micronaut.http.MutableHttpMessage
bodyWriterMethods inherited from interface io.micronaut.http.MutableHttpRequest
accept, accept, basicAuth, bearerAuth, contentEncoding, contentLength, contentType, contentType, cookies, getHeaders, getParameters, header, headers, headers, toMutableRequest, uriMethods inherited from interface io.micronaut.servlet.http.ServletExchange
close, createResponse, getResponseMethods inherited from interface io.micronaut.servlet.http.ServletHttpRequest
executeAsync, getContextPath, isAsyncSupported
-
Field Details
-
conversionService
protected io.micronaut.core.convert.ConversionService conversionService -
requestEvent
-
-
Constructor Details
-
ApiGatewayServletRequest
-
-
Method Details
-
byteBody
@NonNull public @NonNull io.micronaut.http.body.ByteBody byteBody()- Specified by:
byteBodyin interfaceio.micronaut.http.ServerHttpRequest<T>
-
getBodyBytes
-
buildUri
protected static URI buildUri(@Nullable @Nullable String path, @Nullable @Nullable Map<String, String> queryParameters, @Nullable @Nullable Map<String, List<String>> multiQueryParameters) Given a path and the query params from the event, build a URI.- Parameters:
path- the request pathqueryParameters- the query parameters from the eventmultiQueryParameters- the multi-value query parameters from the event- Returns:
- the URI
- Since:
- 4.0.3
-
parseMethod
-
getInputStream
- Specified by:
getInputStreamin interfaceio.micronaut.servlet.http.ServletHttpRequest<T,REQ> - Throws:
IOException
-
getRequest
-
getReader
- Specified by:
getReaderin interfaceio.micronaut.servlet.http.ServletHttpRequest<T,REQ> - Throws:
IOException
-
getNativeRequest
-
getMethod
public io.micronaut.http.HttpMethod getMethod()- Specified by:
getMethodin interfaceio.micronaut.http.HttpRequest<T>
-
getUri
- Specified by:
getUriin interfaceio.micronaut.http.HttpRequest<T>
-
getCookies
@NonNull public @NonNull io.micronaut.http.cookie.Cookies getCookies()- Specified by:
getCookiesin interfaceio.micronaut.http.HttpRequest<T>
-
getAttributes
- Specified by:
getAttributesin interfaceio.micronaut.core.attr.AttributeHolder- Specified by:
getAttributesin interfaceio.micronaut.http.HttpMessage<T>- Specified by:
getAttributesin interfaceio.micronaut.core.attr.MutableAttributeHolder
-
getBody
- Specified by:
getBodyin interfaceio.micronaut.http.HttpMessage<T>
-
getBody
- Specified by:
getBodyin interfaceio.micronaut.http.HttpMessage<T>
-
isFormSubmission
protected boolean isFormSubmission(io.micronaut.http.MediaType contentType) - Parameters:
contentType- Content Type- Returns:
- returns true if the content type is either application/x-www-form-urlencoded or multipart/form-data
-
cookie
- Specified by:
cookiein interfaceio.micronaut.http.MutableHttpRequest<T>
-
uri
- Specified by:
uriin interfaceio.micronaut.http.MutableHttpRequest<T>
-
body
public <B> io.micronaut.http.MutableHttpRequest<B> body(B body) -
getParametersFromBody
protected MapListOfStringAndMapStringMutableHttpParameters getParametersFromBody(Map<String, String> queryStringParameters) Parse the parameters from the body.- Parameters:
queryStringParameters- Any query string parameters- Returns:
- The parameters
-
setConversionService
public void setConversionService(io.micronaut.core.convert.ConversionService conversionService) - Specified by:
setConversionServicein interfaceio.micronaut.core.convert.ConversionServiceAware
-
setParsedBody
- Specified by:
setParsedBodyin interfaceio.micronaut.servlet.http.ParsedBodyHolder<T>
-
contents
@Nullable public @Nullable io.micronaut.core.io.buffer.ByteBuffer<?> contents()- Specified by:
contentsin interfaceio.micronaut.http.FullHttpRequest<T>
-
bufferContents
@Nullable public @Nullable io.micronaut.core.execution.ExecutionFlow<io.micronaut.core.io.buffer.ByteBuffer<?>> bufferContents()- Specified by:
bufferContentsin interfaceio.micronaut.http.FullHttpRequest<T>
-
getBodyBytes
protected byte[] getBodyBytes(@NonNull @NonNull Supplier<String> bodySupplier, @NonNull @NonNull BooleanSupplier base64EncodedSupplier) throws ApiGatewayServletRequest.EmptyBodyException - Parameters:
bodySupplier- HTTP Request's Body Supplierbase64EncodedSupplier- Whether the body is Base 64 encoded- Returns:
- body bytes
- Throws:
ApiGatewayServletRequest.EmptyBodyException- if the body is empty
-
splitCommaSeparatedValue
-
transformCommaSeparatedValue
-
getParameters
@NonNull protected @NonNull io.micronaut.http.MutableHttpParameters getParameters(@NonNull @NonNull Supplier<Map<String, String>> queryStringParametersSupplier, @NonNull @NonNull Supplier<Map<String, List<String>>> multiQueryStringParametersSupplier) - Parameters:
queryStringParametersSupplier- Query String parameters as a map with key string and value stringmultiQueryStringParametersSupplier- Query String parameters as a map with key string and value list of strings- Returns:
- Mutable HTTP parameters
-
getHeaders
@NonNull protected @NonNull io.micronaut.http.MutableHttpHeaders getHeaders(@NonNull @NonNull Supplier<Map<String, String>> singleHeaders, @NonNull @NonNull Supplier<Map<String, List<String>>> multiValueHeaders) - Parameters:
singleHeaders- Single value headersmultiValueHeaders- Multi-value headers- Returns:
- The combined mutable headers
-