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> |
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 RESTClient
path
- 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 RESTClient
T
- 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 RESTClient
T
- 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 RESTClient
T
- 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 RESTClient
T
- 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 RESTClient
T
- 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 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 RESTClient
T
- 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 RESTClient
T
- 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 RESTClient
T
- 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.Closeable
close
in interface java.lang.AutoCloseable
java.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.