Browse Source

Add create object with environment api

Shelikhoo 3 years ago
parent
commit
49ea72d0ed
1 changed files with 6 additions and 0 deletions
  1. 6 0
      functions.go

+ 6 - 0
functions.go

@@ -3,6 +3,7 @@ package core
 import (
 	"bytes"
 	"context"
+	"github.com/v2fly/v2ray-core/v5/common/environment/envctx"
 
 	"github.com/v2fly/v2ray-core/v5/common"
 	"github.com/v2fly/v2ray-core/v5/common/net"
@@ -12,10 +13,15 @@ import (
 
 // CreateObject creates a new object based on the given V2Ray instance and config. The V2Ray instance may be nil.
 func CreateObject(v *Instance, config interface{}) (interface{}, error) {
+	return CreateObjectWithEnvironment(v, config, nil)
+}
+
+func CreateObjectWithEnvironment(v *Instance, config, environment interface{}) (interface{}, error) {
 	var ctx context.Context
 	if v != nil {
 		ctx = toContext(v.ctx, v)
 	}
+	ctx = envctx.ContextWithEnvironment(ctx, environment)
 	return common.CreateObject(ctx, config)
 }