Package com.atlassian.jira.rest.util
Class ResponseFactoryImpl
java.lang.Object
com.atlassian.jira.rest.util.ResponseFactoryImpl
- All Implemented Interfaces:
ResponseFactory
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionjavax.ws.rs.core.Response
badRequest
(String i18nKey, String... args) Constructs a "bad request" (400) HTTP reposne without caching.javax.ws.rs.core.Response
Constructs CREATED response with cache control set to neverjavax.ws.rs.core.Response
errorResponse
(ErrorCollection errorCollection) Creates an appropriate REST error response out of error collection.javax.ws.rs.core.Response
Constructs "forbidden" (403) HTTP response without caching.javax.ws.rs.core.Response
generateErrorResponse
(ErrorCollection errors) Given a list of errors generate a http responsejavax.ws.rs.core.Response
Given a list of errors generate a http responsejavax.ws.rs.core.Response
Constructs "no content" (204) HTTP response with cache control set to neverjavax.ws.rs.core.Response
Constructs "not found" (404) HTTP response without caching.javax.ws.rs.core.Response
Creates a response that tells the user they can't use a feature when they are not logged injavax.ws.rs.core.Response
Constructs OK response with cache control set to neverjavax.ws.rs.core.Response
serviceResultToNoContentResponse
(ServiceResult serviceResult) Transforms a service result to "no content" (204) HTTP response with cache control set to never if the result is valid, or error response is invalid.<T> io.atlassian.fugue.Either<javax.ws.rs.core.Response,
T> toResponse
(io.atlassian.fugue.Either<ErrorCollection, T> either) MapsErrorCollection
in anEither
to aResponse
.<T> io.atlassian.fugue.Either<javax.ws.rs.core.Response,
T> validateOutcome
(ServiceOutcome<T> outcome) Returns a proper error response if the outcome is invalid, or the outcome value otherwise.
-
Constructor Details
-
ResponseFactoryImpl
-
-
Method Details
-
notLoggedInResponse
public javax.ws.rs.core.Response notLoggedInResponse()Description copied from interface:ResponseFactory
Creates a response that tells the user they can't use a feature when they are not logged in- Specified by:
notLoggedInResponse
in interfaceResponseFactory
- Returns:
- 401 HTTP response with appropriate message.
-
errorResponse
Description copied from interface:ResponseFactory
Creates an appropriate REST error response out of error collection.- Specified by:
errorResponse
in interfaceResponseFactory
- Parameters:
errorCollection
- errors that will be sent back to the user and from which the HTTP response status will be figured out- Returns:
- REST response with JSON-ized error collection and appropriate status
-
okNoCache
Description copied from interface:ResponseFactory
Constructs OK response with cache control set to never- Specified by:
okNoCache
in interfaceResponseFactory
- Parameters:
entity
- object that will be sent in the response- Returns:
- OK response holding the
entity
-
created
Description copied from interface:ResponseFactory
Constructs CREATED response with cache control set to never- Specified by:
created
in interfaceResponseFactory
- Parameters:
self
- URI to the newly created entityentity
- object that will be sent in the response- Returns:
- CREATED response holding the
entity
-
noContent
public javax.ws.rs.core.Response noContent()Description copied from interface:ResponseFactory
Constructs "no content" (204) HTTP response with cache control set to never- Specified by:
noContent
in interfaceResponseFactory
- Returns:
- no content HTTP response
-
badRequest
Description copied from interface:ResponseFactory
Constructs a "bad request" (400) HTTP reposne without caching.- Specified by:
badRequest
in interfaceResponseFactory
- Parameters:
i18nKey
- key of the i18n message which is included in the response.args
- arguments to be added to the internationalised message.- Returns:
- bad request HTTP response with translated message.
-
forbidden
Description copied from interface:ResponseFactory
Constructs "forbidden" (403) HTTP response without caching.- Specified by:
forbidden
in interfaceResponseFactory
- Parameters:
i18nKey
- key of the i18n message which is included in the response.- Returns:
- forbidden HTTP response.
-
notFound
Description copied from interface:ResponseFactory
Constructs "not found" (404) HTTP response without caching.- Specified by:
notFound
in interfaceResponseFactory
- Parameters:
i18nKey
- key of the i18n message which is included in the response.- Returns:
- not found HTTP response.
-
generateFieldErrorResponse
Given a list of errors generate a http response- Specified by:
generateFieldErrorResponse
in interfaceResponseFactory
- Parameters:
errors
- generated- Returns:
- http response for the worst error
-
generateErrorResponse
Description copied from interface:ResponseFactory
Given a list of errors generate a http response- Specified by:
generateErrorResponse
in interfaceResponseFactory
- Parameters:
errors
- generated- Returns:
- http response for the worst error
-
validateOutcome
public <T> io.atlassian.fugue.Either<javax.ws.rs.core.Response,T> validateOutcome(ServiceOutcome<T> outcome) Description copied from interface:ResponseFactory
Returns a proper error response if the outcome is invalid, or the outcome value otherwise.- Specified by:
validateOutcome
in interfaceResponseFactory
- Type Parameters:
T
- service outcome value type- Parameters:
outcome
- service outcome- Returns:
- either error response or the service outcome value
-
serviceResultToNoContentResponse
Description copied from interface:ResponseFactory
Transforms a service result to "no content" (204) HTTP response with cache control set to never if the result is valid, or error response is invalid.- Specified by:
serviceResultToNoContentResponse
in interfaceResponseFactory
- Parameters:
serviceResult
- service result to validate- Returns:
- either an error response corresponding the the service result error, or 204.
-
toResponse
public <T> io.atlassian.fugue.Either<javax.ws.rs.core.Response,T> toResponse(io.atlassian.fugue.Either<ErrorCollection, T> either) Description copied from interface:ResponseFactory
MapsErrorCollection
in anEither
to aResponse
.- Specified by:
toResponse
in interfaceResponseFactory
- Type Parameters:
T
- type of right value- Parameters:
either
- either to map the left value in- Returns:
- mapped either
-