From: Dmitry Volyntsev Date: Wed, 21 Mar 2018 14:33:12 +0000 (+0300) Subject: http req.response() method. X-Git-Tag: 0.2.0~19 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=1e6892bc7d180f499d8eff8bfb8e5e8a410ab14e;p=njs.git http req.response() method. --- diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c index 0e707682..367edb7d 100644 --- a/nginx/ngx_http_js_module.c +++ b/nginx/ngx_http_js_module.c @@ -105,6 +105,8 @@ static njs_ret_t ngx_http_js_ext_next_arg(njs_vm_t *vm, njs_value_t *value, void *obj, void *next); static njs_ret_t ngx_http_js_ext_get_variable(njs_vm_t *vm, njs_value_t *value, void *obj, uintptr_t data); +static njs_ret_t ngx_http_js_ext_get_response(njs_vm_t *vm, njs_value_t *value, + void *obj, uintptr_t data); static njs_host_event_t ngx_http_js_set_timer(njs_external_ptr_t external, uint64_t delay, njs_vm_event_t vm_event); @@ -367,6 +369,18 @@ static njs_external_t ngx_http_js_ext_request[] = { NULL, NULL, 0 }, + + { nxt_string("response"), + NJS_EXTERN_PROPERTY, + NULL, + 0, + ngx_http_js_ext_get_response, + NULL, + NULL, + NULL, + NULL, + NULL, + 0 }, }; @@ -1293,6 +1307,23 @@ ngx_http_js_ext_get_variable(njs_vm_t *vm, njs_value_t *value, void *obj, } +static njs_ret_t +ngx_http_js_ext_get_response(njs_vm_t *vm, njs_value_t *value, void *obj, + uintptr_t data) +{ + ngx_http_js_ctx_t *ctx; + ngx_http_request_t *r; + + r = (ngx_http_request_t *) obj; + + ctx = ngx_http_get_module_ctx(r, ngx_http_js_module); + + njs_vm_retval_set(ctx->vm, &ctx->args[1]); + + return NJS_OK; +} + + static njs_host_event_t ngx_http_js_set_timer(njs_external_ptr_t external, uint64_t delay, njs_vm_event_t vm_event)