Example usage for org.springframework.http HttpOutputMessage getHeaders

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

Introduction

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

Prototype

HttpHeaders getHeaders();

Source Link

Document

Return the headers of this message.

Usage

From source file:com.onedrive.api.internal.MultipartRelatedHttpMessageConverter.java

@SuppressWarnings("unchecked")
private void writePart(String name, HttpEntity<?> partEntity, OutputStream os) throws IOException {
    Object partBody = partEntity.getBody();
    Class<?> partType = partBody.getClass();
    HttpHeaders partHeaders = partEntity.getHeaders();
    MediaType partContentType = partHeaders.getContentType();
    for (HttpMessageConverter<?> messageConverter : this.partConverters) {
        if (messageConverter.canWrite(partType, partContentType)) {
            HttpOutputMessage multipartMessage = new MultipartHttpOutputMessage(os);
            StringBuilder builder = new StringBuilder("<").append(name).append('>');
            multipartMessage.getHeaders().set("Content-ID", builder.toString());
            if (!partHeaders.isEmpty()) {
                multipartMessage.getHeaders().putAll(partHeaders);
            }/*from w  w w.  j  a va 2s  . co  m*/
            ((HttpMessageConverter<Object>) messageConverter).write(partBody, partContentType,
                    multipartMessage);
            return;
        }
    }
    throw new HttpMessageNotWritableException("Could not write request: no suitable HttpMessageConverter "
            + "found for request type [" + partType.getName() + "]");
}

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

@Override
public void write(JSOG jsog, MediaType type, HttpOutputMessage output)
        throws IOException, HttpMessageNotWritableException {

    // If the outputContentType doesn't specify a charset, we need to set it
    Charset encoding = outputContentType.getCharSet();
    if (encoding != null) {
        output.getHeaders().setContentType(outputContentType);
    } else {/*ww w.  j av a2 s. c o m*/
        encoding = this.encoding;

        output.getHeaders().setContentType(
                new MediaType(outputContentType.getType(), outputContentType.getSubtype(), encoding));
    }

    // Transform the JSOG to a byte array encoded in the proper encoding
    byte[] text = jsog.toString().getBytes(encoding);

    // Set the content length
    output.getHeaders().setContentLength(text.length);
    IOUtils.write(text, output.getBody());
}

From source file:com.fiadot.springjsoncrypt.json.CryptMappingJacson2HttpMessageConverter.java

@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());
    // The following has been deprecated as late as Jackson 2.2 (April 2013);
    // preserved for the time being, for Jackson 2.0/2.1 compatibility.
    @SuppressWarnings("deprecation")
    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();
    }//from ww  w . j a v a  2 s .  c o m

    try {
        if (this.jsonPrefix != null) {
            jsonGenerator.writeRaw(this.jsonPrefix);
        }

        // original source
        // jsonGenerator.
        //this.objectMapper.writeValue(jsonGenerator, object);

        CipherEncryptUtils cryptoUtil = new CipherEncryptUtils("AES", "AES/CBC/PKCS7Padding",
                "ls4h+XaXU+A5m72HRpwkeQ==", "W46YspHuEiQlKDcLTqoySw==");
        String encStr = null;
        try {
            encStr = cryptoUtil.encrypt(this.objectMapper.writeValueAsString(object));
            logger.info("MessageMapper::WriteInternal() encStr=" + encStr);
        } catch (Exception e) {

        }

        outputMessage.getBody().write(encStr.getBytes());
    } catch (JsonProcessingException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}

From source file:com.httpMessageConvert.FormHttpMessageConverter.java

@SuppressWarnings("unchecked")
private void writePart(String name, HttpEntity partEntity, OutputStream os) throws IOException {
    Object partBody = partEntity.getBody();
    Class<?> partType = partBody.getClass();
    HttpHeaders partHeaders = partEntity.getHeaders();
    MediaType partContentType = partHeaders.getContentType();
    for (HttpMessageConverter messageConverter : partConverters) {
        if (messageConverter.canWrite(partType, partContentType)) {
            HttpOutputMessage multipartOutputMessage = new MultipartHttpOutputMessage(os);
            multipartOutputMessage.getHeaders().setContentDispositionFormData(name, getFilename(partBody));
            if (!partHeaders.isEmpty()) {
                multipartOutputMessage.getHeaders().putAll(partHeaders);
            }/*  www .j ava2 s .co m*/
            messageConverter.write(partBody, partContentType, multipartOutputMessage);
            return;
        }
    }
    throw new HttpMessageNotWritableException(
            "Could not write request: no suitable HttpMessageConverter found for request type ["
                    + partType.getName() + "]");
}

From source file:com.httpMessageConvert.FormHttpMessageConverter.java

private void writeForm(MultiValueMap<String, String> form, MediaType contentType,
        HttpOutputMessage outputMessage) throws IOException {
    Charset charset;// ww w  .  j ava2 s  .c o m
    if (contentType != null) {
        outputMessage.getHeaders().setContentType(contentType);
        charset = contentType.getCharSet() != null ? contentType.getCharSet() : this.charset;
    } else {
        outputMessage.getHeaders().setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        charset = this.charset;
    }
    StringBuilder builder = new StringBuilder();
    for (Iterator<String> nameIterator = form.keySet().iterator(); nameIterator.hasNext();) {
        String name = nameIterator.next();
        for (Iterator<String> valueIterator = form.get(name).iterator(); valueIterator.hasNext();) {
            String value = valueIterator.next();
            builder.append(URLEncoder.encode(name, charset.name()));
            if (value != null) {
                builder.append('=');
                builder.append(URLEncoder.encode(value, charset.name()));
                if (valueIterator.hasNext()) {
                    builder.append('&');
                }
            }
        }
        if (nameIterator.hasNext()) {
            builder.append('&');
        }
    }
    byte[] bytes = builder.toString().getBytes(charset.name());
    outputMessage.getHeaders().setContentLength(bytes.length);
    StreamUtils.copy(bytes, outputMessage.getBody());
}

From source file:com.onedrive.api.internal.MultipartRelatedHttpMessageConverter.java

private void writeMultipart(final MultiValueMap<String, Object> parts, HttpOutputMessage outputMessage)
        throws IOException {
    final byte[] boundary = generateMultipartBoundary();
    Map<String, String> parameters = Collections.singletonMap("boundary", new String(boundary, "US-ASCII"));

    MediaType contentType = new MediaType(MULTIPART_RELATED_MEDIA_TYPE, parameters);
    HttpHeaders headers = outputMessage.getHeaders();
    headers.setContentType(contentType);

    if (outputMessage instanceof StreamingHttpOutputMessage) {
        StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage;
        streamingOutputMessage.setBody(new StreamingHttpOutputMessage.Body() {
            public void writeTo(OutputStream outputStream) throws IOException {
                writeParts(outputStream, parts, boundary);
                writeEnd(outputStream, boundary);
            }//  w ww.  j  a  v a  2  s  .  c  o  m
        });
    } else {
        writeParts(outputMessage.getBody(), parts, boundary);
        writeEnd(outputMessage.getBody(), boundary);
    }
}

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

@Test
public void testWriteNoDefaultContentTypeCharset() throws Exception {

    // Setup/*from w w w  .j  a  v a2s. co  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//w  ww. jav a 2 s  . com
    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/* ww w .ja  v  a  2s.  c o  m*/
    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));
}