Package fr.gouv.vitam.common.stream
Class VitamAsyncInputStreamResponse
java.lang.Object
javax.ws.rs.core.Response
fr.gouv.vitam.common.stream.VitamAsyncInputStreamResponse
- All Implemented Interfaces:
AutoCloseable
public class VitamAsyncInputStreamResponse
extends javax.ws.rs.core.Response
This class implements a fake InputStream from a Response such that the response will be closed once the stream is
closed itself. It should replace all the AsyncInputStreamHelper
Example of usages:
When using specific headers:
When using standard headers:
When using the native response as source:
Example of usages:
When using specific headers:
Map<String, String> headers = new HashMap<>();
headers.put(HttpHeaders.CONTENT_TYPE, response.getMediaType().toString());
headers.put(HttpHeaders.CONTENT_DISPOSITION, response.getHeaderString(HttpHeaders.CONTENT_DISPOSITION));
headers.put(GlobalDataRest.X_QUALIFIER, xQualifier);
headers.put(GlobalDataRest.X_VERSION, xVersion);
return new VitamAsyncInputStreamResponse(response, Status.OK, headers);
When using standard headers:
return new VitamAsyncInputStreamResponse(response, Status.OK, MediaType.APPLICATION_OCTET_STREAM_TYPE);
When using the native response as source:
return new VitamAsyncInputStreamResponse(response);
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.ws.rs.core.Response
javax.ws.rs.core.Response.ResponseBuilder, javax.ws.rs.core.Response.Status, javax.ws.rs.core.Response.StatusType -
Constructor Summary
ConstructorsConstructorDescriptionVitamAsyncInputStreamResponse(InputStream inputStream, javax.ws.rs.core.Response.Status status, Map<String, String> headers) VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response) VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response, javax.ws.rs.core.Response.Status status, Map<String, String> headers) VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response, javax.ws.rs.core.Response.Status status, javax.ws.rs.core.MediaType mediaType) -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidclose()getDate()getDefaultMapFromResponse(javax.ws.rs.core.Response response) Return the default Map of headers from Responsejavax.ws.rs.core.EntityTaggetHeaderString(String name) intjavax.ws.rs.core.Linkjavax.ws.rs.core.Link.BuildergetLinkBuilder(String relation) Set<javax.ws.rs.core.Link>getLinks()javax.ws.rs.core.MediaTypeintjavax.ws.rs.core.Response.StatusTypebooleanboolean<T> TreadEntity(Class<T> entityType) <T> TreadEntity(Class<T> entityType, Annotation[] annotations) <T> TreadEntity(javax.ws.rs.core.GenericType<T> entityType) <T> TreadEntity(javax.ws.rs.core.GenericType<T> entityType, Annotation[] annotations) Methods inherited from class javax.ws.rs.core.Response
accepted, accepted, created, fromResponse, noContent, notAcceptable, notModified, notModified, notModified, ok, ok, ok, ok, ok, seeOther, serverError, status, status, status, status, temporaryRedirect
-
Constructor Details
-
VitamAsyncInputStreamResponse
public VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response) - Parameters:
response-
-
VitamAsyncInputStreamResponse
public VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response, javax.ws.rs.core.Response.Status status, javax.ws.rs.core.MediaType mediaType) - Parameters:
response-status-mediaType-
-
VitamAsyncInputStreamResponse
public VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response, javax.ws.rs.core.Response.Status status, Map<String, String> headers) - Parameters:
response-status-headers-
-
VitamAsyncInputStreamResponse
public VitamAsyncInputStreamResponse(InputStream inputStream, javax.ws.rs.core.Response.Status status, Map<String, String> headers) - Parameters:
inputStream-status-headers-
-
-
Method Details
-
getDefaultMapFromResponse
Return the default Map of headers from Response- Parameters:
response-- Returns:
- the default map
-
getStatus
public int getStatus()- Specified by:
getStatusin classjavax.ws.rs.core.Response
-
getStatusInfo
public javax.ws.rs.core.Response.StatusType getStatusInfo()- Specified by:
getStatusInfoin classjavax.ws.rs.core.Response
-
getMediaType
public javax.ws.rs.core.MediaType getMediaType()- Specified by:
getMediaTypein classjavax.ws.rs.core.Response
-
getEntity
- Specified by:
getEntityin classjavax.ws.rs.core.Response
-
readEntity
- Specified by:
readEntityin classjavax.ws.rs.core.Response
-
readEntity
public <T> T readEntity(javax.ws.rs.core.GenericType<T> entityType) - Specified by:
readEntityin classjavax.ws.rs.core.Response
-
readEntity
- Specified by:
readEntityin classjavax.ws.rs.core.Response
-
readEntity
- Specified by:
readEntityin classjavax.ws.rs.core.Response
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein classjavax.ws.rs.core.Response
-
getHeaders
- Overrides:
getHeadersin classjavax.ws.rs.core.Response
-
hasEntity
public boolean hasEntity()- Specified by:
hasEntityin classjavax.ws.rs.core.Response
-
bufferEntity
public boolean bufferEntity()- Specified by:
bufferEntityin classjavax.ws.rs.core.Response
-
getLanguage
- Specified by:
getLanguagein classjavax.ws.rs.core.Response
-
getLength
public int getLength()- Specified by:
getLengthin classjavax.ws.rs.core.Response
-
getAllowedMethods
- Specified by:
getAllowedMethodsin classjavax.ws.rs.core.Response
-
getCookies
- Specified by:
getCookiesin classjavax.ws.rs.core.Response
-
getEntityTag
public javax.ws.rs.core.EntityTag getEntityTag()- Specified by:
getEntityTagin classjavax.ws.rs.core.Response
-
getDate
- Specified by:
getDatein classjavax.ws.rs.core.Response
-
getLastModified
- Specified by:
getLastModifiedin classjavax.ws.rs.core.Response
-
getLocation
- Specified by:
getLocationin classjavax.ws.rs.core.Response
-
getLinks
- Specified by:
getLinksin classjavax.ws.rs.core.Response
-
hasLink
- Specified by:
hasLinkin classjavax.ws.rs.core.Response
-
getLink
- Specified by:
getLinkin classjavax.ws.rs.core.Response
-
getLinkBuilder
- Specified by:
getLinkBuilderin classjavax.ws.rs.core.Response
-
getMetadata
- Specified by:
getMetadatain classjavax.ws.rs.core.Response
-
getStringHeaders
- Specified by:
getStringHeadersin classjavax.ws.rs.core.Response
-
getHeaderString
- Specified by:
getHeaderStringin classjavax.ws.rs.core.Response
-