HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //opt/imunify360-webshield/lualib/resty/core/coroutine.lua
local base = require "resty.core.base"
local get_request = base.get_request

do
    local keys = {'create', 'yield', 'resume', 'status', 'wrap'}
    local errmsg = base.get_errmsg_ptr()
    local get_raw_phase = ngx.get_raw_phase

    for _, key in ipairs(keys) do
        local std = coroutine['_' .. key]
        local ours = coroutine['__' .. key]
        coroutine[key] = function (...)
            local r = get_request()
            if r ~= nil then
                local ctx = get_raw_phase(r, errmsg)
                if ctx ~= 0x020 and ctx ~= 0x040 then
                    return ours(...)
                end
            end
            return std(...)
        end
    end

    package.loaded.coroutine = coroutine
end

return {
    version = base.version
}