-
- All Implemented Interfaces:
-
io.javalin.http.Context
public final class JavalinServletContext implements Context
-
-
Field Summary
Fields Modifier and Type Field Description private final Deque<Task>
tasks
private Boolean
exceptionOccurred
private final AtomicBoolean
responseWritten
private Integer
minSizeForCompression
-
Constructor Summary
Constructors Constructor Description JavalinServletContext(JavalinServletContextConfig cfg, Deque<Task> tasks, Boolean exceptionOccurred, AtomicBoolean responseWritten, HttpServletRequest req, HttpServletResponse res, Long startTimeNanos, HandlerType handlerType, Set<RouteRole> routeRoles, String matchedPath, Map<String, String> pathParamMap, String endpointHandlerPath, Supplier<out CompletableFuture<?>> userFutureSupplier, InputStream resultStream, Integer minSizeForCompression)
-
Method Summary
Modifier and Type Method Description final Deque<Task>
getTasks()
final Boolean
getExceptionOccurred()
final Unit
setExceptionOccurred(Boolean exceptionOccurred)
final AtomicBoolean
getResponseWritten()
Integer
getMinSizeForCompression()
The output stream returned by outputStream() will use compression (as specified in Javalin configuration), but compression will happen only if the first write to the output stream is larger than minSizeForCompression
.Unit
setMinSizeForCompression(Integer minSizeForCompression)
The output stream returned by outputStream() will use compression (as specified in Javalin configuration), but compression will happen only if the first write to the output stream is larger than minSizeForCompression
.final Float
executionTimeMs()
final <Error class: unknown class>
changeBaseRequest(HttpServletRequest req)
final <Error class: unknown class>
update(HttpHandlerEntry httpHandlerEntry, String requestUri)
HttpServletRequest
req()
Servlet request HttpServletResponse
res()
Servlet response <T extends Any> T
appAttribute(String key)
Gets an attribute from the Javalin instance serving the request String
endpointHandlerPath()
Gets the endpoint path that was used to match request (null in before, available in endpoint/after) String
characterEncoding()
Try to obtain request encoding from Header.CONTENT_TYPE header <Error class: unknown class>
cookieStore()
Gets cookie store used by this request HandlerType
method()
Gets the request method. HandlerType
handlerType()
Gets the handler type of the current handler String
matchedPath()
Gets the path that was used to match request (also includes before/after paths) ByteArray
bodyAsBytes()
Gets the request body as a ByteArray. Map<String, List<String>>
formParamMap()
Gets a map with all the form param keys and values. Map<String, String>
pathParamMap()
Gets a map of all the pathParamAsClass keys and values. String
pathParam(String key)
Gets a path param by name (ex: pathParam("param"). Map<String, List<String>>
queryParamMap()
Gets a map with all the query param keys and values. ServletOutputStream
outputStream()
Gets the output stream you can write to. Unit
redirect(String location, HttpStatus status)
Redirects to location with given status. Context
result(InputStream resultStream)
Sets context result to the specified InputStream. InputStream
resultInputStream()
Gets the underlying InputStream for the result (io.javalin.http.servlet.JavalinServletContext.resultInputStream) Unit
future(Supplier<out CompletableFuture<?>> future)
The main entrypoint for all async related functionalities exposed by Context. Context
skipRemainingHandlers()
Set<RouteRole>
routeRoles()
Unit
writeJsonStream(Stream<?> stream)
Consumes the specified stream with the configured JsonMapper, which transforms the stream's content to JSON, writing the results directly to the response's outputStream
as the stream is consumed.-
Methods inherited from class io.javalin.http.Context
async, async, attribute, attribute, attributeMap, attributeOrCompute, basicAuthCredentials, body, bodyAsClass, bodyAsClass, bodyInputStream, bodyStreamAsClass, bodyValidator, cachedSessionAttribute, cachedSessionAttribute, cachedSessionAttributeOrCompute, consumeSessionAttribute, contentLength, contentType, contentType, contentType, contextPath, cookie, cookie, cookie, cookie, cookieMap, formParam, formParamAsClass, formParams, fullUrl, header, header, headerAsClass, headerMap, host, html, ip, isMultipart, isMultipartFormData, json, json, jsonStream, jsonStream, path, pathParamAsClass, port, protocol, queryParam, queryParamAsClass, queryParams, queryParamsAsClass, queryString, redirect, removeCookie, removeCookie, removeHeader, render, render, responseCharset, result, result, result, scheme, sessionAttribute, sessionAttribute, sessionAttributeMap, status, status, status, statusCode, uploadedFile, uploadedFileMap, uploadedFiles, uploadedFiles, url, userAgent, writeSeekableStream, writeSeekableStream
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
JavalinServletContext
JavalinServletContext(JavalinServletContextConfig cfg, Deque<Task> tasks, Boolean exceptionOccurred, AtomicBoolean responseWritten, HttpServletRequest req, HttpServletResponse res, Long startTimeNanos, HandlerType handlerType, Set<RouteRole> routeRoles, String matchedPath, Map<String, String> pathParamMap, String endpointHandlerPath, Supplier<out CompletableFuture<?>> userFutureSupplier, InputStream resultStream, Integer minSizeForCompression)
-
-
Method Detail
-
getExceptionOccurred
final Boolean getExceptionOccurred()
-
setExceptionOccurred
final Unit setExceptionOccurred(Boolean exceptionOccurred)
-
getResponseWritten
final AtomicBoolean getResponseWritten()
-
getMinSizeForCompression
Integer getMinSizeForCompression()
The output stream returned by outputStream() will use compression (as specified in Javalin configuration), but compression will happen only if the first write to the output stream is larger than
minSizeForCompression
. Setting this value to zero will cause compression to always be used. This value must be assigned before calling outputStream() for the first time. The default value is set to the value of io.javalin.config.CompressionStrategy.defaultMinSizeForCompression.
-
setMinSizeForCompression
Unit setMinSizeForCompression(Integer minSizeForCompression)
The output stream returned by outputStream() will use compression (as specified in Javalin configuration), but compression will happen only if the first write to the output stream is larger than
minSizeForCompression
. Setting this value to zero will cause compression to always be used. This value must be assigned before calling outputStream() for the first time. The default value is set to the value of io.javalin.config.CompressionStrategy.defaultMinSizeForCompression.
-
executionTimeMs
final Float executionTimeMs()
-
changeBaseRequest
final <Error class: unknown class> changeBaseRequest(HttpServletRequest req)
-
update
final <Error class: unknown class> update(HttpHandlerEntry httpHandlerEntry, String requestUri)
-
req
HttpServletRequest req()
Servlet request
-
res
HttpServletResponse res()
Servlet response
-
appAttribute
<T extends Any> T appAttribute(String key)
Gets an attribute from the Javalin instance serving the request
-
endpointHandlerPath
String endpointHandlerPath()
Gets the endpoint path that was used to match request (null in before, available in endpoint/after)
-
characterEncoding
String characterEncoding()
Try to obtain request encoding from Header.CONTENT_TYPE header
-
cookieStore
<Error class: unknown class> cookieStore()
Gets cookie store used by this request
-
method
HandlerType method()
Gets the request method.
-
handlerType
HandlerType handlerType()
Gets the handler type of the current handler
-
matchedPath
String matchedPath()
Gets the path that was used to match request (also includes before/after paths)
-
bodyAsBytes
ByteArray bodyAsBytes()
Gets the request body as a ByteArray. Calling this method returns the body as a ByteArray. If io.javalin.config.JavalinConfig.maxRequestSize is set and body is bigger than its value, a io.javalin.http.HttpResponseException is throw, with status 413 CONTENT_TOO_LARGE.
-
formParamMap
Map<String, List<String>> formParamMap()
Gets a map with all the form param keys and values.
-
pathParamMap
Map<String, String> pathParamMap()
Gets a map of all the pathParamAsClass keys and values.
-
pathParam
String pathParam(String key)
Gets a path param by name (ex: pathParam("param").
Ex: If the handler path is /users/{user-id}, and a browser GETs /users/123, pathParam("user-id") will return "123"
-
queryParamMap
Map<String, List<String>> queryParamMap()
Gets a map with all the query param keys and values.
-
outputStream
ServletOutputStream outputStream()
Gets the output stream you can write to. This stream by default uses compression specified in the Javalin configuration. If you're looking for the servlet's raw, uncompressed output stream, use
ctx.res().outputStream
.
-
redirect
Unit redirect(String location, HttpStatus status)
Redirects to location with given status. Skips HTTP handler if called in before-handler
-
result
Context result(InputStream resultStream)
Sets context result to the specified InputStream. Will overwrite the current result if there is one.
-
resultInputStream
InputStream resultInputStream()
Gets the underlying InputStream for the result (io.javalin.http.servlet.JavalinServletContext.resultInputStream)
-
future
Unit future(Supplier<out CompletableFuture<?>> future)
The main entrypoint for all async related functionalities exposed by Context.
- Parameters:
future
- Future represents any delayed in time result.
-
skipRemainingHandlers
Context skipRemainingHandlers()
-
routeRoles
Set<RouteRole> routeRoles()
-
writeJsonStream
Unit writeJsonStream(Stream<?> stream)
Consumes the specified stream with the configured JsonMapper, which transforms the stream's content to JSON, writing the results directly to the response's
outputStream
as the stream is consumed. This function call is synchronous, and may be wrapped inctx.async { }
if needed. The response will always be compressed regardless of size, given that compression is enabled in the Javalin configuration.
-
-
-
-