@Override public DefaultRequestBodyUriSpec cookies(Consumer<MultiValueMap<String, String>> cookiesConsumer) { cookiesConsumer.accept(getCookies()); return this; }
@Override public DefaultRequestBodyUriSpec ifNoneMatch(String... ifNoneMatches) { getHeaders().setIfNoneMatch(Arrays.asList(ifNoneMatches)); return this; }
@Override public RequestBodySpec uri(Function<UriBuilder, URI> uriFunction) { return uri(uriFunction.apply(uriBuilderFactory.builder())); }
private RequestBodyUriSpec methodInternal(HttpMethod httpMethod) { return new DefaultRequestBodyUriSpec(httpMethod); }
@Override public DefaultRequestBodyUriSpec ifModifiedSince(ZonedDateTime ifModifiedSince) { getHeaders().setIfModifiedSince(ifModifiedSince); return this; }
@Override public DefaultRequestBodyUriSpec contentType(MediaType contentType) { getHeaders().setContentType(contentType); return this; }
@Override public Mono<ClientResponse> exchange() { ClientRequest request = (this.inserter != null ? initRequestBuilder().body(this.inserter).build() : initRequestBuilder().build()); return exchangeFunction.exchange(request).switchIfEmpty(NO_HTTP_CLIENT_RESPONSE_ERROR); }
@Override public ResponseSpec retrieve() { return new DefaultResponseSpec(exchange(), this::createRequest); }
@Override public DefaultRequestBodyUriSpec headers(Consumer<HttpHeaders> headersConsumer) { headersConsumer.accept(getHeaders()); return this; }
@Override public DefaultRequestBodyUriSpec header(String headerName, String... headerValues) { for (String headerValue : headerValues) { getHeaders().add(headerName, headerValue); } return this; }
@Override public DefaultRequestBodyUriSpec contentLength(long contentLength) { getHeaders().setContentLength(contentLength); return this; }
@Override public DefaultRequestBodyUriSpec accept(MediaType... acceptableMediaTypes) { getHeaders().setAccept(Arrays.asList(acceptableMediaTypes)); return this; }
private ClientRequest.Builder initRequestBuilder() { if (defaultRequest != null) { defaultRequest.accept(this); } return ClientRequest.create(this.httpMethod, initUri()) .headers(headers -> headers.addAll(initHeaders())) .cookies(cookies -> cookies.addAll(initCookies())) .attributes(attributes -> attributes.putAll(this.attributes)); }
@Override public DefaultRequestBodyUriSpec cookie(String name, String value) { getCookies().add(name, value); return this; }
@Override public DefaultRequestBodyUriSpec acceptCharset(Charset... acceptableCharsets) { getHeaders().setAcceptCharset(Arrays.asList(acceptableCharsets)); return this; }