From 779a7c84ed9f7c7a2efe9058203ba8649d98f0f1 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Mon, 6 Sep 2021 13:40:44 +0100 Subject: [PATCH] added service initialization --- app/restful-api/service.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/restful-api/service.go b/app/restful-api/service.go index 5dfa3a3e9..4fab105a8 100644 --- a/app/restful-api/service.go +++ b/app/restful-api/service.go @@ -3,6 +3,9 @@ package restful_api import ( "context" "github.com/gin-gonic/gin" + core "github.com/v2fly/v2ray-core/v4" + "github.com/v2fly/v2ray-core/v4/features" + feature_stats "github.com/v2fly/v2ray-core/v4/features/stats" "net" "sync" ) @@ -16,6 +19,8 @@ type restfulService struct { config *Config access sync.Mutex + stats feature_stats.Manager + ctx context.Context } @@ -37,3 +42,19 @@ func (r *restfulService) Close() error { } return nil } + +func (r *restfulService) init(config *Config, stats feature_stats.Manager) { + r.stats = stats + r.config = config +} + +func newRestfulService(ctx context.Context, config *Config) (features.Feature, error) { + r := new(restfulService) + r.ctx = ctx + if err := core.RequireFeatures(ctx, func(stats feature_stats.Manager) { + r.init(config, stats) + }); err != nil { + return nil, err + } + return r, nil +}