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:
java.lang.AutoCloseable
public class VitamAsyncInputStreamResponse extends javax.ws.rs.core.ResponseThis 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:
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);
-
-
Constructor Summary
Constructors Constructor Description VitamAsyncInputStreamResponse(java.io.InputStream inputStream, javax.ws.rs.core.Response.Status status, java.util.Map<java.lang.String,java.lang.String> headers)VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response)VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response, javax.ws.rs.core.Response.Status status, java.util.Map<java.lang.String,java.lang.String> headers)VitamAsyncInputStreamResponse(javax.ws.rs.core.Response response, javax.ws.rs.core.Response.Status status, javax.ws.rs.core.MediaType mediaType)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbufferEntity()voidclose()java.util.Set<java.lang.String>getAllowedMethods()java.util.Map<java.lang.String,javax.ws.rs.core.NewCookie>getCookies()java.util.DategetDate()static java.util.Map<java.lang.String,java.lang.String>getDefaultMapFromResponse(javax.ws.rs.core.Response response)Return the default Map of headers from Responsejava.lang.ObjectgetEntity()javax.ws.rs.core.EntityTaggetEntityTag()javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object>getHeaders()java.lang.StringgetHeaderString(java.lang.String name)java.util.LocalegetLanguage()java.util.DategetLastModified()intgetLength()javax.ws.rs.core.LinkgetLink(java.lang.String relation)javax.ws.rs.core.Link.BuildergetLinkBuilder(java.lang.String relation)java.util.Set<javax.ws.rs.core.Link>getLinks()java.net.URIgetLocation()javax.ws.rs.core.MediaTypegetMediaType()javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object>getMetadata()intgetStatus()javax.ws.rs.core.Response.StatusTypegetStatusInfo()javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String>getStringHeaders()booleanhasEntity()booleanhasLink(java.lang.String relation)<T> TreadEntity(java.lang.Class<T> entityType)<T> TreadEntity(java.lang.Class<T> entityType, java.lang.annotation.Annotation[] annotations)<T> TreadEntity(javax.ws.rs.core.GenericType<T> entityType)<T> TreadEntity(javax.ws.rs.core.GenericType<T> entityType, java.lang.annotation.Annotation[] annotations)
-
-
-
Constructor Detail
-
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, java.util.Map<java.lang.String,java.lang.String> headers)- Parameters:
response-status-headers-
-
VitamAsyncInputStreamResponse
public VitamAsyncInputStreamResponse(java.io.InputStream inputStream, javax.ws.rs.core.Response.Status status, java.util.Map<java.lang.String,java.lang.String> headers)- Parameters:
inputStream-status-headers-
-
-
Method Detail
-
getDefaultMapFromResponse
public static java.util.Map<java.lang.String,java.lang.String> getDefaultMapFromResponse(javax.ws.rs.core.Response response)
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
public java.lang.Object getEntity()
- Specified by:
getEntityin classjavax.ws.rs.core.Response
-
readEntity
public <T> T readEntity(java.lang.Class<T> entityType)
- 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
public <T> T readEntity(java.lang.Class<T> entityType, java.lang.annotation.Annotation[] annotations)- Specified by:
readEntityin classjavax.ws.rs.core.Response
-
readEntity
public <T> T readEntity(javax.ws.rs.core.GenericType<T> entityType, java.lang.annotation.Annotation[] annotations)- Specified by:
readEntityin classjavax.ws.rs.core.Response
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein classjavax.ws.rs.core.Response
-
getHeaders
public javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> 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
public java.util.Locale getLanguage()
- Specified by:
getLanguagein classjavax.ws.rs.core.Response
-
getLength
public int getLength()
- Specified by:
getLengthin classjavax.ws.rs.core.Response
-
getAllowedMethods
public java.util.Set<java.lang.String> getAllowedMethods()
- Specified by:
getAllowedMethodsin classjavax.ws.rs.core.Response
-
getCookies
public java.util.Map<java.lang.String,javax.ws.rs.core.NewCookie> 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
public java.util.Date getDate()
- Specified by:
getDatein classjavax.ws.rs.core.Response
-
getLastModified
public java.util.Date getLastModified()
- Specified by:
getLastModifiedin classjavax.ws.rs.core.Response
-
getLocation
public java.net.URI getLocation()
- Specified by:
getLocationin classjavax.ws.rs.core.Response
-
getLinks
public java.util.Set<javax.ws.rs.core.Link> getLinks()
- Specified by:
getLinksin classjavax.ws.rs.core.Response
-
hasLink
public boolean hasLink(java.lang.String relation)
- Specified by:
hasLinkin classjavax.ws.rs.core.Response
-
getLink
public javax.ws.rs.core.Link getLink(java.lang.String relation)
- Specified by:
getLinkin classjavax.ws.rs.core.Response
-
getLinkBuilder
public javax.ws.rs.core.Link.Builder getLinkBuilder(java.lang.String relation)
- Specified by:
getLinkBuilderin classjavax.ws.rs.core.Response
-
getMetadata
public javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> getMetadata()
- Specified by:
getMetadatain classjavax.ws.rs.core.Response
-
getStringHeaders
public javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> getStringHeaders()
- Specified by:
getStringHeadersin classjavax.ws.rs.core.Response
-
getHeaderString
public java.lang.String getHeaderString(java.lang.String name)
- Specified by:
getHeaderStringin classjavax.ws.rs.core.Response
-
-