luci-lua-runtime: proxy all dispatcher context property accesses
authorJo-Philipp Wich <jo@mein.io>
Tue, 15 Nov 2022 18:49:05 +0000 (19:49 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 15 Nov 2022 18:49:05 +0000 (19:49 +0100)
commita1ee78fa696e13ad4e19c0252eb345500d4ab3ee
treecf18deae99ecf74aefa84f44d912cf8c1f419067
parent2be01cbfcb34746d9713173a60c3f8a69c554a68
luci-lua-runtime: proxy all dispatcher context property accesses

The ucode side dispatcher environment might not be fully populated yet
when the emulated Lua dispatcher is loaded, leading to `context.requested`
and some other properties to be `nil`.

Expose all properties through metatable `__index` lookups instead to
ensure that the Lua side dispatcher always sees the latest values.

Fixes: #6100
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-lua-runtime/luasrc/dispatcher.lua