Class ApiLoaderConfig

java.lang.Object
io.gorules.zen.loader.ApiLoaderConfig

public class ApiLoaderConfig extends Object
Configuration for ApiDecisionLoader. Supports flexible header configuration for any HTTP headers you need.

 ApiLoaderConfig config = ApiLoaderConfig.builder("https://api.example.com/decisions")
     .header("Authorization", "Bearer token123")
     .header("X-API-Key", "your-key")
     .header("X-Custom-Header", "any-value")
     .timeout(Duration.ofSeconds(30))
     .caching(true)
     .build();
 
  • Method Details

    • builder

      public static ApiLoaderConfig.Builder builder(String baseUrl)
      Create a new builder with the given base URL.
      Parameters:
      baseUrl - Base URL for API (e.g., "https://api.example.com/decisions")
      Returns:
      Builder instance
    • getAllHeaders

      public Map<String,String> getAllHeaders()
      Get all headers (static + dynamic) for a request.
      Returns:
      Combined headers map
    • getBaseUrl

      public String getBaseUrl()
      Get the base URL for API requests.
      Returns:
      Base URL
    • getStaticHeaders

      public Map<String,String> getStaticHeaders()
      Get static headers (does not include dynamic headers from provider).
      Returns:
      Map of static headers
    • getTimeout

      public Duration getTimeout()
      Get request timeout duration.
      Returns:
      Timeout duration
    • getMaxRetries

      public int getMaxRetries()
      Get maximum number of retry attempts.
      Returns:
      Maximum retries
    • getRetryDelay

      public Duration getRetryDelay()
      Get delay between retry attempts.
      Returns:
      Retry delay duration
    • isEnableCaching

      public boolean isEnableCaching()
      Check if caching is enabled.
      Returns:
      true if caching is enabled