Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2020-08-12 01:45:26 +0300
committerJames M Snell <jasnell@gmail.com>2020-08-17 21:31:26 +0300
commit1c14810edc68cc460d32da80fc52284c079d20ff (patch)
treeb5a9fd5a39dd5b8955c3635799f35b36429eb453 /src/node_sockaddr.cc
parentbfc35354c1290d7c1061c35fbd507aa129acc9d2 (diff)
src: allow instances of net.BlockList to be created internally
Initial PR had it so that user code would create BlockList instances. This sets it up so that instances can be created internally by Node.js PR-URL: https://github.com/nodejs/node/pull/34741 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'src/node_sockaddr.cc')
-rw-r--r--src/node_sockaddr.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/node_sockaddr.cc b/src/node_sockaddr.cc
index 8ba82ff6853..58d03eefa6e 100644
--- a/src/node_sockaddr.cc
+++ b/src/node_sockaddr.cc
@@ -524,6 +524,19 @@ SocketAddressBlockListWrap::SocketAddressBlockListWrap(
MakeWeak();
}
+BaseObjectPtr<SocketAddressBlockListWrap> SocketAddressBlockListWrap::New(
+ Environment* env) {
+ Local<Object> obj;
+ if (!env->blocklist_instance_template()
+ ->NewInstance(env->context()).ToLocal(&obj)) {
+ return {};
+ }
+ BaseObjectPtr<SocketAddressBlockListWrap> wrap =
+ MakeDetachedBaseObject<SocketAddressBlockListWrap>(env, obj);
+ CHECK(wrap);
+ return wrap;
+}
+
void SocketAddressBlockListWrap::New(
const FunctionCallbackInfo<Value>& args) {
CHECK(args.IsConstructCall());
@@ -673,6 +686,7 @@ void SocketAddressBlockListWrap::Initialize(
env->SetProtoMethod(t, "check", SocketAddressBlockListWrap::Check);
env->SetProtoMethod(t, "getRules", SocketAddressBlockListWrap::GetRules);
+ env->set_blocklist_instance_template(t->InstanceTemplate());
target->Set(env->context(), name,
t->GetFunction(env->context()).ToLocalChecked()).FromJust();