Example usage for org.springframework.http HttpOutputMessage HttpOutputMessage

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

Introduction

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

Prototype

HttpOutputMessage

Source Link

Usage

From source file:org.geoserver.importer.rest.ImportTaskControllerTest.java

private Integer putZipAsURL(String zip) throws Exception {
    MockHttpServletResponse resp = postAsServletResponse(RestBaseController.ROOT_PATH + "/imports", "");
    assertEquals(201, resp.getStatus());
    assertNotNull(resp.getHeader("Location"));

    String[] split = resp.getHeader("Location").split("/");
    Integer id = Integer.parseInt(split[split.length - 1]);
    ImportContext context = importer.getContext(id);

    MockHttpServletRequest req = createRequest(RestBaseController.ROOT_PATH + "/imports/" + id + "/tasks/");
    MultiValueMap<String, Object> form = new LinkedMultiValueMap<String, Object>(1);
    form.add("url", new File(zip).getAbsoluteFile().toURI().toString());
    final ByteArrayOutputStream stream = new ByteArrayOutputStream();
    final HttpHeaders headers = new HttpHeaders();
    new FormHttpMessageConverter().write(form, MediaType.APPLICATION_FORM_URLENCODED, new HttpOutputMessage() {
        @Override/*w  ww  . j a  v a2 s . c o  m*/
        public OutputStream getBody() throws IOException {
            return stream;
        }

        @Override
        public HttpHeaders getHeaders() {
            return headers;
        }
    });
    req.setContent(stream.toByteArray());
    req.setMethod("POST");
    req.setContentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE);
    req.addHeader("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
    resp = dispatch(req);

    assertEquals(201, resp.getStatus());

    context = importer.getContext(context.getId());
    assertNull(context.getData());
    assertEquals(1, context.getTasks().size());

    ImportTask task = context.getTasks().get(0);
    assertTrue(task.getData() instanceof SpatialFile);

    return id;
}

From source file:org.springframework.http.converter.AbstractHttpMessageConverter.java

/**
 * This implementation sets the default headers by calling {@link #addDefaultHeaders},
 * and then calls {@link #writeInternal}.
 *//* w  w  w  .  j a  v  a  2  s.  c  o m*/
@Override
public final void write(final T t, @Nullable MediaType contentType, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    final HttpHeaders headers = outputMessage.getHeaders();
    addDefaultHeaders(headers, t, contentType);

    if (outputMessage instanceof StreamingHttpOutputMessage) {
        StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage;
        streamingOutputMessage.setBody(new StreamingHttpOutputMessage.Body() {
            @Override
            public void writeTo(final OutputStream outputStream) throws IOException {
                writeInternal(t, new HttpOutputMessage() {
                    @Override
                    public OutputStream getBody() throws IOException {
                        return outputStream;
                    }

                    @Override
                    public HttpHeaders getHeaders() {
                        return headers;
                    }
                });
            }
        });
    } else {
        writeInternal(t, outputMessage);
        outputMessage.getBody().flush();
    }
}