On this page
Overview
Use this policy to save time when network is congested and proxy API response is delayed. An incoming HTTP request to one of your Proxy endpoints returns the cached response after a specified time period.
In the policy settings, you specify the cache key parameters that HTTP requests map to and set the cache response time and refresh interval.
Because API Versions use endpoints generated in the SnapLogic IIP, the HTTP Response Cache policy supports Proxy endpoints only by design. In the UI, the API Policy Manager menus API and Version Details tabs do not display this policy.
Policy Execution Order
This policy executes after authentication and traffic shaping policies.
Architecture
This policy uses Google Guava cache, which offers a map to send responses. The cache must be enabled through feature flags on the Snaplex.
You can confirm the following cache key types for the client:
Protocol
Host
Path
HTTP Method
The policy supports using headers and query parameters to access the cache keys. The key is hashed with a SHA1 algorithm.
Each Cached HTTP Response contains the following information:
Original HTTP Response Object for preserving the flow of handling HTTP responses in the Gateway Resource.
byte[]
of the response content to preserve the stream that cannot be rewound.
Expired caches cannot be accessed and new entries overwrite any existing ones.
policy version
to determine if the policy has been updated since the last save. An update to the policy will direct the flow to acquire a new HTTP response and overwrite the existing one.
Limitations
The response cache must be less than 9,0000,000 bytes which is equivalent to 85.83 MB. The policy always returns the response, but any data over the limit renders the payload incomplete.
Settings
Parameter Name | Description | Default Value |
---|---|---|
Label | Required. The name for the API policy. | HTTP Respone Cache |
When this policy should be applied | An expression-enabled field that determines the condition to be fulfilled for the API policy to execute. For example, if the value in this field is | N/A |
Cache Interval | The time period of the current cache before it is refreshed. | 1 |
Time Unit | The time unit for the Cache Interval value. | Hour |
Use HTTP Request Headers to Create Cache Keys | Enables the use of specific headers to identify a cache. | Unselected |
Use HTTP Request Query Parameter to Create Cache Keys | Enables the use of query parameters to identify a cache. | Unselected |
Status | Specifies whether the API policy is enabled or disabled. | Enabled |