com.rt.storage.api.client.http.HttpRequestInitializer Maven / Gradle / Ivy
package com.rt.storage.api.client.http;
import java.io.IOException;
/**
* HTTP request initializer.
*
* For example, this might be used to disable request timeouts:
*
*
* public class DisableTimeout implements HttpRequestInitializer {
* public void initialize(HttpRequest request) {
* request.setConnectTimeout(0);
* request.setReadTimeout(0);
* }
* }
*
*
* Sample usage with a request factory:
*
*
* public static HttpRequestFactory createRequestFactory(HttpTransport transport) {
* return transport.createRequestFactory(new DisableTimeout());
* }
*
*
* More complex usage example:
*
*
* public static HttpRequestFactory createRequestFactory2(HttpTransport transport) {
* final DisableTimeout disableTimeout = new DisableTimeout();
* return transport.createRequestFactory(new HttpRequestInitializer() {
* public void initialize(HttpRequest request) {
* disableTimeout.initialize(request);
* }
* });
* }
*
*
* Implementations should normally be thread-safe.
*
* @since 1.4
* @author Yaniv Inbar
*/
public interface HttpRequestInitializer {
/**
* Initializes a request.
*
* @param request HTTP request
*/
void initialize(HttpRequest request) throws IOException;
}