Lines Matching refs:L

455 mcp_request_t *mcp_new_request(lua_State *L, mcp_parser_t *pr, const char *command, size_t cmdlen) {  in mcp_new_request()  argument
457 …mcp_request_t *rq = lua_newuserdatauv(L, sizeof(mcp_request_t) + MCP_REQUEST_MAXLEN + KEY_MAX_LENG… in mcp_new_request()
467 luaL_getmetatable(L, "mcp.request"); in mcp_new_request()
468 lua_setmetatable(L, -2); in mcp_new_request()
614 int mcplib_request(lua_State *L) { in mcplib_request() argument
615 LIBEVENT_THREAD *t = PROXY_GET_THR(L); in mcplib_request()
619 const char *cmd = luaL_checklstring(L, 1, &len); in mcplib_request()
621 int type = lua_type(L, 2); in mcplib_request()
623 val = luaL_optlstring(L, 2, NULL, &vlen); in mcplib_request()
625 proxy_lua_error(L, "value passed to mcp.request must end with \\r\\n"); in mcplib_request()
629 mcp_resp_t *r = luaL_testudata(L, 2, "mcp.response"); in mcplib_request()
636 mcp_request_t *rq = luaL_testudata(L, 2, "mcp.request"); in mcplib_request()
647 proxy_lua_error(L, "failed to parse request"); in mcplib_request()
650 mcp_request_t *rq = mcp_new_request(L, &pr, cmd, len); in mcplib_request()
661 proxy_lua_error(L, "failed to allocate value memory for request object"); in mcplib_request()
677 int mcplib_request_key(lua_State *L) { in mcplib_request_key() argument
678 mcp_request_t *rq = luaL_checkudata(L, -1, "mcp.request"); in mcplib_request_key()
679 lua_pushlstring(L, MCP_PARSER_KEY(rq->pr), rq->pr.klen); in mcplib_request_key()
688 int mcplib_request_ltrimkey(lua_State *L) { in mcplib_request_ltrimkey() argument
689 mcp_request_t *rq = luaL_checkudata(L, -2, "mcp.request"); in mcplib_request_ltrimkey()
690 int totrim = luaL_checkinteger(L, -1); in mcplib_request_ltrimkey()
694 proxy_lua_error(L, "ltrimkey cannot zero out key"); in mcplib_request_ltrimkey()
704 int mcplib_request_rtrimkey(lua_State *L) { in mcplib_request_rtrimkey() argument
705 mcp_request_t *rq = luaL_checkudata(L, -2, "mcp.request"); in mcplib_request_rtrimkey()
706 int totrim = luaL_checkinteger(L, -1); in mcplib_request_rtrimkey()
710 proxy_lua_error(L, "rtrimkey cannot zero out key"); in mcplib_request_rtrimkey()
721 int mcplib_request_token(lua_State *L) { in mcplib_request_token() argument
722 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_token()
723 int argc = lua_gettop(L); in mcplib_request_token()
726 lua_pushnil(L); in mcplib_request_token()
730 int token = luaL_checkinteger(L, 2); in mcplib_request_token()
734 lua_pushnil(L); in mcplib_request_token()
742 const char *newtok = lua_tolstring(L, 3, &newlen); in mcplib_request_token()
744 proxy_lua_error(L, "token(): request malformed after edit"); in mcplib_request_token()
754 lua_pushlstring(L, start, vlen); in mcplib_request_token()
762 int mcplib_request_token_int(lua_State *L) { in mcplib_request_token_int() argument
763 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_token_int()
764 int argc = lua_gettop(L); in mcplib_request_token_int()
767 lua_pushnil(L); in mcplib_request_token_int()
771 int x = luaL_checkinteger(L, 2); in mcplib_request_token_int()
775 lua_pushnil(L); in mcplib_request_token_int()
791 lua_pushinteger(L, token); in mcplib_request_token_int()
793 lua_pushnil(L); in mcplib_request_token_int()
799 int mcplib_request_ntokens(lua_State *L) { in mcplib_request_ntokens() argument
800 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_ntokens()
801 lua_pushinteger(L, rq->pr.ntokens); in mcplib_request_ntokens()
805 int mcplib_request_command(lua_State *L) { in mcplib_request_command() argument
806 mcp_request_t *rq = luaL_checkudata(L, -1, "mcp.request"); in mcplib_request_command()
807 lua_pushinteger(L, rq->pr.command); in mcplib_request_command()
811 int mcplib_request_has_flag(lua_State *L) { in mcplib_request_has_flag() argument
812 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_has_flag()
814 const char *flagstr = luaL_checklstring(L, 2, &len); in mcplib_request_has_flag()
816 proxy_lua_error(L, "has_flag(): meta flag must be a single character"); in mcplib_request_has_flag()
820 proxy_lua_error(L, "has_flag(): invalid flag, must be A-Z,a-z"); in mcplib_request_has_flag()
825 lua_pushboolean(L, 1); in mcplib_request_has_flag()
827 lua_pushboolean(L, 0); in mcplib_request_has_flag()
835 int mcplib_request_flag_token(lua_State *L) { in mcplib_request_flag_token() argument
836 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_flag_token()
838 const char *flagstr = luaL_checklstring(L, 2, &len); in mcplib_request_flag_token()
841 proxy_lua_error(L, "has_flag(): meta flag must be a single character"); in mcplib_request_flag_token()
845 proxy_lua_error(L, "has_flag(): invalid flag, must be A-Z,a-z"); in mcplib_request_flag_token()
848 if (lua_isstring(L, 3)) { in mcplib_request_flag_token()
858 lua_pushboolean(L, 1); in mcplib_request_flag_token()
865 lua_pushlstring(L, s+1, vlen-1); in mcplib_request_flag_token()
872 const char *newtok = lua_tolstring(L, 3, &newlen); in mcplib_request_flag_token()
874 proxy_lua_error(L, "token(): request malformed after edit"); in mcplib_request_flag_token()
882 lua_pushboolean(L, 0); in mcplib_request_flag_token()
891 int mcplib_request_flag_token_int(lua_State *L) { in mcplib_request_flag_token_int() argument
892 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_flag_token_int()
894 const char *flagstr = luaL_checklstring(L, 2, &len); in mcplib_request_flag_token_int()
896 proxy_lua_error(L, "has_flag(): meta flag must be a single character"); in mcplib_request_flag_token_int()
900 proxy_lua_error(L, "has_flag(): invalid flag, must be A-Z,a-z"); in mcplib_request_flag_token_int()
908 lua_pushboolean(L, 1); in mcplib_request_flag_token_int()
922 lua_pushinteger(L, token); in mcplib_request_flag_token_int()
924 lua_pushnil(L); in mcplib_request_flag_token_int()
933 lua_pushboolean(L, 0); in mcplib_request_flag_token_int()
941 static inline char _mcp_request_get_arg_flag(lua_State *L, int idx) { in _mcp_request_get_arg_flag() argument
943 const char *flagstr = luaL_checklstring(L, idx, &len); in _mcp_request_get_arg_flag()
946 proxy_lua_error(L, "request: meta flag must be a single character"); in _mcp_request_get_arg_flag()
950 proxy_lua_error(L, "request: invalid flag, must be A-Z,a-z"); in _mcp_request_get_arg_flag()
958 static inline const char * _mcp_request_check_flag_token(lua_State *L, int idx, char *tostring, siz… in _mcp_request_check_flag_token() argument
961 if (lua_isstring(L, idx)) { in _mcp_request_check_flag_token()
962 token = lua_tolstring(L, idx, tlen); in _mcp_request_check_flag_token()
963 } else if (lua_isnumber(L, idx)) { in _mcp_request_check_flag_token()
965 lua_Integer n = lua_tointegerx(L, idx, &isnum); in _mcp_request_check_flag_token()
971 proxy_lua_error(L, "request: invalid flag argument"); in _mcp_request_check_flag_token()
974 } else if (lua_isnoneornil(L, idx)) { in _mcp_request_check_flag_token()
977 proxy_lua_error(L, "request: invalid flag argument"); in _mcp_request_check_flag_token()
986 int mcplib_request_flag_add(lua_State *L) { in mcplib_request_flag_add() argument
987 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_flag_add()
988 char flag = _mcp_request_get_arg_flag(L, 2); in mcplib_request_flag_add()
994 lua_pushboolean(L, 0); in mcplib_request_flag_add()
999 const char *token = _mcp_request_check_flag_token(L, 3, tostring, &tlen); in mcplib_request_flag_add()
1002 lua_pushboolean(L, 1); in mcplib_request_flag_add()
1004 lua_pushboolean(L, 0); in mcplib_request_flag_add()
1012 int mcplib_request_flag_set(lua_State *L) { in mcplib_request_flag_set() argument
1013 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_flag_set()
1014 char flag = _mcp_request_get_arg_flag(L, 2); in mcplib_request_flag_set()
1019 const char *token = _mcp_request_check_flag_token(L, 3, tostring, &tlen); in mcplib_request_flag_set()
1026 lua_pushboolean(L, 0); in mcplib_request_flag_set()
1031 lua_pushboolean(L, 0); in mcplib_request_flag_set()
1036 lua_pushboolean(L, 1); in mcplib_request_flag_set()
1043 int mcplib_request_flag_replace(lua_State *L) { in mcplib_request_flag_replace() argument
1044 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_flag_replace()
1045 char flag = _mcp_request_get_arg_flag(L, 2); in mcplib_request_flag_replace()
1046 char newflag = _mcp_request_get_arg_flag(L, 3); in mcplib_request_flag_replace()
1051 const char *token = _mcp_request_check_flag_token(L, 4, tostring, &tlen); in mcplib_request_flag_replace()
1055 lua_pushboolean(L, 0); in mcplib_request_flag_replace()
1060 lua_pushboolean(L, 0); in mcplib_request_flag_replace()
1065 lua_pushboolean(L, 1); in mcplib_request_flag_replace()
1071 int mcplib_request_flag_del(lua_State *L) { in mcplib_request_flag_del() argument
1072 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_flag_del()
1073 char flag = _mcp_request_get_arg_flag(L, 2); in mcplib_request_flag_del()
1079 lua_pushboolean(L, 0); in mcplib_request_flag_del()
1084 lua_pushboolean(L, 0); in mcplib_request_flag_del()
1088 lua_pushboolean(L, 1); in mcplib_request_flag_del()
1097 int mcplib_request_match_res(lua_State *L) { in mcplib_request_match_res() argument
1098 mcp_request_t *rq = luaL_checkudata(L, 1, "mcp.request"); in mcplib_request_match_res()
1099 mcp_resp_t *rs = luaL_checkudata(L, 2, "mcp.response"); in mcplib_request_match_res()
1116 lua_pushboolean(L, 0); in mcplib_request_match_res()
1117 lua_pushnil(L); in mcplib_request_match_res()
1136 lua_pushboolean(L, 0); in mcplib_request_match_res()
1137 lua_pushnil(L); in mcplib_request_match_res()
1152 lua_pushboolean(L, 0); in mcplib_request_match_res()
1153 lua_pushlstring(L, rs_token, rs_len); in mcplib_request_match_res()
1166 lua_pushboolean(L, matched); in mcplib_request_match_res()
1167 lua_pushnil(L); in mcplib_request_match_res()
1186 int mcplib_request_gc(lua_State *L) { in mcplib_request_gc() argument
1187 LIBEVENT_THREAD *t = PROXY_GET_THR(L); in mcplib_request_gc()
1188 mcp_request_t *rq = luaL_checkudata(L, -1, "mcp.request"); in mcplib_request_gc()