diff options
Diffstat (limited to 'nginx/ngx_http_js_module.c')
-rw-r--r-- | nginx/ngx_http_js_module.c | 82 |
1 files changed, 69 insertions, 13 deletions
diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c index ea4d9609..ed43fda3 100644 --- a/nginx/ngx_http_js_module.c +++ b/nginx/ngx_http_js_module.c @@ -89,8 +89,16 @@ static njs_ret_t ngx_http_js_ext_send(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); static njs_ret_t ngx_http_js_ext_finish(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); + static njs_ret_t ngx_http_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_http_js_ext_warn(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_http_js_ext_error(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_http_js_ext_log_core(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, ngx_uint_t level); + static njs_ret_t ngx_http_js_ext_get_http_version(njs_vm_t *vm, njs_value_t *value, void *obj, uintptr_t data); static njs_ret_t ngx_http_js_ext_get_remote_address(njs_vm_t *vm, @@ -287,18 +295,6 @@ static njs_external_t ngx_http_js_ext_response[] = { static njs_external_t ngx_http_js_ext_request[] = { - { nxt_string("log"), - NJS_EXTERN_METHOD, - NULL, - 0, - NULL, - NULL, - NULL, - NULL, - NULL, - ngx_http_js_ext_log, - 0 }, - { nxt_string("uri"), NJS_EXTERN_PROPERTY, NULL, @@ -406,6 +402,42 @@ static njs_external_t ngx_http_js_ext_request[] = { NULL, ngx_http_js_ext_subrequest, 0 }, + + { nxt_string("log"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_http_js_ext_log, + 0 }, + + { nxt_string("warn"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_http_js_ext_warn, + 0 }, + + { nxt_string("error"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_http_js_ext_error, + 0 }, }; @@ -1226,6 +1258,30 @@ static njs_ret_t ngx_http_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused) { + return ngx_http_js_ext_log_core(vm, args, nargs, NGX_LOG_INFO); +} + + +static njs_ret_t +ngx_http_js_ext_warn(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + njs_index_t unused) +{ + return ngx_http_js_ext_log_core(vm, args, nargs, NGX_LOG_WARN); +} + + +static njs_ret_t +ngx_http_js_ext_error(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + njs_index_t unused) +{ + return ngx_http_js_ext_log_core(vm, args, nargs, NGX_LOG_ERR); +} + + +static njs_ret_t +ngx_http_js_ext_log_core(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + ngx_uint_t level) +{ nxt_str_t msg; ngx_connection_t *c; ngx_log_handler_pt handler; @@ -1243,7 +1299,7 @@ ngx_http_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, handler = c->log->handler; c->log->handler = NULL; - ngx_log_error(NGX_LOG_INFO, c->log, 0, "js: %*s", msg.length, msg.start); + ngx_log_error(level, c->log, 0, "js: %*s", msg.length, msg.start); c->log->handler = handler; |