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
ConstructorDescriptionVitamAsyncInputStreamResponse
(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 TypeMethodDescriptionboolean
void
close()
getDate()
getDefaultMapFromResponse
(javax.ws.rs.core.Response response) Return the default Map of headers from Responsejavax.ws.rs.core.EntityTag
getHeaderString
(String name) int
javax.ws.rs.core.Link
javax.ws.rs.core.Link.Builder
getLinkBuilder
(String relation) Set<javax.ws.rs.core.Link>
getLinks()
javax.ws.rs.core.MediaType
int
javax.ws.rs.core.Response.StatusType
boolean
boolean
<T> T
readEntity
(Class<T> entityType) <T> T
readEntity
(Class<T> entityType, Annotation[] annotations) <T> T
readEntity
(javax.ws.rs.core.GenericType<T> entityType) <T> T
readEntity
(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:
getStatus
in classjavax.ws.rs.core.Response
-
getStatusInfo
public javax.ws.rs.core.Response.StatusType getStatusInfo()- Specified by:
getStatusInfo
in classjavax.ws.rs.core.Response
-
getMediaType
public javax.ws.rs.core.MediaType getMediaType()- Specified by:
getMediaType
in classjavax.ws.rs.core.Response
-
getEntity
- Specified by:
getEntity
in classjavax.ws.rs.core.Response
-
readEntity
- Specified by:
readEntity
in classjavax.ws.rs.core.Response
-
readEntity
public <T> T readEntity(javax.ws.rs.core.GenericType<T> entityType) - Specified by:
readEntity
in classjavax.ws.rs.core.Response
-
readEntity
- Specified by:
readEntity
in classjavax.ws.rs.core.Response
-
readEntity
- Specified by:
readEntity
in classjavax.ws.rs.core.Response
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in classjavax.ws.rs.core.Response
-
getHeaders
- Overrides:
getHeaders
in classjavax.ws.rs.core.Response
-
hasEntity
public boolean hasEntity()- Specified by:
hasEntity
in classjavax.ws.rs.core.Response
-
bufferEntity
public boolean bufferEntity()- Specified by:
bufferEntity
in classjavax.ws.rs.core.Response
-
getLanguage
- Specified by:
getLanguage
in classjavax.ws.rs.core.Response
-
getLength
public int getLength()- Specified by:
getLength
in classjavax.ws.rs.core.Response
-
getAllowedMethods
- Specified by:
getAllowedMethods
in classjavax.ws.rs.core.Response
-
getCookies
- Specified by:
getCookies
in classjavax.ws.rs.core.Response
-
getEntityTag
public javax.ws.rs.core.EntityTag getEntityTag()- Specified by:
getEntityTag
in classjavax.ws.rs.core.Response
-
getDate
- Specified by:
getDate
in classjavax.ws.rs.core.Response
-
getLastModified
- Specified by:
getLastModified
in classjavax.ws.rs.core.Response
-
getLocation
- Specified by:
getLocation
in classjavax.ws.rs.core.Response
-
getLinks
- Specified by:
getLinks
in classjavax.ws.rs.core.Response
-
hasLink
- Specified by:
hasLink
in classjavax.ws.rs.core.Response
-
getLink
- Specified by:
getLink
in classjavax.ws.rs.core.Response
-
getLinkBuilder
- Specified by:
getLinkBuilder
in classjavax.ws.rs.core.Response
-
getMetadata
- Specified by:
getMetadata
in classjavax.ws.rs.core.Response
-
getStringHeaders
- Specified by:
getStringHeaders
in classjavax.ws.rs.core.Response
-
getHeaderString
- Specified by:
getHeaderString
in classjavax.ws.rs.core.Response
-