/*
 * Copyright 2002-2017 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.web.client;

import java.io.IOException;

Callback interface for code that operates on an AsyncClientHttpRequest. Allows to manipulate the request headers, and write to the request body.

Used internally by the AsyncRestTemplate, but also useful for application code.

Author:Arjen Poutsma
See Also:
Since:4.0
Deprecated:as of Spring 5.0, in favor of ExchangeFilterFunction
/** * Callback interface for code that operates on an * {@link org.springframework.http.client.AsyncClientHttpRequest}. Allows to * manipulate the request headers, and write to the request body. * * <p>Used internally by the {@link AsyncRestTemplate}, but also useful for * application code. * * @author Arjen Poutsma * @see org.springframework.web.client.AsyncRestTemplate#execute * @since 4.0 * @deprecated as of Spring 5.0, in favor of * {@link org.springframework.web.reactive.function.client.ExchangeFilterFunction} */
@FunctionalInterface @Deprecated public interface AsyncRequestCallback {
Gets called by AsyncRestTemplate.execute with an opened ClientHttpRequest. Does not need to care about closing the request or about handling errors: this will all be handled by the RestTemplate.
Params:
  • request – the active HTTP request
Throws:
/** * Gets called by {@link AsyncRestTemplate#execute} with an opened {@code ClientHttpRequest}. * Does not need to care about closing the request or about handling errors: * this will all be handled by the {@code RestTemplate}. * @param request the active HTTP request * @throws java.io.IOException in case of I/O errors */
void doWithRequest(org.springframework.http.client.AsyncClientHttpRequest request) throws IOException; }