Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel1
maxLevel3
outlinefalse
typelist
printablefalse

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

Architecture

Persist a Response Cache Map in the Gateway Resource.

Each key value pair in the Response Cache Map will be:

{
policy_instance_id: Google Guava Cache,
...
}
Each Google Guava Cache will have key value pairs:

{
[ Hash Hex of params specified by policy ]: Cached HTTP Response
...
}
Each Cached HTTP Response will hold the following information:

Original HTTP Response Object for preserving the flow of handling HTTP responses in Gateway Resource.

byte[] of the response content to preserve the stream that cannot be rewound.

Expired caches cannot be accessed and new entries will overwrite existing ones.

policy version to determine if the policy has been updated since last save. An update to the policy will direct the flow to acquire a new HTTP response and overwrite the existing.

The persisted HTTP response will leverage the existing Gateway Resource flows so that response policies and compressions can be applied the cached HTTP response it as if it were a regular HTTP response that is acquired from a normal HTTP request (without a caching policy).

Provide a maintenance routine to clear out invalidated caches every 12 hours.

Limitations

We do limit the response cache to have a response less than the MAX_CACHE_BYTES which is a feature flag default to a value of 90000000 bytes which is equivalent to 85.83 MB (edited)

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 request.method == "POST", the API policy is executed only if the request method is a POST.

N/A

Cache Interval

1

Time Unit

Hour

Use HTTP Request Headers to Create Cache Keys

Unselected

Use HTTP Request Query Parameter to Create Cache Keys

Unselected

Status

Specifies whether the API policy is enabled or disabled. 

Enabled

...