details: https://hg.nginx.org/njs/rev/8b182df14819 branches: changeset: 2361:8b182df14819 user: Dmitry Volyntsev <xei...@nginx.com> date: Wed Jun 12 23:31:08 2024 -0700 description: HTTP: simplified check for subrequest from a subrequest.
diffstat: nginx/ngx_http_js_module.c | 4 ++-- nginx/t/js_subrequests.t | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diffs (43 lines): diff -r 5b5f45340f9f -r 8b182df14819 nginx/ngx_http_js_module.c --- a/nginx/ngx_http_js_module.c Mon Jun 17 21:35:02 2024 -0700 +++ b/nginx/ngx_http_js_module.c Wed Jun 12 23:31:08 2024 -0700 @@ -3153,7 +3153,7 @@ ngx_http_js_ext_subrequest(njs_vm_t *vm, ctx = ngx_http_get_module_ctx(r, ngx_http_js_module); - if (ctx->vm != vm) { + if (r->main != r) { njs_vm_error(vm, "subrequest can only be created for " "the primary request"); return NJS_ERROR; @@ -3511,7 +3511,7 @@ ngx_http_js_ext_get_parent(njs_vm_t *vm, ctx = r->parent ? ngx_http_get_module_ctx(r->parent, ngx_http_js_module) : NULL; - if (ctx == NULL || ctx->vm != vm) { + if (ctx == NULL) { njs_value_undefined_set(retval); return NJS_DECLINED; } diff -r 5b5f45340f9f -r 8b182df14819 nginx/t/js_subrequests.t --- a/nginx/t/js_subrequests.t Mon Jun 17 21:35:02 2024 -0700 +++ b/nginx/t/js_subrequests.t Wed Jun 12 23:31:08 2024 -0700 @@ -590,6 +590,9 @@ local $TODO = 'not yet' unless has_versi http_get('/sr_error_in_callback'); +ok(index($t->read_file('error.log'), 'subrequest can only be created for') > 0, + 'subrequest creation failed'); + } $t->stop(); @@ -602,8 +605,6 @@ ok(index($t->read_file('error.log'), 'fa 'subrequest invalid args exception'); ok(index($t->read_file('error.log'), 'too big subrequest response') > 0, 'subrequest too large body'); -ok(index($t->read_file('error.log'), 'subrequest creation failed') > 0, - 'subrequest creation failed'); ok(index($t->read_file('error.log'), 'js subrequest: failed to get the parent context') > 0, 'zero parent ctx'); _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel