Example usage for org.springframework.http HttpOutputMessage getBody

List of usage examples for org.springframework.http HttpOutputMessage getBody

Introduction

In this page you can find the example usage for org.springframework.http HttpOutputMessage getBody.

Prototype

OutputStream getBody() throws IOException;

Source Link

Document

Return the body of the message as an output stream.

Usage

From source file:com.careerly.common.support.msgconverter.CsvHttpMessageConverter.java

@Override
protected void writeInternal(CsvResponse t, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
    ServletServerHttpResponse response = (ServletServerHttpResponse) outputMessage;
    response.getServletResponse().setCharacterEncoding("UTF-8");
    outputMessage.getHeaders().set("Content-Disposition", "attachment; filename=\"" + t.getFileName() + "\"");
    BufferedWriter bw = new BufferedWriter(
            new OutputStreamWriter(outputMessage.getBody(), Charset.forName("UTF-8")));
    try {/*from   w ww. jav  a  2  s  .  c  om*/
        for (List<String> line : Iterables.concat(Collections.singleton(t.getHead()), t.getBody())) {
            for (int i = 0; i < line.size(); i++) {
                if (line.get(i) != null) {
                    bw.write("\"");
                    bw.write(line.get(i));
                    bw.write("\"");
                }
                if (i < line.size() - 1) {
                    bw.write(seperator);
                }
            }
            bw.newLine();
        }
    } finally {
        bw.close();
    }
}

From source file:org.cloudfoundry.identity.uaa.error.ConvertingExceptionView.java

private void handleHttpEntityResponse(ResponseEntity<? extends ExceptionReport> responseEntity,
        HttpInputMessage inputMessage, HttpOutputMessage outputMessage) throws Exception {
    if (outputMessage instanceof ServerHttpResponse) {
        ((ServerHttpResponse) outputMessage).setStatusCode(responseEntity.getStatusCode());
    }/*from   w  w w .j  a v  a 2  s  . c  om*/
    if (responseEntity.getBody() != null) {
        writeWithMessageConverters(responseEntity.getBody(), inputMessage, outputMessage);
    } else {
        // flush headers
        outputMessage.getBody();
    }
}

From source file:com.wq.common.web.springmvc.MappingJackson2HttpMessageConverter.java

@SuppressWarnings("deprecation")
@Override//from  www  .j  a  v  a 2s  .co m
protected void writeInternal(Object object, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());
    JsonGenerator jsonGenerator = this.objectMapper.getJsonFactory()
            .createJsonGenerator(outputMessage.getBody(), encoding);

    // A workaround for JsonGenerators not applying serialization features
    // https://github.com/FasterXML/jackson-databind/issues/12
    if (this.objectMapper.isEnabled(SerializationFeature.INDENT_OUTPUT)) {
        jsonGenerator.useDefaultPrettyPrinter();
    }

    try {
        if (this.prefixJson) {
            jsonGenerator.writeRaw("[] && ");
        }
        // jsonp??
        boolean isJSONP = !ObjectUtil.isEmpty(WebContext.getRequest().getParameter(DEFAULT_CALLBACK));
        if (isJSONP) {
            WebContext.getResponse().setContentType("application/x-javascript");
            jsonGenerator.writeRaw(WebContext.getRequest().getParameter(DEFAULT_CALLBACK) + "(");
        }
        this.objectMapper.writeValue(jsonGenerator, object);
        if (isJSONP) {
            outputMessage.getBody().write(')');
        }
    } catch (JsonProcessingException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}

From source file:net.eusashead.hateoas.hal.http.converter.HalHttpMessageConverter.java

@Override
protected void writeInternal(Object target, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
    ReadableRepresentation rep = getRepresentation(target);
    MediaType contentType = outputMessage.getHeaders().getContentType();
    String mediaType = contentType.getType() + "/" + contentType.getSubtype();
    Writer writer = new OutputStreamWriter(outputMessage.getBody());
    rep.toString(mediaType, writer);/* w  w w .  j a  v a2  s .c  om*/
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteNoDefaultContentTypeCharset() throws Exception {

    // Setup/*from  w ww.  ja v a  2s .  c  o m*/
    instance.setOutputContentType(MediaType.APPLICATION_JSON);

    String expected = "\"foobar\"";
    String encoding = "ISO-8859-1";

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(JSON_CONTENT_TYPE);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), JSON_CONTENT_TYPE, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWrite() throws Exception {

    // TODO: Make this test more robust

    // Setup/*from www.ja v a  2  s .co m*/
    String encoding = "ISO-8859-1";
    String expected = "\"foobar\"";
    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteObject() throws Exception {

    // TODO: Make this test more robust

    // Setup/*  w  w w  . j a va2s  .  com*/
    String encoding = "ISO-8859-1";
    String expected = "{\"foo\":\"bar\"}";
    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteArray() throws Exception {

    // TODO: Make this test more robust

    // Setup//from   ww  w  . ja  va  2 s  .  com
    String encoding = "ISO-8859-1";
    String expected = "[\"foo\",\"bar\"]";
    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteCustomEncoding() throws Exception {

    // TODO: Make this test more robust

    // Setup/*from  ww  w  .jav a2s .  c o m*/
    String encoding = "UTF-8";
    instance.setEncoding(encoding);

    String expected = "\"foobar\"";

    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteCustomEncodingSetByCharset() throws Exception {

    // TODO: Make this test more robust

    // Setup//from  w w w  .  ja va 2  s  . c  o m
    String encoding = "UTF-8";
    instance.setEncoding(Charset.forName(encoding));

    String expected = "\"foobar\"";

    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}