Integrations & Webhooks
You can use an array of webhookSettings
to handle integrations from the proxy.
Below is an example that lets you send traffic data to honeycomb in order to analyze what pages are being hit correctly.
Below example is for the Honeycomb Events API. Add as many webhooks as you like. You can also use this on your own servers to collect logs etc.
{
"origin": "https://example.com",
"cacheTtl": 30,
"webhookSettings": [
{
"headers": [
"X-Honeycomb-Team:YOUR_KEY"
],
"url": "https://api.honeycomb.io/1/events/YOUR_DATASET"
}
],
"renderSettings": [
{
"path": "/*",
"unfurlDelay": 1500,
"preRenderDelay": 4000
}
]
}
We'll send the following values via a JSON POST request to your webhooks
Key | Description | type |
---|---|---|
responseStatus | Status that WebRender responded with | int |
isStaticRequest | Whether the request is static | bool |
requestHostname | The hostname the request came in on | string |
requestUrl | The URL of the request | string |
requestUserAgent | The user agent of the incoming request | string |
requestCountry | 2-letter ISO code of the request country | string |
requestPlatform | The Webrender-Identified platform of the request | string |
processMs | How long the request took the process (server side) | bool |
isMiss | Whether it was a hit or a miss | bool |
Disabling webhooks
If a path is getting spammed by certain user agents, you can disable them on certain paths.
{
"origin": "https://example.com",
"cacheTtl": 30,
"renderSettings": [
{
"path": "/some_over_crowded_path/*",
"preRenderDelay": 3000,
"unfurlDelay": 3000,
"disable": [
"webhook"
]
}
]
}