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:

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 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

      public static Map<String,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:
      getStatus in class javax.ws.rs.core.Response
    • getStatusInfo

      public javax.ws.rs.core.Response.StatusType getStatusInfo()
      Specified by:
      getStatusInfo in class javax.ws.rs.core.Response
    • getMediaType

      public javax.ws.rs.core.MediaType getMediaType()
      Specified by:
      getMediaType in class javax.ws.rs.core.Response
    • getEntity

      public Object getEntity()
      Specified by:
      getEntity in class javax.ws.rs.core.Response
    • readEntity

      public <T> T readEntity(Class<T> entityType)
      Specified by:
      readEntity in class javax.ws.rs.core.Response
    • readEntity

      public <T> T readEntity(javax.ws.rs.core.GenericType<T> entityType)
      Specified by:
      readEntity in class javax.ws.rs.core.Response
    • readEntity

      public <T> T readEntity(Class<T> entityType, Annotation[] annotations)
      Specified by:
      readEntity in class javax.ws.rs.core.Response
    • readEntity

      public <T> T readEntity(javax.ws.rs.core.GenericType<T> entityType, Annotation[] annotations)
      Specified by:
      readEntity in class javax.ws.rs.core.Response
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in class javax.ws.rs.core.Response
    • getHeaders

      public javax.ws.rs.core.MultivaluedMap<String,Object> getHeaders()
      Overrides:
      getHeaders in class javax.ws.rs.core.Response
    • hasEntity

      public boolean hasEntity()
      Specified by:
      hasEntity in class javax.ws.rs.core.Response
    • bufferEntity

      public boolean bufferEntity()
      Specified by:
      bufferEntity in class javax.ws.rs.core.Response
    • getLanguage

      public Locale getLanguage()
      Specified by:
      getLanguage in class javax.ws.rs.core.Response
    • getLength

      public int getLength()
      Specified by:
      getLength in class javax.ws.rs.core.Response
    • getAllowedMethods

      public Set<String> getAllowedMethods()
      Specified by:
      getAllowedMethods in class javax.ws.rs.core.Response
    • getCookies

      public Map<String,javax.ws.rs.core.NewCookie> getCookies()
      Specified by:
      getCookies in class javax.ws.rs.core.Response
    • getEntityTag

      public javax.ws.rs.core.EntityTag getEntityTag()
      Specified by:
      getEntityTag in class javax.ws.rs.core.Response
    • getDate

      public Date getDate()
      Specified by:
      getDate in class javax.ws.rs.core.Response
    • getLastModified

      public Date getLastModified()
      Specified by:
      getLastModified in class javax.ws.rs.core.Response
    • getLocation

      public URI getLocation()
      Specified by:
      getLocation in class javax.ws.rs.core.Response
    • getLinks

      public Set<javax.ws.rs.core.Link> getLinks()
      Specified by:
      getLinks in class javax.ws.rs.core.Response
    • hasLink

      public boolean hasLink(String relation)
      Specified by:
      hasLink in class javax.ws.rs.core.Response
    • getLink

      public javax.ws.rs.core.Link getLink(String relation)
      Specified by:
      getLink in class javax.ws.rs.core.Response
    • getLinkBuilder

      public javax.ws.rs.core.Link.Builder getLinkBuilder(String relation)
      Specified by:
      getLinkBuilder in class javax.ws.rs.core.Response
    • getMetadata

      public javax.ws.rs.core.MultivaluedMap<String,Object> getMetadata()
      Specified by:
      getMetadata in class javax.ws.rs.core.Response
    • getStringHeaders

      public javax.ws.rs.core.MultivaluedMap<String,String> getStringHeaders()
      Specified by:
      getStringHeaders in class javax.ws.rs.core.Response
    • getHeaderString

      public String getHeaderString(String name)
      Specified by:
      getHeaderString in class javax.ws.rs.core.Response