All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.springframework.http.converter.InputStreamHttpMessageConverter Maven / Gradle / Ivy

The newest version!
package org.springframework.http.converter;

import java.io.IOException;
import java.io.InputStream;

import org.springframework.http.HttpInputMessage;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.util.StreamUtils;

/**
 * @see java.io.InputStream#available();
 * @see AbstractHttpMessageConverter#getContentLength(Object, MediaType)
 */
public class InputStreamHttpMessageConverter extends AbstractHttpMessageConverter {
  @Override
  protected boolean supports(Class clazz) {
    return InputStream.class.isAssignableFrom(clazz);
  }

  @Override
  protected boolean canWrite(MediaType mediaType) {
    return true;
  }

  @Override
  protected boolean canRead(MediaType mediaType) {
    return true;
  }

  @Override
  protected InputStream readInternal(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException {
    return inputMessage.getBody();
  }

  @Override
  protected void writeInternal(InputStream inputStream, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
    StreamUtils.copy(inputStream, outputMessage.getBody());
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy