Package io.gorules.zen.loader
Class ApiLoaderConfig.Builder
java.lang.Object
io.gorules.zen.loader.ApiLoaderConfig.Builder
- Enclosing class:
ApiLoaderConfig
Builder for ApiLoaderConfig with flexible header configuration.
-
Method Summary
Modifier and TypeMethodDescriptionAdd API key header.Add Basic authentication header.bearerToken(String token) Add Bearer token authorization header.build()Build the ApiLoaderConfig.caching(boolean enable) Enable or disable caching of loaded decisions.Add a single HTTP header.headerProvider(HeaderProvider provider) Set a provider for dynamic headers that are computed per request.Add multiple headers at once from a Map.maxRetries(int maxRetries) Set maximum number of retry attempts for failed requests.retryDelay(Duration retryDelay) Set delay between retry attempts.Set request timeout.
-
Method Details
-
header
Add a single HTTP header. Can be called multiple times to add multiple headers.- Parameters:
name- Header name (e.g., "Authorization", "X-API-Key")value- Header value- Returns:
- this builder
-
headers
Add multiple headers at once from a Map.- Parameters:
headers- Map of header names to values- Returns:
- this builder
-
bearerToken
Add Bearer token authorization header. Convenience method for: header("Authorization", "Bearer " + token)- Parameters:
token- Bearer token- Returns:
- this builder
-
apiKey
Add API key header. Convenience method for: header("X-API-Key", key)- Parameters:
key- API key- Returns:
- this builder
-
basicAuth
Add Basic authentication header. Convenience method for: header("Authorization", "Basic " + base64(username:password))- Parameters:
username- Usernamepassword- Password- Returns:
- this builder
-
headerProvider
Set a provider for dynamic headers that are computed per request. Useful for headers that change per request like timestamps, request IDs, etc.- Parameters:
provider- HeaderProvider instance- Returns:
- this builder
-
timeout
Set request timeout.- Parameters:
timeout- Timeout duration (default: 30 seconds)- Returns:
- this builder
-
maxRetries
Set maximum number of retry attempts for failed requests.- Parameters:
maxRetries- Maximum retries (default: 3)- Returns:
- this builder
-
retryDelay
Set delay between retry attempts.- Parameters:
retryDelay- Delay duration (default: 1 second)- Returns:
- this builder
-
caching
Enable or disable caching of loaded decisions.- Parameters:
enable- true to enable caching (default: true)- Returns:
- this builder
-
build
Build the ApiLoaderConfig.- Returns:
- ApiLoaderConfig instance
-