Edit request/response
In this page we will demonstrate basic operations that you can achieve in functions.
Accessing request data (incoming webhook/API request)
Lua functions use r
object that provide access to request data (headers, query, method and body) and can then update any HTTP request details.
Available data to access:
Read request body
An example of accessing request body and decoding it:
Reading request headers
To access specific header, use:
Reading request URL query
To read request URL query (for example /v1/api?hub.mode=subscribe&hub.challenge=1903260781&hub.verify_token=my-token"
) you have two options:
r.RequestQuery["hub.challenge"]
which will return1903260781
for this example.r.RequestRawQuery
which will return full raw queryhub.mode=subscribe&hub.challenge=1903260781&hub.verify_token=my-token"
Modify request data
Available methods to update request:
An example how to update request object:
Modify response
Note: customized responses only applicable if function is attached to the Input and not bucket’s Output.
Available methods to set customized response:
Getting configuration values
Configuration values in Lua functions allow sharing the code without sharing sensitive information or just configuration values that might change between accounts, teams, etc.
To add a new configuration value:
Create a function
Go to function details
Click on a tab “CONFIG VARIABLES”
Specify config variable key and value.
Once you have specified these details, you can start using them in your functions:
Filtering requests
To filter requests based on body, headers or some external conditions, you can use r:StopForwarding()
method. This will set webhook status to rejected and this webhook will not be forwarded:
Last updated