2626
2727
2828
29- static int ngx_stream_lua_ngx_exit (lua_State * L );
3029static int ngx_stream_lua_on_abort (lua_State * L );
3130
3231
3332void
3433ngx_stream_lua_inject_control_api (ngx_log_t * log , lua_State * L )
3534{
3635
37- /* ngx.exit */
38-
39- lua_pushcfunction (L , ngx_stream_lua_ngx_exit );
40- lua_setfield (L , -2 , "exit" );
41-
4236 /* ngx.on_abort */
4337
4438 lua_pushcfunction (L , ngx_stream_lua_on_abort );
@@ -48,75 +42,6 @@ ngx_stream_lua_inject_control_api(ngx_log_t *log, lua_State *L)
4842
4943
5044
51- static int
52- ngx_stream_lua_ngx_exit (lua_State * L )
53- {
54- ngx_int_t rc ;
55- ngx_stream_lua_request_t * r ;
56- ngx_stream_lua_ctx_t * ctx ;
57-
58- if (lua_gettop (L ) != 1 ) {
59- return luaL_error (L , "expecting one argument" );
60- }
61-
62- r = ngx_stream_lua_get_req (L );
63- if (r == NULL ) {
64- return luaL_error (L , "no request object found" );
65- }
66-
67- ctx = ngx_stream_lua_get_module_ctx (r , ngx_stream_lua_module );
68- if (ctx == NULL ) {
69- return luaL_error (L , "no request ctx found" );
70- }
71-
72- ngx_stream_lua_check_context (L , ctx , NGX_STREAM_LUA_CONTEXT_CONTENT
73- | NGX_STREAM_LUA_CONTEXT_TIMER
74- | NGX_STREAM_LUA_CONTEXT_BALANCER
75- | NGX_STREAM_LUA_CONTEXT_SSL_CERT
76- | NGX_STREAM_LUA_CONTEXT_PREREAD
77- );
78-
79- rc = (ngx_int_t ) luaL_checkinteger (L , 1 );
80-
81- if (ctx -> context & NGX_STREAM_LUA_CONTEXT_SSL_CERT )
82- {
83-
84- #if (NGX_STREAM_SSL )
85-
86- ctx -> exit_code = rc ;
87- ctx -> exited = 1 ;
88-
89- ngx_log_debug1 (NGX_LOG_DEBUG_STREAM , r -> connection -> log , 0 ,
90- "lua exit with code %i" , rc );
91-
92-
93- return lua_yield (L , 0 );
94-
95- #else
96-
97- return luaL_error (L , "no SSL support" );
98-
99- #endif
100- }
101-
102-
103- dd ("setting exit code: %d" , (int ) rc );
104-
105- ctx -> exit_code = rc ;
106- ctx -> exited = 1 ;
107-
108- ngx_log_debug1 (NGX_LOG_DEBUG_STREAM , r -> connection -> log , 0 ,
109- "lua exit with code %i" , ctx -> exit_code );
110-
111- if (ctx -> context & NGX_STREAM_LUA_CONTEXT_BALANCER ) {
112- return 0 ;
113- }
114-
115- dd ("calling yield" );
116- return lua_yield (L , 0 );
117- }
118-
119-
12045static int
12146ngx_stream_lua_on_abort (lua_State * L )
12247{
@@ -175,7 +100,6 @@ ngx_stream_lua_on_abort(lua_State *L)
175100}
176101
177102
178- #ifndef NGX_LUA_NO_FFI_API
179103int
180104ngx_stream_lua_ffi_exit (ngx_stream_lua_request_t * r , int status , u_char * err ,
181105 size_t * errlen )
@@ -188,24 +112,19 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err,
188112 return NGX_ERROR ;
189113 }
190114
191- if (ngx_stream_lua_ffi_check_context (ctx , NGX_STREAM_LUA_CONTEXT_REWRITE
192- | NGX_STREAM_LUA_CONTEXT_ACCESS
193- | NGX_STREAM_LUA_CONTEXT_CONTENT
115+
116+ if (ngx_stream_lua_ffi_check_context (ctx , NGX_STREAM_LUA_CONTEXT_CONTENT
194117 | NGX_STREAM_LUA_CONTEXT_TIMER
195- | NGX_STREAM_LUA_CONTEXT_HEADER_FILTER
196118 | NGX_STREAM_LUA_CONTEXT_BALANCER
197119 | NGX_STREAM_LUA_CONTEXT_SSL_CERT
198- | NGX_STREAM_LUA_CONTEXT_SSL_SESS_STORE
199- | NGX_STREAM_LUA_CONTEXT_SSL_SESS_FETCH ,
120+ | NGX_STREAM_LUA_CONTEXT_PREREAD ,
200121 err , errlen )
201122 != NGX_OK )
202123 {
203124 return NGX_ERROR ;
204125 }
205126
206- if (ctx -> context & (NGX_STREAM_LUA_CONTEXT_SSL_CERT
207- | NGX_STREAM_LUA_CONTEXT_SSL_SESS_STORE
208- | NGX_STREAM_LUA_CONTEXT_SSL_SESS_FETCH ))
127+ if (ctx -> context & NGX_STREAM_LUA_CONTEXT_SSL_CERT )
209128 {
210129
211130#if (NGX_STREAM_SSL )
@@ -216,9 +135,6 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err,
216135 ngx_log_debug1 (NGX_LOG_DEBUG_STREAM , r -> connection -> log , 0 ,
217136 "lua exit with code %d" , status );
218137
219- if (ctx -> context == NGX_STREAM_LUA_CONTEXT_SSL_SESS_STORE ) {
220- return NGX_DONE ;
221- }
222138
223139 return NGX_OK ;
224140
@@ -236,14 +152,12 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err,
236152 ngx_log_debug1 (NGX_LOG_DEBUG_STREAM , r -> connection -> log , 0 ,
237153 "lua exit with code %i" , ctx -> exit_code );
238154
239- if (ctx -> context & (NGX_STREAM_LUA_CONTEXT_HEADER_FILTER
240- | NGX_STREAM_LUA_CONTEXT_BALANCER ))
241- {
155+ if (ctx -> context & NGX_STREAM_LUA_CONTEXT_BALANCER ) {
242156 return NGX_DONE ;
243157 }
244158
245159 return NGX_OK ;
246160}
247- #endif /* NGX_LUA_NO_FFI_API */
161+
248162
249163/* vi:set ft=c ts=4 sw=4 et fdm=marker: */
0 commit comments