List of usage examples for org.springframework.http HttpOutputMessage getHeaders
HttpHeaders getHeaders();
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)); }