public class HTTPClient extends java.lang.Object implements RESTClient
This class provides functionality for making HTTP requests to a REST API and processing the corresponding responses. It supports common HTTP methods like GET, POST, PUT, DELETE, and HEAD. Additionally, it allows handling server error responses using a custom error handler.
Referred from core/src/main/java/org/apache/iceberg/rest/HTTPClient.java
| Modifier and Type | Class and Description |
|---|---|
static class |
HTTPClient.Builder
Builder class for configuring and creating instances of HTTPClient.
|
| Modifier and Type | Method and Description |
|---|---|
static HTTPClient.Builder |
builder(java.util.Map<java.lang.String,java.lang.String> properties)
Creates a new instance of the HTTPClient.Builder with the specified properties.
|
void |
close()
Closes the underlying HTTP client gracefully.
|
<T extends RESTResponse> |
delete(java.lang.String path,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP DELETE request to the specified path without query parameters and processes the
response.
|
<T extends RESTResponse> |
delete(java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> queryParams,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP DELETE request to the specified path with the provided query parameters and
processes the response.
|
<T extends RESTResponse> |
get(java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> queryParams,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP GET request to the specified path and processes the response.
|
void |
head(java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP HEAD request to the specified path and processes the response.
|
<T extends RESTResponse> |
patch(java.lang.String path,
RESTRequest body,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP PATCH request to the specified path with the provided request body and processes
the response with support for response headers.
|
<T extends RESTResponse> |
post(java.lang.String path,
RESTRequest body,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP POST request to the specified path with the provided request body and processes
the response.
|
<T extends RESTResponse> |
post(java.lang.String path,
RESTRequest body,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler,
java.util.function.Consumer<java.util.Map<java.lang.String,java.lang.String>> responseHeaders)
Sends an HTTP POST request to the specified path with the provided request body and processes
the response with support for response headers.
|
<T extends RESTResponse> |
postForm(java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> formData,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP POST request with form data to the specified path and processes the response.
|
<T extends RESTResponse> |
put(java.lang.String path,
RESTRequest body,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
Sends an HTTP PUT request to the specified path with the provided request body and processes
the response.
|
<T extends RESTResponse> |
put(java.lang.String path,
RESTRequest body,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler,
java.util.function.Consumer<java.util.Map<java.lang.String,java.lang.String>> responseHeaders)
Sends an HTTP PUT request to the specified path with the provided request body and processes
the response with support for response headers.
|
public void head(java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> headers,
java.util.function.Consumer<ErrorResponse> errorHandler)
head in interface RESTClientpath - The URL path to send the HEAD request to.headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T get(java.lang.String path, java.util.Map<java.lang.String,java.lang.String> queryParams, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
get in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the GET request to.queryParams - A map of query parameters (key-value pairs) to include in the request URL
(can be null).responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T post(java.lang.String path, RESTRequest body, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
post in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the POST request to.body - The REST body to place in the request body.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T post(java.lang.String path, RESTRequest body, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler, java.util.function.Consumer<java.util.Map<java.lang.String,java.lang.String>> responseHeaders)
post in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the POST request to.body - The REST request to place in the request body.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.responseHeaders - The consumer of the response headers for further processing.public <T extends RESTResponse> T put(java.lang.String path, RESTRequest body, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
put in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the PUT request to.body - The REST request to place in the request body.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T put(java.lang.String path, RESTRequest body, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler, java.util.function.Consumer<java.util.Map<java.lang.String,java.lang.String>> responseHeaders)
put in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the PUT request to.body - The REST request to place in the request body.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.responseHeaders - The consumer of the response headers for further processing.public <T extends RESTResponse> T patch(java.lang.String path, RESTRequest body, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
patch in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the PATCH request to.body - The REST request to place in the request body.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T delete(java.lang.String path, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
delete in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the DELETE request to.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T delete(java.lang.String path, java.util.Map<java.lang.String,java.lang.String> queryParams, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
delete in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the DELETE request to.queryParams - A map of query parameters (key-value pairs) to include in the request (can
be null).responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public <T extends RESTResponse> T postForm(java.lang.String path, java.util.Map<java.lang.String,java.lang.String> formData, java.lang.Class<T> responseType, java.util.Map<java.lang.String,java.lang.String> headers, java.util.function.Consumer<ErrorResponse> errorHandler)
postForm in interface RESTClientT - The class type of the response for deserialization.path - The URL path to send the POST request to.formData - A map of form data (key-value pairs) to include in the request body.responseType - The class type of the response for deserialization (Must be registered with
the ObjectMapper).headers - A map of request headers (key-value pairs) to include in the request (can be
null).errorHandler - The error handler delegated for HTTP responses, which handles server error
responses.public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOException - If an I/O error occurs while closing the HTTP client.public static HTTPClient.Builder builder(java.util.Map<java.lang.String,java.lang.String> properties)
properties - A map of properties (key-value pairs) used to configure the HTTP client.