Package org.restheart.exchange
Class ServiceResponse<T>
java.lang.Object
org.restheart.exchange.Exchange<T>
org.restheart.exchange.Response<T>
org.restheart.exchange.ServiceResponse<T>
- Type Parameters:
T- generic type
- Direct Known Subclasses:
BsonResponse,ByteArrayResponse,JsonResponse,StringResponse,UninitializedResponse
Base class for Response implementations that can be used in service requests.
Only one response object can be instantiated per request. The response object
is instantiated by ServiceExchangeInitializer using the responseInitializer()
function defined by the handling service
- Author:
- Andrea Di Cesare <andrea@softinstigate.com>
-
Field Summary
FieldsFields inherited from class org.restheart.exchange.Exchange
APPLICATION_PDF_TYPE, FORM_URLENCODED, HAL_JSON_MEDIA_TYPE, IN_ERROR_KEY, JSON_MEDIA_TYPE, MAX_BUFFERS, MAX_CONTENT_SIZE, MULTIPART, TEXT_PLAIN_CONTENT_TYPE, wrapped -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedServiceResponse(io.undertow.server.HttpServerExchange exchange) protectedServiceResponse(io.undertow.server.HttpServerExchange exchange, boolean dontAttach) An intialized response is attached to the exchange using the REQUEST_KEY With dontAttach=true, instantiates the ServiceResponse without attaching the request to the exchange -
Method Summary
Modifier and TypeMethodDescriptionSee setCustomSender()static ServiceResponse<?> of(io.undertow.server.HttpServerExchange exchange) static <R extends ServiceResponse<?>>
Rabstract StringReads the content as a String.voidsetContent(T content) voidsetCustomSender(Runnable customSender) If a customSender is set (not null), the handler ResponseSender will delegate to customSender.run() the responsability to send the response content to the clientabstract voidsetInError(int code, String message, Throwable t) Methods inherited from class org.restheart.exchange.Response
getContentType, getContentType, getHeader, getHeader, getHeaders, getMDCContext, getStatusCode, setContentType, setContentTypeAsJson, setHeader, setHeader, setInError, setMDCContext, setStatusCodeMethods inherited from class org.restheart.exchange.Exchange
getExchange, getWrappedExchange, isAccountInRole, isAuthenticated, isAuthenticated, isContentTypeFormOrMultipart, isContentTypeFormOrMultipart, isContentTypeJson, isContentTypeJson, isContentTypeText, isContentTypeXml, isInError, isInError, responseInterceptorsExecuted, setInError, setInError, setResponseInterceptorsExecuted, updateBufferSize
-
Field Details
-
-
Constructor Details
-
ServiceResponse
protected ServiceResponse(io.undertow.server.HttpServerExchange exchange) -
ServiceResponse
protected ServiceResponse(io.undertow.server.HttpServerExchange exchange, boolean dontAttach) An intialized response is attached to the exchange using the REQUEST_KEY With dontAttach=true, instantiates the ServiceResponse without attaching the request to the exchange- Parameters:
exchange-dontAttach- true, if the request won't be attached to the exchange
-
-
Method Details
-
of
-
of
public static <R extends ServiceResponse<?>> R of(io.undertow.server.HttpServerExchange exchange, Class<R> type) -
getContent
-
setContent
-
readContent
Reads the content as a String. This method is used by ResponseSender to generate the response content to send to the client.- Returns:
- the content as string
-
setCustomSender
If a customSender is set (not null), the handler ResponseSender will delegate to customSender.run() the responsability to send the response content to the client- Parameters:
customSender-
-
getCustomSender
See setCustomSender()- Returns:
- the customSender
-
setInError
- Specified by:
setInErrorin classResponse<T>- Parameters:
code-message-t-
-