Class MultiPartReaderClientSide

java.lang.Object
org.glassfish.jersey.media.multipart.internal.MultiPartReaderClientSide
All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<MultiPart>
Direct Known Subclasses:
MultiPartReaderServerSide

@Consumes("multipart/*") @Singleton @ConstrainedTo(CLIENT) public class MultiPartReaderClientSide extends Object implements javax.ws.rs.ext.MessageBodyReader<MultiPart>
MessageBodyReader implementation for MultiPart entities.
  • Field Details

    • LOGGER

      private static final Logger LOGGER
    • messageBodyWorkers

      @Inject private javax.inject.Provider<MessageBodyWorkers> messageBodyWorkers
      Injectable helper to look up appropriate MessageBodyReaders for our body parts.
    • mimeConfig

      private final org.jvnet.mimepull.MIMEConfig mimeConfig
  • Constructor Details

    • MultiPartReaderClientSide

      public MultiPartReaderClientSide(@Context javax.ws.rs.ext.Providers providers)
      Accepts constructor injection of the configuration parameters for this application.
  • Method Details

    • createMimeConfig

      private org.jvnet.mimepull.MIMEConfig createMimeConfig(MultiPartProperties properties)
    • isReadable

      public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)
      Specified by:
      isReadable in interface javax.ws.rs.ext.MessageBodyReader<MultiPart>
    • readFrom

      public MultiPart readFrom(Class<MultiPart> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> headers, InputStream stream) throws IOException, javax.ws.rs.WebApplicationException
      Reads the entire list of body parts from the Input stream, using the appropriate provider implementation to de-serialize each body part's entity.
      Specified by:
      readFrom in interface javax.ws.rs.ext.MessageBodyReader<MultiPart>
      Parameters:
      type - the class of the object to be read (i.e. MultiPart.class).
      genericType - the type of object to be written.
      annotations - annotations on the resource method that returned this object.
      mediaType - media type (multipart/*) of this entity.
      headers - mutable map of HTTP headers for the entire response.
      stream - output stream to which the entity should be written.
      Throws:
      IOException - if an I/O error occurs.
      javax.ws.rs.WebApplicationException - If an HTTP error response needs to be produced (only effective if the response is not committed yet) or if the Content-Disposition header of a multipart/form-data body part cannot be parsed.
    • readMultiPart

      protected MultiPart readMultiPart(Class<MultiPart> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> headers, InputStream stream) throws IOException, org.jvnet.mimepull.MIMEParsingException
      Throws:
      IOException
      org.jvnet.mimepull.MIMEParsingException
    • getMimeParts

      private List<org.jvnet.mimepull.MIMEPart> getMimeParts(org.jvnet.mimepull.MIMEMessage message)
      Get a list of mime part attachments from given mime message. If an exception occurs during parsing the message the parsed mime parts are closed (any temporary files are deleted).
      Parameters:
      message - mime message to get mime parts from.
      Returns:
      list of mime part attachments.
    • unquoteMediaTypeParameters

      private static javax.ws.rs.core.MediaType unquoteMediaTypeParameters(javax.ws.rs.core.MediaType mediaType, String... parameters)