expressWebhook()
Simplifies the process of setting up a Lambda Webhook in your Express.js server. See pagesRouterWebhook()
and appRouterWebhook()
for doing the same with Next.js apps.
API
The function accepts an object with six key-value pairs:
secret
Your webhook secret, must be a string
testing
Whether or not to allow requests intending to test the endpoint, useful while using Webhook endpoint tester on Webhooks Page. Should be a boolean
.
extraHeaders
Add your own custom headers to the outgoing response. Provide key-value pairs where both the key and value are strings.
onSuccess()
A function that is called with a WebhookSuccessPayload
object as an argument when the incoming request indicates a successful event.
onError()
A function that is called with a WebhookErrorPayload
object as an argument when the incoming request indicates an error.
onTimeout()
A function that is called with a WebhookTimeoutPayload
object as an argument when the incoming request indicates a timeout.
Example
Setting up a webhook endpoint in an Express.js server.
server.jsjsx
import {expressWebhook } from '@remotion/lambda/client';consthandler =expressWebhook ({secret : 'mysecret',testing : true,extraHeaders : {region : "south-asia"},onSuccess : () =>console .log ('Rendering Completed Successfully'),onError : () =>console .log ('Something went wrong while rendering'),onTimeout : () =>console .log ('Timeout occured while rendering'),})router .post ("/webhook",jsonParser ,handler );router .options ("/webhook",jsonParser ,handler );
server.jsjsx
import {expressWebhook } from '@remotion/lambda/client';consthandler =expressWebhook ({secret : 'mysecret',testing : true,extraHeaders : {region : "south-asia"},onSuccess : () =>console .log ('Rendering Completed Successfully'),onError : () =>console .log ('Something went wrong while rendering'),onTimeout : () =>console .log ('Timeout occured while rendering'),})router .post ("/webhook",jsonParser ,handler );router .options ("/webhook",jsonParser ,handler );
See Webhooks for a detailed example.