Add create object with environment api

This commit is contained in:
Shelikhoo
2022-04-28 19:32:55 +01:00
committed by Xiaokang Wang (Shelikhoo)
parent 7888c10622
commit 49ea72d0ed
+6
View File
@@ -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)
}