Class QuarkusResteasyReactiveRequestContext
- java.lang.Object
-
- org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext<org.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext,org.jboss.resteasy.reactive.server.spi.ServerRestHandler>
-
- org.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
- org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext
-
- io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext
-
- All Implemented Interfaces:
io.vertx.core.Handler<Void>,Closeable,AutoCloseable,Runnable,org.jboss.resteasy.reactive.common.core.ResteasyReactiveCallbackContext,org.jboss.resteasy.reactive.server.injection.ResteasyReactiveInjectionContext,org.jboss.resteasy.reactive.server.spi.ServerHttpRequest,org.jboss.resteasy.reactive.server.spi.ServerHttpResponse,org.jboss.resteasy.reactive.server.spi.ServerRequestContext,org.jboss.resteasy.reactive.server.spi.StreamingResponse<org.jboss.resteasy.reactive.server.spi.ServerHttpResponse>
public class QuarkusResteasyReactiveRequestContext extends VertxResteasyReactiveRequestContext
-
-
Field Summary
Fields Modifier and Type Field Description (package private) io.quarkus.security.identity.CurrentIdentityAssociationassociation(package private) booleanuserSetup-
Fields inherited from class org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext
context, CONTINUE, preCommitTask, request, response
-
-
Constructor Summary
Constructors Constructor Description QuarkusResteasyReactiveRequestContext(org.jboss.resteasy.reactive.server.core.Deployment deployment, io.vertx.ext.web.RoutingContext context, org.jboss.resteasy.reactive.spi.ThreadSetupAction requestContext, org.jboss.resteasy.reactive.server.spi.ServerRestHandler[] handlerChain, org.jboss.resteasy.reactive.server.spi.ServerRestHandler[] abortHandlerChain, ClassLoader devModeTccl, io.quarkus.security.identity.CurrentIdentityAssociation currentIdentityAssociation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected jakarta.ws.rs.core.SecurityContextcreateSecurityContext()protected voidhandleRequestScopeActivation()booleanhandlesUnmappedException()voidhandleUnmappedException(Throwable throwable)protected voidhandleUnrecoverableError(Throwable throwable)protected voidinvokeHandler(int pos)The implementation looks like it makes no sense, but it in fact does make sense from a performance perspective.protected voidrequestScopeDeactivated()-
Methods inherited from class org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext
addCloseHandler, addDrainHandler, addResponseHeader, closeConnection, closed, containsRequestHeader, createInputStream, createInputStream, createResponseOutputStream, end, end, end, getAllQueryParams, getAllRequestHeaders, getAllRequestHeaders, getAllResponseHeaders, getContext, getContextExecutor, getEventLoop, getExistingParsedForm, getQueryParam, getRequestAbsoluteUri, getRequestHeader, getRequestHost, getRequestMethod, getRequestNormalisedPath, getRequestPath, getRequestScheme, getResponseHeader, handle, headWritten, isOnIoThread, isRequestEnded, isWriteQueueFull, pauseRequestInput, query, queryParamNames, registerTimer, removeResponseHeader, resumeExternalProcessing, resumeRequestInput, sendFile, serverRequest, serverResponse, setChunked, setPreCommitListener, setQueryParamsFrom, setReadListener, setResponseHeader, setResponseHeader, setStatusCode, unwrap, vertxServerRequest, vertxServerResponse, write, write
-
Methods inherited from class org.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
abortWith, close, endResponse, getAbsoluteURI, getAdditionalAnnotations, getAllAnnotations, getAsyncResponse, getAuthority, getContainerRequestContext, getContainerResponseContext, getCookieParameter, getDeployment, getEndpointInstance, getEntityWriter, getFormData, getFormParameter, getGenericReturnType, getHeader, getHttpHeaders, getInputStream, getMatchedURIs, getMatrixParameter, getMethod, getMethodAnnotations, getOrCreateOutputStream, getOutputStream, getParameters, getPath, getPathParam, getPathParameter, getPathSegments, getPathWithoutPrefix, getProviders, getQueryParameter, getQueryParameter, getReaderInterceptors, getRemaining, getRequest, getRequestEntity, getRequestHeaders, getResourceLocatorPathParam, getResponse, getResponseContentType, getResponseEntity, getResponseMediaType, getResteasyReactiveResourceInfo, getResult, getScheme, getSecurityContext, getSseEventSink, getTarget, getThrowable, getUriInfo, getWriterInterceptors, hasGenericReturnType, hasInputStream, initPathSegments, isSecurityContextSet, mapExceptionIfPresent, resetBuildTimeSerialization, restart, restart, restarted, saveUriMatchState, securityContextUpdated, setAdditionalAnnotations, setAllAnnotations, setAsyncResponse, setEndpointInstance, setEntityWriter, setFormData, setGenericReturnType, setInputStream, setMaxPathParams, setMethod, setMethodAnnotations, setOutputStream, setPathParamValue, setReaderInterceptors, setRemaining, setRequestEntity, setRequestUri, setResponse, setResponseContentType, setResponseContentType, setResult, setSecurityContext, setSseEventSink, setUriInfo, setWriterInterceptors
-
Methods inherited from class org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext
beginAsyncProcessing, captureCDIRequestScope, getAbortHandlerChain, getHandlers, getPosition, getProperty, getPropertyNames, handleException, handleException, isRequestScopeManagementRequired, isSuspended, registerCompletionCallback, registerConnectionCallback, removeProperty, requireCDIRequestScope, restart, restart, resume, resume, resume, resume, run, setAbortHandlerChain, setAbortHandlerChainStarted, setPosition, setProperty, setSuspended, suspend, unwrapException
-
-
-
-
Constructor Detail
-
QuarkusResteasyReactiveRequestContext
public QuarkusResteasyReactiveRequestContext(org.jboss.resteasy.reactive.server.core.Deployment deployment, io.vertx.ext.web.RoutingContext context, org.jboss.resteasy.reactive.spi.ThreadSetupAction requestContext, org.jboss.resteasy.reactive.server.spi.ServerRestHandler[] handlerChain, org.jboss.resteasy.reactive.server.spi.ServerRestHandler[] abortHandlerChain, ClassLoader devModeTccl, io.quarkus.security.identity.CurrentIdentityAssociation currentIdentityAssociation)
-
-
Method Detail
-
handleRequestScopeActivation
protected void handleRequestScopeActivation()
- Overrides:
handleRequestScopeActivationin classorg.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
requestScopeDeactivated
protected void requestScopeDeactivated()
- Overrides:
requestScopeDeactivatedin classorg.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
createSecurityContext
protected jakarta.ws.rs.core.SecurityContext createSecurityContext()
- Overrides:
createSecurityContextin classorg.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
handleUnrecoverableError
protected void handleUnrecoverableError(Throwable throwable)
- Overrides:
handleUnrecoverableErrorin classorg.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
handlesUnmappedException
public boolean handlesUnmappedException()
- Overrides:
handlesUnmappedExceptionin classorg.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
handleUnmappedException
public void handleUnmappedException(Throwable throwable)
- Overrides:
handleUnmappedExceptionin classorg.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext
-
invokeHandler
protected void invokeHandler(int pos) throws ExceptionThe implementation looks like it makes no sense, but it in fact does make sense from a performance perspective. The idea is to reduce the use instances of megamorphic calls into a series of instance checks and monomorphic calls. The rationale behind this is fully explored in https://shipilev.net/blog/2015/black-magic-method-dispatch/#_cheating_the_runtime_2 and this specific instance has been verified experimentally to result in better performance.- Overrides:
invokeHandlerin classorg.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext<org.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext,org.jboss.resteasy.reactive.server.spi.ServerRestHandler>- Throws:
Exception
-
-