18
18
19
19
static int ngx_http_lua_ngx_exec (lua_State * L );
20
20
static int ngx_http_lua_ngx_redirect (lua_State * L );
21
- static int ngx_http_lua_ngx_exit (lua_State * L );
22
21
static int ngx_http_lua_on_abort (lua_State * L );
23
22
24
23
@@ -35,14 +34,6 @@ ngx_http_lua_inject_control_api(ngx_log_t *log, lua_State *L)
35
34
lua_pushcfunction (L , ngx_http_lua_ngx_exec );
36
35
lua_setfield (L , -2 , "exec" );
37
36
38
- lua_pushcfunction (L , ngx_http_lua_ngx_exit );
39
- lua_setfield (L , -2 , "throw_error" ); /* deprecated */
40
-
41
- /* ngx.exit */
42
-
43
- lua_pushcfunction (L , ngx_http_lua_ngx_exit );
44
- lua_setfield (L , -2 , "exit" );
45
-
46
37
/* ngx.on_abort */
47
38
48
39
lua_pushcfunction (L , ngx_http_lua_on_abort );
@@ -297,108 +288,6 @@ ngx_http_lua_ngx_redirect(lua_State *L)
297
288
}
298
289
299
290
300
- static int
301
- ngx_http_lua_ngx_exit (lua_State * L )
302
- {
303
- ngx_int_t rc ;
304
- ngx_http_request_t * r ;
305
- ngx_http_lua_ctx_t * ctx ;
306
-
307
- if (lua_gettop (L ) != 1 ) {
308
- return luaL_error (L , "expecting one argument" );
309
- }
310
-
311
- r = ngx_http_lua_get_req (L );
312
- if (r == NULL ) {
313
- return luaL_error (L , "no request object found" );
314
- }
315
-
316
- ctx = ngx_http_get_module_ctx (r , ngx_http_lua_module );
317
- if (ctx == NULL ) {
318
- return luaL_error (L , "no request ctx found" );
319
- }
320
-
321
- ngx_http_lua_check_context (L , ctx , NGX_HTTP_LUA_CONTEXT_REWRITE
322
- | NGX_HTTP_LUA_CONTEXT_ACCESS
323
- | NGX_HTTP_LUA_CONTEXT_CONTENT
324
- | NGX_HTTP_LUA_CONTEXT_TIMER
325
- | NGX_HTTP_LUA_CONTEXT_HEADER_FILTER
326
- | NGX_HTTP_LUA_CONTEXT_BALANCER
327
- | NGX_HTTP_LUA_CONTEXT_SSL_CERT
328
- | NGX_HTTP_LUA_CONTEXT_SSL_SESS_STORE
329
- | NGX_HTTP_LUA_CONTEXT_SSL_SESS_FETCH );
330
-
331
- rc = (ngx_int_t ) luaL_checkinteger (L , 1 );
332
-
333
- if (ctx -> context & (NGX_HTTP_LUA_CONTEXT_SSL_CERT
334
- | NGX_HTTP_LUA_CONTEXT_SSL_SESS_STORE
335
- | NGX_HTTP_LUA_CONTEXT_SSL_SESS_FETCH ))
336
- {
337
-
338
- #if (NGX_HTTP_SSL )
339
-
340
- ctx -> exit_code = rc ;
341
- ctx -> exited = 1 ;
342
-
343
- ngx_log_debug1 (NGX_LOG_DEBUG_HTTP , r -> connection -> log , 0 ,
344
- "lua exit with code %i" , rc );
345
-
346
- if (ctx -> context == NGX_HTTP_LUA_CONTEXT_SSL_SESS_STORE ) {
347
- return 0 ;
348
- }
349
-
350
- return lua_yield (L , 0 );
351
-
352
- #else
353
-
354
- return luaL_error (L , "no SSL support" );
355
-
356
- #endif
357
- }
358
-
359
- if (ctx -> no_abort
360
- && rc != NGX_ERROR
361
- && rc != NGX_HTTP_CLOSE
362
- && rc != NGX_HTTP_REQUEST_TIME_OUT
363
- && rc != NGX_HTTP_CLIENT_CLOSED_REQUEST )
364
- {
365
- return luaL_error (L , "attempt to abort with pending subrequests" );
366
- }
367
-
368
- if ((r -> header_sent || ctx -> header_sent )
369
- && rc >= NGX_HTTP_SPECIAL_RESPONSE
370
- && rc != NGX_HTTP_REQUEST_TIME_OUT
371
- && rc != NGX_HTTP_CLIENT_CLOSED_REQUEST
372
- && rc != NGX_HTTP_CLOSE )
373
- {
374
- if (rc != (ngx_int_t ) r -> headers_out .status ) {
375
- ngx_log_error (NGX_LOG_ERR , r -> connection -> log , 0 , "attempt to "
376
- "set status %i via ngx.exit after sending out the "
377
- "response status %ui" , rc , r -> headers_out .status );
378
- }
379
-
380
- rc = NGX_HTTP_OK ;
381
- }
382
-
383
- dd ("setting exit code: %d" , (int ) rc );
384
-
385
- ctx -> exit_code = rc ;
386
- ctx -> exited = 1 ;
387
-
388
- ngx_log_debug1 (NGX_LOG_DEBUG_HTTP , r -> connection -> log , 0 ,
389
- "lua exit with code %i" , ctx -> exit_code );
390
-
391
- if (ctx -> context & (NGX_HTTP_LUA_CONTEXT_HEADER_FILTER
392
- | NGX_HTTP_LUA_CONTEXT_BALANCER ))
393
- {
394
- return 0 ;
395
- }
396
-
397
- dd ("calling yield" );
398
- return lua_yield (L , 0 );
399
- }
400
-
401
-
402
291
static int
403
292
ngx_http_lua_on_abort (lua_State * L )
404
293
{
@@ -457,7 +346,6 @@ ngx_http_lua_on_abort(lua_State *L)
457
346
}
458
347
459
348
460
- #ifndef NGX_LUA_NO_FFI_API
461
349
int
462
350
ngx_http_lua_ffi_exit (ngx_http_request_t * r , int status , u_char * err ,
463
351
size_t * errlen )
@@ -553,6 +441,6 @@ ngx_http_lua_ffi_exit(ngx_http_request_t *r, int status, u_char *err,
553
441
554
442
return NGX_OK ;
555
443
}
556
- #endif /* NGX_LUA_NO_FFI_API */
444
+
557
445
558
446
/* vi:set ft=c ts=4 sw=4 et fdm=marker: */
0 commit comments