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 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.http.ServerHttpRequest
byteBodyFactoryMethods 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
public @NonNull io.micronaut.http.body.ByteBody byteBody()- Specified by:
byteBodyin interfaceio.micronaut.http.ServerHttpRequest<T>
-
getBodyBytes
-
buildUri
protected static URI buildUri(@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.- 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
-
getCookies
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
-
getBody
-
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
-
uri
-
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
-
contents
public @Nullable io.micronaut.core.io.buffer.ByteBuffer<?> contents()- Specified by:
contentsin interfaceio.micronaut.http.FullHttpRequest<T>
-
bufferContents
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 Supplier<String> bodySupplier, @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
protected @NonNull io.micronaut.http.MutableHttpParameters getParameters(@NonNull Supplier<Map<String, String>> queryStringParametersSupplier, @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
protected @NonNull io.micronaut.http.MutableHttpHeaders getHeaders(@NonNull Supplier<Map<String, String>> singleHeaders, @NonNull Supplier<Map<String, List<String>>> multiValueHeaders) - Parameters:
singleHeaders- Single value headersmultiValueHeaders- Multi-value headers- Returns:
- The combined mutable headers
-