Headers
HTTP headers are case-insensitive, order-preserving, and allow multiple fields with the same name.
API
Set header
{{#tabs global="language"}} {{#tab name=JS}}
flow.request.headers.set("X-Header1", "request");
{{#endtab}} {{#tab name=Lua}}
flow.request.headers:set("X-Header1", "request")
{{#endtab}} {{#tab name=Python}}
flow.request.headers.set("X-Header1", "request")
{{#endtab}} {{#endtabs}}
Append Header
{{#tabs global="language"}} {{#tab name=JS}}
flow.request.headers.append("X-Header1", "request");
{{#endtab}} {{#tab name=Lua}}
flow.request.headers:append("X-Header1", "request")
{{#endtab}} {{#tab name=Python}}
flow.request.headers.append("X-Header1", "request")
{{#endtab}} {{#endtabs}}
Remove a header
{{#tabs global="language"}} {{#tab name=JS}}
flow.request.headers.delete("X-Header1");
flow.request.headers.set("X-header2", undefined);
flow.request.headers.set("X-header3", null);
{{#endtab}} {{#tab name=Lua}}
flow.request.headers:delete("X-Header");
flow.request.headers["X-Header2"] = nil
{{#endtab}} {{#tab name=Python}}
flow.request.headers.delete("X-Header1")
flow.request.headers["X-Header2"] = None
del flow.request.headers["X-header3"]
{{#endtab}} {{#endtabs}}
Test if value is present
{{#tabs global="language"}} {{#tab name=JS}}
if (flow.request.headers.has("X-Header")) {
console.log("header is present");
}
{{#endtab}} {{#tab name=Lua}}
if (flow.request.headers:has("X-Header")) then
print("header is present")
end
{{#endtab}} {{#tab name=Python}}
if flow.request.headers.has("X-Header"):
print("header is present")
{{#endtab}} {{#endtabs}}