@Override public <T> RequestEntity<T> body(T body, Type type) { return new RequestEntity<>(body, this.headers, this.method, this.url, type); } }
@Override public <T> RequestEntity<T> body(T body) { return new RequestEntity<>(body, this.headers, this.method, this.url); }
@Override public RequestEntity<Void> build() { return new RequestEntity<>(this.headers, this.method, this.url); }
@Override public <T> RequestEntity<T> body(T body, Type type) { return new RequestEntity<>(body, this.headers, this.method, this.url, type); } }
@Override public <T> RequestEntity<T> body(T body) { return new RequestEntity<>(body, this.headers, this.method, this.url); }
@Override public RequestEntity<Void> build() { return new RequestEntity<>(this.headers, this.method, this.url); }
void post(byte[] json) { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(this.mediaType); RequestEntity<byte[]> requestEntity = new RequestEntity<>(json, httpHeaders, HttpMethod.POST, URI.create(this.url)); this.restTemplate.exchange(requestEntity, String.class); }
private Object createEntity(@Nullable Object body, Class<?> entityType, ServerHttpRequest request) { return (RequestEntity.class.equals(entityType) ? new RequestEntity<>(body, request.getHeaders(), request.getMethod(), request.getURI()) : new HttpEntity<>(body, request.getHeaders())); }
private RequestEntity<Void> requestWithTraceId() { HttpHeaders headers = new HttpHeaders(); headers.add(TRACE_ID_NAME, SpanUtil.idToHex(this.traceId)); headers.add(SPAN_ID_NAME, SpanUtil.idToHex(this.spanId)); URI uri = URI.create(this.url); RequestEntity<Void> requestEntity = new RequestEntity<>(headers, HttpMethod.GET, uri); log.info("Request [" + requestEntity + "] is ready"); return requestEntity; }
@Override @Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws IOException, HttpMediaTypeNotSupportedException { ServletServerHttpRequest inputMessage = createInputMessage(webRequest); Type paramType = getHttpEntityType(parameter); if (paramType == null) { throw new IllegalArgumentException("HttpEntity parameter '" + parameter.getParameterName() + "' in method " + parameter.getMethod() + " is not parameterized"); } Object body = readWithMessageConverters(webRequest, parameter, paramType); if (RequestEntity.class == parameter.getParameterType()) { return new RequestEntity<>(body, inputMessage.getHeaders(), inputMessage.getMethod(), inputMessage.getURI()); } else { return new HttpEntity<>(body, inputMessage.getHeaders()); } }
@Override public Resource retrieveResource(URL url) throws IOException { HttpHeaders headers = new HttpHeaders(); headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8)); ResponseEntity<String> response; try { RequestEntity<Void> request = new RequestEntity<>(headers, HttpMethod.GET, url.toURI()); response = this.restOperations.exchange(request, String.class); } catch (Exception ex) { throw new IOException(ex); } if (response.getStatusCodeValue() != 200) { throw new IOException(response.toString()); } return new Resource(response.getBody(), "UTF-8"); } }
/** * Returns the {@link RequestEntity} used for the Access Token Request. * * @param clientCredentialsGrantRequest the client credentials grant request * @return the {@link RequestEntity} used for the Access Token Request */ @Override public RequestEntity<?> convert(OAuth2ClientCredentialsGrantRequest clientCredentialsGrantRequest) { ClientRegistration clientRegistration = clientCredentialsGrantRequest.getClientRegistration(); HttpHeaders headers = OAuth2AuthorizationGrantRequestEntityUtils.getTokenRequestHeaders(clientRegistration); MultiValueMap<String, String> formParameters = this.buildFormParameters(clientCredentialsGrantRequest); URI uri = UriComponentsBuilder.fromUriString(clientRegistration.getProviderDetails().getTokenUri()) .build() .toUri(); return new RequestEntity<>(formParameters, headers, HttpMethod.POST, uri); }
/** * Returns the {@link RequestEntity} used for the Access Token Request. * * @param authorizationCodeGrantRequest the authorization code grant request * @return the {@link RequestEntity} used for the Access Token Request */ @Override public RequestEntity<?> convert(OAuth2AuthorizationCodeGrantRequest authorizationCodeGrantRequest) { ClientRegistration clientRegistration = authorizationCodeGrantRequest.getClientRegistration(); HttpHeaders headers = OAuth2AuthorizationGrantRequestEntityUtils.getTokenRequestHeaders(clientRegistration); MultiValueMap<String, String> formParameters = this.buildFormParameters(authorizationCodeGrantRequest); URI uri = UriComponentsBuilder.fromUriString(clientRegistration.getProviderDetails().getTokenUri()) .build() .toUri(); return new RequestEntity<>(formParameters, headers, HttpMethod.POST, uri); }
@Override @Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws IOException, HttpMediaTypeNotSupportedException { ServletServerHttpRequest inputMessage = createInputMessage(webRequest); Type paramType = getHttpEntityType(parameter); if (paramType == null) { throw new IllegalArgumentException("HttpEntity parameter '" + parameter.getParameterName() + "' in method " + parameter.getMethod() + " is not parameterized"); } Object body = readWithMessageConverters(webRequest, parameter, paramType); if (RequestEntity.class == parameter.getParameterType()) { return new RequestEntity<>(body, inputMessage.getHeaders(), inputMessage.getMethod(), inputMessage.getURI()); } else { return new HttpEntity<>(body, inputMessage.getHeaders()); } }
MultiValueMap<String, String> formParameters = new LinkedMultiValueMap<>(); formParameters.add(OAuth2ParameterNames.ACCESS_TOKEN, userRequest.getAccessToken().getTokenValue()); request = new RequestEntity<>(formParameters, headers, httpMethod, uri); } else { headers.setBearerAuth(userRequest.getAccessToken().getTokenValue()); request = new RequestEntity<>(headers, httpMethod, uri);
@Test public void requestEntity() throws Exception { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_PLAIN); String body = "foo"; HttpEntity<String> httpEntity = new HttpEntity<>(body, headers); RequestEntity<String> requestEntity = new RequestEntity<>(body, headers, HttpMethod.GET, new URI("/")); RequestEntity<String> requestEntity2 = new RequestEntity<>(body, headers, HttpMethod.GET, new URI("/")); assertEquals(body, requestEntity.getBody()); assertEquals(MediaType.TEXT_PLAIN, requestEntity.getHeaders().getContentType()); assertEquals("text/plain", requestEntity.getHeaders().getFirst("Content-Type")); assertEquals("text/plain", requestEntity.getHeaders().getFirst("Content-Type")); assertFalse(httpEntity.equals(requestEntity)); assertFalse(requestEntity.equals(httpEntity)); assertTrue(requestEntity.equals(requestEntity2)); assertTrue(requestEntity2.equals(requestEntity)); }
headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE); RequestEntity<MultiValueMap<String,String>> requestEntity = new RequestEntity<>( tokenParams, headers,
protected RequestEntity<Object> prepareRequestEntity(ServletServerHttpRequest request) throws IOException { Object requestBody = null; if (isReadable(request)) { requestBody = extractRequestBody(request); } return new RequestEntity<>(requestBody, request.getHeaders(), request.getMethod(), request.getURI()); }
private static RequestEntity<Object> prepareRequestEntity(Object body, ServletServerHttpRequest request) throws IOException { return new RequestEntity<>(body, request.getHeaders(), request.getMethod(), request.getURI()); }
private Mono<Void> doHandle(ServerWebExchange exchange) { return extractRequestBody(exchange) .doOnSubscribe(s -> this.activeCount.incrementAndGet()) .cast(Object.class) .switchIfEmpty(Mono.just(exchange.getRequest().getQueryParams())) .map(body -> new RequestEntity<>(body, exchange.getRequest().getHeaders(), exchange.getRequest().getMethod(), exchange.getRequest().getURI())) .flatMap(entity -> buildMessage(entity, exchange)) .flatMap(requestTuple -> { if (this.expectReply) { return sendAndReceiveMessageReactive(requestTuple.getT1()) .flatMap(replyMessage -> populateResponse(exchange, replyMessage)); } else { send(requestTuple.getT1()); return setStatusCode(exchange, requestTuple.getT2()); } }) .doOnTerminate(this.activeCount::decrementAndGet); }