From 17b19e3a10d6326a230b83d7ca4436edd1533c81 Mon Sep 17 00:00:00 2001 From: Muyao CHEN Date: Mon, 30 Sep 2024 13:42:37 +0200 Subject: [PATCH] Repo: reorganize the repo structure --- framework/contract/app.go | 15 +++ .../{middleware => middlewares}/recovery.go | 0 framework/{middleware => middlewares}/test.go | 0 .../{middleware => middlewares}/timeout.go | 0 .../timeout_test.go | 0 framework/providers/app/provider.go | 30 ++++++ framework/providers/app/service.go | 102 ++++++++++++++++++ framework/utils/exec.go | 12 +++ go.mod | 11 +- go.sum | 36 ++++++- providers/webserver/contract.go | 3 - providers/webserver/provider.go | 25 ----- providers/webserver/service.go | 25 ----- routes.go | 2 +- 14 files changed, 203 insertions(+), 58 deletions(-) create mode 100644 framework/contract/app.go rename framework/{middleware => middlewares}/recovery.go (100%) rename framework/{middleware => middlewares}/test.go (100%) rename framework/{middleware => middlewares}/timeout.go (100%) rename framework/{middleware => middlewares}/timeout_test.go (100%) create mode 100644 framework/providers/app/provider.go create mode 100644 framework/providers/app/service.go create mode 100644 framework/utils/exec.go delete mode 100644 providers/webserver/contract.go delete mode 100644 providers/webserver/provider.go delete mode 100644 providers/webserver/service.go diff --git a/framework/contract/app.go b/framework/contract/app.go new file mode 100644 index 0000000..6b02d62 --- /dev/null +++ b/framework/contract/app.go @@ -0,0 +1,15 @@ +package contract + +const AppName = "goweb:app" + +type App interface { + Version() string + BaseFolder() string + ConfigFolder() string + LogFolder() string + ProvidersFolder() string + MiddlewaresFolder() string + CommandsFolder() string + RuntimeFolder() string + TestsFolder() string +} diff --git a/framework/middleware/recovery.go b/framework/middlewares/recovery.go similarity index 100% rename from framework/middleware/recovery.go rename to framework/middlewares/recovery.go diff --git a/framework/middleware/test.go b/framework/middlewares/test.go similarity index 100% rename from framework/middleware/test.go rename to framework/middlewares/test.go diff --git a/framework/middleware/timeout.go b/framework/middlewares/timeout.go similarity index 100% rename from framework/middleware/timeout.go rename to framework/middlewares/timeout.go diff --git a/framework/middleware/timeout_test.go b/framework/middlewares/timeout_test.go similarity index 100% rename from framework/middleware/timeout_test.go rename to framework/middlewares/timeout_test.go diff --git a/framework/providers/app/provider.go b/framework/providers/app/provider.go new file mode 100644 index 0000000..8cf7162 --- /dev/null +++ b/framework/providers/app/provider.go @@ -0,0 +1,30 @@ +package app + +import ( + "git.vinchent.xyz/vinchent/go-web/framework" + "git.vinchent.xyz/vinchent/go-web/framework/contract" +) + +type GoWebProvider struct { + BaseFolder string +} + +func (goweb *GoWebProvider) Register(c framework.Container) framework.NewInstance { + return NewGoWebApp +} + +func (goweb *GoWebProvider) Init(c framework.Container) error { + return nil +} + +func (goweb *GoWebProvider) InstantiateLater() bool { + return false +} + +func (goweb *GoWebProvider) Params(c framework.Container) []interface{} { + return []interface{}{c, goweb.BaseFolder} +} + +func (goweb *GoWebProvider) Name() string { + return contract.AppName +} diff --git a/framework/providers/app/service.go b/framework/providers/app/service.go new file mode 100644 index 0000000..e6a0785 --- /dev/null +++ b/framework/providers/app/service.go @@ -0,0 +1,102 @@ +package app + +import ( + "flag" + "fmt" + "path/filepath" + + "git.vinchent.xyz/vinchent/go-web/framework" + "git.vinchent.xyz/vinchent/go-web/framework/utils" +) + +type GoWebApp struct { + container framework.Container + baseFolder string +} + +const AppVersion = "0.0.1" + +func ErrParamsAmount(want int, got int) error { + return fmt.Errorf("want %d arguments, got %d", want, got) +} + +// NewGoWebApp creates a new GoWeb app. +// +// \params[in]: container +// \params[in]: baseFolder +func NewGoWebApp(params ...interface{}) (interface{}, error) { + if len(params) != 2 { + return nil, ErrParamsAmount(2, len(params)) + } + + container := params[0].(framework.Container) + baseFolder := params[1].(string) + return &GoWebApp{ + container: container, + baseFolder: baseFolder, + }, nil +} + +func (goweb *GoWebApp) Version() string { + return AppVersion +} + +func (goweb *GoWebApp) BaseFolder() string { + if goweb.baseFolder != "" { + return goweb.baseFolder + } + + // not defined yet + var baseFolder string + flag.StringVar( + &baseFolder, + "base_folder", + utils.GetExecDirectory(), + "base_folder of the app. Use the current path as default value", + ) + + return baseFolder +} + +func (goweb *GoWebApp) ConfigFolder() string { + return filepath.Join(goweb.BaseFolder(), "config") +} + +func (goweb *GoWebApp) StorageFolder() string { + return filepath.Join(goweb.BaseFolder(), "storage") +} + +func (goweb *GoWebApp) LogFolder() string { + // storage/log + return filepath.Join(goweb.StorageFolder(), "log") +} + +func (goweb *GoWebApp) ProvidersFolder() string { + return filepath.Join(goweb.BaseFolder(), "providers") +} + +func (goweb *GoWebApp) HttpFolder() string { + return filepath.Join(goweb.BaseFolder(), "http") +} + +func (goweb *GoWebApp) MiddlewaresFolder() string { + // http/middlewares + return filepath.Join(goweb.HttpFolder(), "middlewares") +} + +func (goweb *GoWebApp) ConsoleFolder() string { + return filepath.Join(goweb.BaseFolder(), "console") +} + +func (goweb *GoWebApp) CommandsFolder() string { + // console/commands + return filepath.Join(goweb.ConsoleFolder(), "commands") +} + +func (goweb *GoWebApp) RuntimeFolder() string { + return filepath.Join(goweb.StorageFolder(), "runtime") +} + +func (goweb *GoWebApp) TestsFolder() string { + return filepath.Join(goweb.BaseFolder(), "tests") +} diff --git a/framework/utils/exec.go b/framework/utils/exec.go new file mode 100644 index 0000000..b83d967 --- /dev/null +++ b/framework/utils/exec.go @@ -0,0 +1,12 @@ +package utils + +import "os" + +// Get the current folder with / suffix +func GetExecDirectory() string { + path, err := os.Getwd() + if err != nil { + return "" + } + return path + "/" +} diff --git a/go.mod b/go.mod index 2bf7bbe..1ad417a 100644 --- a/go.mod +++ b/go.mod @@ -14,8 +14,9 @@ require ( github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.20.0 // indirect + github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect github.com/goccy/go-json v0.10.2 // indirect - github.com/google/go-cmp v0.6.0 // indirect + github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/kr/pretty v0.3.1 // indirect @@ -23,16 +24,22 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/onsi/ginkgo/v2 v2.9.5 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/quic-go/qpack v0.4.0 // indirect + github.com/quic-go/quic-go v0.43.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect + go.uber.org/mock v0.4.0 // indirect golang.org/x/arch v0.8.0 // indirect golang.org/x/crypto v0.25.0 // indirect + golang.org/x/exp v0.0.0-20221205204356-47842c84f3db // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.27.0 // indirect golang.org/x/sys v0.22.0 // indirect golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/protobuf v1.34.1 // indirect - gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 8a7b933..33bb3b8 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,9 @@ github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= @@ -14,8 +17,8 @@ github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uq github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= -github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -24,11 +27,18 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8= github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -48,11 +58,19 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= +github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= +github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= +github.com/quic-go/quic-go v0.43.1 h1:fLiMNfQVe9q2JvSsiXo4fXOEguXHGGl9+6gLp4RPeZQ= +github.com/quic-go/quic-go v0.43.1/go.mod h1:132kz4kL3F9vxhW3CtQJLDVwcFe5wdWeJXXijhsO57M= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -60,6 +78,7 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -71,19 +90,32 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc= golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/exp v0.0.0-20221205204356-47842c84f3db h1:D/cFflL63o2KSLJIwjlcIt8PR064j/xsmdEJL/YvY/o= +golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/providers/webserver/contract.go b/providers/webserver/contract.go deleted file mode 100644 index 6773849..0000000 --- a/providers/webserver/contract.go +++ /dev/null @@ -1,3 +0,0 @@ -package webserver - -const WebSrvName = "srv:gin" diff --git a/providers/webserver/provider.go b/providers/webserver/provider.go deleted file mode 100644 index 07e7f5d..0000000 --- a/providers/webserver/provider.go +++ /dev/null @@ -1,25 +0,0 @@ -package webserver - -import "git.vinchent.xyz/vinchent/go-web/framework" - -type WebSrvProvider struct{} - -func (p *WebSrvProvider) Name() string { - return WebSrvName -} - -func (p *WebSrvProvider) Register(c framework.Container) framework.NewInstance { - return NewGoWebGin -} - -func (p *WebSrvProvider) Init(c framework.Container) error { - return nil -} - -func (p *WebSrvProvider) InstantiateLater() bool { - return false -} - -func (p *WebSrvProvider) Params(c framework.Container) []interface{} { - return []interface{}{c} -} diff --git a/providers/webserver/service.go b/providers/webserver/service.go deleted file mode 100644 index 9107605..0000000 --- a/providers/webserver/service.go +++ /dev/null @@ -1,25 +0,0 @@ -package webserver - -import ( - "git.vinchent.xyz/vinchent/go-web/framework" - "github.com/gin-gonic/gin" -) - -type GoWebGin struct { - container framework.Container - Engine *gin.Engine -} - -func NewGoWebGin(params ...interface{}) (interface{}, error) { - paramsLen := len(params) - container := params[0].(framework.Container) - - ginOpts := make([]gin.OptionFunc, paramsLen-1) - for _, param := range params[1:] { - ginOpts = append(ginOpts, param.(gin.OptionFunc)) - } - return &GoWebGin{ - container: container, - Engine: gin.New(ginOpts...), - }, nil -} diff --git a/routes.go b/routes.go index a51a0b7..3212633 100644 --- a/routes.go +++ b/routes.go @@ -1,7 +1,7 @@ package main import ( - "git.vinchent.xyz/vinchent/go-web/framework/middleware" + "git.vinchent.xyz/vinchent/go-web/framework/middlewares" "github.com/gin-gonic/gin" )