/** * Generate http request entity from Spring Integration message. * * @param requestMessage * @param method * @return */ private HttpEntity<?> generateRequest(Message<?> requestMessage, HttpMethod method) { HttpHeaders httpHeaders = new HttpHeaders(); headerMapper.fromHeaders(requestMessage.getHeaders(), httpHeaders); Map<String, ?> messageHeaders = requestMessage.getHeaders(); for (Entry<String, ?> header : messageHeaders.entrySet()) { if (!header.getKey().startsWith(CitrusMessageHeaders.PREFIX) && !MessageUtils.isSpringInternalHeader(header.getKey()) && !httpHeaders.containsKey(header.getKey())) { httpHeaders.add(header.getKey(), header.getValue().toString()); } } Object payload = requestMessage.getPayload(); if (httpHeaders.getContentType() == null) { httpHeaders.setContentType( MediaType.parseMediaType( contentType.contains("charset") ? contentType : contentType + ";charset=" + charset)); } if (HttpMethod.POST.equals(method) || HttpMethod.PUT.equals(method)) { return new HttpEntity<Object>(payload, httpHeaders); } return new HttpEntity<Object>(httpHeaders); }
@Test public void contentType() { MediaType contentType = new MediaType("text", "html", Charset.forName("UTF-8")); headers.setContentType(contentType); assertEquals("Invalid Content-Type header", contentType, headers.getContentType()); assertEquals( "Invalid Content-Type header", "text/html;charset=UTF-8", headers.getFirst("Content-Type")); }
private HttpEntity<?> createHttpEntity(Object document) { if (document instanceof HttpEntity) { HttpEntity httpEntity = (HttpEntity) document; Assert.isTrue( httpEntity.getHeaders().getContentType().equals(MediaType.APPLICATION_JSON), "HttpEntity payload with non application/json content type found."); return httpEntity; } HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_JSON); HttpEntity<Object> httpEntity = new HttpEntity<Object>(document, httpHeaders); return httpEntity; }
@Override @Nullable protected ResponseEntity doInBackground(Void... params) { try { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); HttpEntity<String> request = new HttpEntity<>(headers); RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); restTemplate.getMessageConverters().add(new FormHttpMessageConverter()); ResponseEntity response = restTemplate.postForEntity(host, request, ResponseEntity.class); return response; } catch (Exception e) { Log.e("Http Request Exception", e.getMessage(), e); } return null; }
/** * Generates the Http response message from given Spring Integration message. * * @param responseMessage message received from the message handler * @return an HTTP entity as response */ private ResponseEntity<String> generateResponse(Message<?> responseMessage) { if (responseMessage == null) { return new ResponseEntity<String>(HttpStatus.OK); } HttpHeaders httpHeaders = new HttpHeaders(); headerMapper.fromHeaders(responseMessage.getHeaders(), httpHeaders); Map<String, ?> messageHeaders = responseMessage.getHeaders(); for (Entry<String, ?> header : messageHeaders.entrySet()) { if (!header.getKey().startsWith(CitrusMessageHeaders.PREFIX) && !MessageUtils.isSpringInternalHeader(header.getKey()) && !httpHeaders.containsKey(header.getKey())) { httpHeaders.add(header.getKey(), header.getValue().toString()); } } if (httpHeaders.getContentType() == null) { httpHeaders.setContentType( MediaType.parseMediaType( contentType.contains("charset") ? contentType : contentType + ";charset=" + charset)); } HttpStatus status = HttpStatus.OK; if (responseMessage.getHeaders().containsKey(CitrusHttpMessageHeaders.HTTP_STATUS_CODE)) { status = HttpStatus.valueOf( Integer.valueOf( responseMessage .getHeaders() .get(CitrusHttpMessageHeaders.HTTP_STATUS_CODE) .toString())); } responseCache = new ResponseEntity<String>(responseMessage.getPayload().toString(), httpHeaders, status); return responseCache; }
private Ngsi2Client() { // set default headers for Content-Type and Accept to application/JSON httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_JSON); httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON)); }
public void writeTo(OutputStream outputstream) { OutputStreamWriter outputstreamwriter = new OutputStreamWriter(outputstream, getCharset()); String s = getBoundary(); Iterator iterator = parts.iterator(); while (iterator.hasNext()) { Object obj1 = (Part)iterator.next(); HttpHeaders httpheaders = (new HttpHeaders()).setAcceptEncoding(null); if (((Part) (obj1)).headers != null) { httpheaders.fromHttpHeaders(((Part) (obj1)).headers); } httpheaders.setContentEncoding(null).setUserAgent(null).setContentType(null).setContentLength(null).set("Content-Transfer-Encoding", null); Object obj = ((Part) (obj1)).content; if (obj != null) { httpheaders.set("Content-Transfer-Encoding", Arrays.asList(new String[] { "binary" })); httpheaders.setContentType(((HttpContent) (obj)).getType()); obj1 = ((Part) (obj1)).encoding; long l; if (obj1 == null) { l = ((HttpContent) (obj)).getLength(); } else { httpheaders.setContentEncoding(((HttpEncoding) (obj1)).getName()); obj1 = new HttpEncodingStreamingContent(((htb) (obj)), ((HttpEncoding) (obj1))); l = AbstractHttpContent.computeLength(((HttpContent) (obj))); obj = obj1; } obj1 = obj; if (l != -1L) { httpheaders.setContentLength(Long.valueOf(l)); obj1 = obj; } } else { obj1 = null; } outputstreamwriter.write("--"); outputstreamwriter.write(s); outputstreamwriter.write("\r\n"); HttpHeaders.serializeHeadersForMultipartRequests(httpheaders, null, null, outputstreamwriter); if (obj1 != null) { outputstreamwriter.write("\r\n"); outputstreamwriter.flush(); ((htb) (obj1)).writeTo(outputstream); } outputstreamwriter.write("\r\n"); } outputstreamwriter.write("--"); outputstreamwriter.write(s); outputstreamwriter.write("--"); outputstreamwriter.write("\r\n"); outputstreamwriter.flush(); }