Package net.snowflake.client.jdbc
Interface HttpHeadersCustomizer
-
public interface HttpHeadersCustomizer
Allows programmatic customization of HTTP headers for requests sent by the Snowflake JDBC driver.Implementations can be registered with the driver (e.g., via
SnowflakeBasicDataSource
) to dynamically add headers. They define which requests to apply headers to, provide the headers, and specify if headers should regenerate on retries (e.g., for dynamic tokens).
-
-
Field Summary
Fields Modifier and Type Field Description static String
HTTP_HEADER_CUSTOMIZERS_PROPERTY_KEY
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
applies(String method, String uri, Map<String,List<String>> currentHeaders)
Determines if this customizer should be applied to the given request context.boolean
invokeOnce()
Indicates if newHeaders() should be called only once for the initial request attempt (true), or if it should be called again before each retry attempt (false).Map<String,List<String>>
newHeaders()
Generates the custom headers to be added to the request.
-
-
-
Field Detail
-
HTTP_HEADER_CUSTOMIZERS_PROPERTY_KEY
static final String HTTP_HEADER_CUSTOMIZERS_PROPERTY_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
applies
boolean applies(String method, String uri, Map<String,List<String>> currentHeaders)
Determines if this customizer should be applied to the given request context.- Parameters:
method
- The HTTP method (e.g., "GET", "POST").uri
- The target URI for the request.currentHeaders
- A read-only view of headers already present before this customizer runs.- Returns:
- true if newHeaders() should be called for this request, false otherwise.
-
newHeaders
Map<String,List<String>> newHeaders()
Generates the custom headers to be added to the request.- Returns:
- A Map where keys are header names and values are Lists of header values.
-
invokeOnce
boolean invokeOnce()
Indicates if newHeaders() should be called only once for the initial request attempt (true), or if it should be called again before each retry attempt (false).- Returns:
- true for static headers, false for dynamic headers needing regeneration.
-
-