[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: param.lua
File is not writable. Editing disabled.
-- Copyright (C) Yichun Zhang (agentzh) local ffi = require 'ffi' local base = require "resty.core.base" require "resty.core.phase" -- for ngx.get_phase local C = ffi.C local ffi_str = ffi.string local FFI_AGAIN = base.FFI_AGAIN local FFI_OK = base.FFI_OK local get_request = base.get_request local get_string_buf = base.get_string_buf local getmetatable = getmetatable local ngx = ngx local ngx_phase = ngx.get_phase local _M = { version = base.version } ffi.cdef[[ typedef unsigned char u_char; void ngx_http_lua_ffi_get_setby_param(ngx_http_request_t *r, int idx, u_char **data, size_t *len); int ngx_http_lua_ffi_get_body_filter_param_eof(ngx_http_request_t *r); int ngx_http_lua_ffi_get_body_filter_param_body(ngx_http_request_t *r, u_char **data_p, size_t *len_p); int ngx_http_lua_ffi_copy_body_filter_param_body(ngx_http_request_t *r, u_char *data); ]] local data_p = ffi.new("unsigned char*[1]") local len_p = ffi.new("size_t[1]") local function get_setby_param(r, idx) C.ngx_http_lua_ffi_get_setby_param(r, idx, data_p, len_p) if len_p[0] == 0 then return nil end return ffi_str(data_p[0], len_p[0]) end local function get_body_filter_param(r, idx) if idx == 1 then data_p[0] = nil local rc = C.ngx_http_lua_ffi_get_body_filter_param_body(r, data_p, len_p) if rc == FFI_AGAIN then local buf = get_string_buf(len_p[0]) assert(C.ngx_http_lua_ffi_copy_body_filter_param_body(r, buf) == FFI_OK) return ffi_str(buf, len_p[0]) end if len_p[0] == 0 then return "" end return ffi_str(data_p[0], len_p[0]) elseif idx == 2 then local rc = C.ngx_http_lua_ffi_get_body_filter_param_eof(r) return rc == 1 else return nil end end local function get_param(tb, idx) local r = get_request() if not r then error("no request found") end local phase = ngx_phase() if phase == "set" then return get_setby_param(r, idx) end if phase == "body_filter" then return get_body_filter_param(r, idx) end error("API disabled in the current context") end do local mt = getmetatable(ngx.arg) mt.__index = get_param end return _M
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 691.31 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A