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);
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);
#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.
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;
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;
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;
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;
{
njs_value_t *value;
+ njs_deprecated(vm, "String.bytesFrom()");
+
value = njs_arg(args, nargs, 1);
if (njs_is_string(value)) {