Welcome! Log In Create A New Profile

Advanced

[njs] Added soft deprecation warning for deprecated methods and properties.

Dmitry Volyntsev
July 25, 2022 09:42PM
details: https://hg.nginx.org/njs/rev/beaff2c39864
branches:
changeset: 1918:beaff2c39864
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Mon Jul 25 18:40:24 2022 -0700
description:
Added soft deprecation warning for deprecated methods and properties.

diffstat:

nginx/ngx_http_js_module.c | 4 ++++
src/njs.h | 11 +++++++++++
src/njs_string.c | 10 ++++++++++
3 files changed, 25 insertions(+), 0 deletions(-)

diffs (90 lines):

diff -r 14426cb84197 -r beaff2c39864 nginx/ngx_http_js_module.c
--- a/nginx/ngx_http_js_module.c Mon Jul 25 18:40:24 2022 -0700
+++ b/nginx/ngx_http_js_module.c Mon Jul 25 18:40:24 2022 -0700
@@ -2572,6 +2572,8 @@ ngx_http_js_ext_get_request_body(njs_vm_
ngx_http_js_ctx_t *ctx;
ngx_http_request_t *r;

+ njs_deprecated(vm, "r.requestBody");
+
r = njs_vm_external(vm, ngx_http_js_request_proto_id, value);
if (r == NULL) {
njs_value_undefined_set(retval);
@@ -3416,6 +3418,8 @@ ngx_http_js_ext_get_response_body(njs_vm
ngx_http_js_ctx_t *ctx;
ngx_http_request_t *r;

+ njs_deprecated(vm, "r.responseBody");
+
r = njs_vm_external(vm, ngx_http_js_request_proto_id, value);
if (r == NULL) {
njs_value_undefined_set(retval);
diff -r 14426cb84197 -r beaff2c39864 src/njs.h
--- a/src/njs.h Mon Jul 25 18:40:24 2022 -0700
+++ b/src/njs.h Mon Jul 25 18:40:24 2022 -0700
@@ -81,6 +81,17 @@ extern const njs_value_t njs_
#define njs_vm_err(vm, fmt, ...) njs_vm_logger(vm, NJS_LOG_LEVEL_ERROR, fmt, \
##__VA_ARGS__)

+#define njs_deprecated(vm, text) \
+ do { \
+ static njs_bool_t reported; \
+ \
+ if (!reported) { \
+ njs_vm_warn(vm, text " is deprecated " \
+ "and will be removed in the future"); \
+ reported = 1; \
+ } \
+ } while(0)
+
/*
* njs_prop_handler_t operates as a property getter/setter or delete handler.
* - retval != NULL && setval == NULL - GET context.
diff -r 14426cb84197 -r beaff2c39864 src/njs_string.c
--- a/src/njs_string.c Mon Jul 25 18:40:24 2022 -0700
+++ b/src/njs_string.c Mon Jul 25 18:40:24 2022 -0700
@@ -982,6 +982,8 @@ njs_string_prototype_from_utf8(njs_vm_t
njs_slice_prop_t slice;
njs_string_prop_t string;

+ njs_deprecated(vm, "String.prototype.fromUTF8()");
+
ret = njs_string_object_validate(vm, njs_argument(args, 0));
if (njs_slow_path(ret != NJS_OK)) {
return ret;
@@ -1025,6 +1027,8 @@ njs_string_prototype_to_utf8(njs_vm_t *v
njs_slice_prop_t slice;
njs_string_prop_t string;

+ njs_deprecated(vm, "String.prototype.toUTF8()");
+
ret = njs_string_object_validate(vm, njs_argument(args, 0));
if (njs_slow_path(ret != NJS_OK)) {
return ret;
@@ -1059,6 +1063,8 @@ njs_string_prototype_from_bytes(njs_vm_t
njs_slice_prop_t slice;
njs_string_prop_t string;

+ njs_deprecated(vm, "String.prototype.fromBytes()");
+
ret = njs_string_object_validate(vm, njs_argument(args, 0));
if (njs_slow_path(ret != NJS_OK)) {
return ret;
@@ -1125,6 +1131,8 @@ njs_string_prototype_to_bytes(njs_vm_t *
njs_string_prop_t string;
njs_unicode_decode_t ctx;

+ njs_deprecated(vm, "String.prototype.toBytes()");
+
ret = njs_string_object_validate(vm, njs_argument(args, 0));
if (njs_slow_path(ret != NJS_OK)) {
return ret;
@@ -1617,6 +1625,8 @@ njs_string_bytes_from(njs_vm_t *vm, njs_
{
njs_value_t *value;

+ njs_deprecated(vm, "String.bytesFrom()");
+
value = njs_arg(args, nargs, 1);

if (njs_is_string(value)) {
_______________________________________________
nginx-devel mailing list -- nginx-devel@nginx.org
To unsubscribe send an email to nginx-devel-leave@nginx.org
Subject Author Views Posted

[njs] Added soft deprecation warning for deprecated methods and properties.

Dmitry Volyntsev 298 July 25, 2022 09:42PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 83
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready