Context
Concurrency since 1.8.9
Starting with Nauthilus v1.8.9, Lua features and filters execute in parallel. The shared request context remains available across scripts, but there is no deterministic order of reads/writes between scripts. Prefer idempotent updates or namespaced keys to avoid conflicts, and do not rely on one feature running before another.
dynamic_loader("nauthilus_context")
local nauthilus_context = require("nauthilus_context")
nauthilus_context.context_set
Adds a value to the shared Lua context.
Syntax
nauthilus_context.context_set(key, value)
Parameters
key
(string): The key to store the value undervalue
(string/number/boolean/table): The value to store (cannot be a function)
Returns
None
Example
dynamic_loader("nauthilus_context")
local nauthilus_context = require("nauthilus_context")
nauthilus_context.context_set("user_id", 12345)
nauthilus_context.context_get
Retrieves a value from the shared Lua context.
Syntax
local value = nauthilus_context.context_get(key)
Parameters
key
(string): The key to retrieve the value for
Returns
value
(any): The stored value, or nil if the key doesn't exist
Example
dynamic_loader("nauthilus_context")
local nauthilus_context = require("nauthilus_context")
local user_id = nauthilus_context.context_get("user_id")
nauthilus_context.context_delete
Deletes a key/value pair from the shared Lua context.
Syntax
nauthilus_context.context_delete(key)
Parameters
key
(string): The key to delete
Returns
None
Example
dynamic_loader("nauthilus_context")
local nauthilus_context = require("nauthilus_context")
nauthilus_context.context_delete("user_id")