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());
}
}