From 2b3389749493ed713f2bf89ddf42c420d3b8f986 Mon Sep 17 00:00:00 2001 From: Vlad Date: Thu, 11 Jul 2024 23:09:14 +0300 Subject: [PATCH] create http utils module --- context/keys/keys.go | 37 ------------------- db/go.mod | 10 +++--- db/go.sum | 20 +++++------ httputils/context.go | 42 ++++++++++++++++++++++ httputils/go.mod | 5 +++ httputils/go.sum | 2 ++ {misc/httputils => httputils}/httputils.go | 0 logger/consts.go | 5 +++ logger/example/go.mod | 8 ++--- logger/go.mod | 8 ++--- logger/go.sum | 16 ++++----- make.sh | 30 +++++++--------- queue/go.mod | 16 ++++----- queue/go.sum | 32 ++++++++--------- server/go.mod | 12 +++---- server/go.sum | 24 ++++++------- server/handler.go | 1 + server/http.go | 1 - server/middleware/ip_address.go | 2 -- tests/actions.go | 5 +-- tests/general.go | 4 +-- tests/go.mod | 2 +- tests/go.sum | 4 +-- tests/sql.go | 30 ---------------- validator/go.mod | 4 +-- validator/go.sum | 10 ++---- 26 files changed, 152 insertions(+), 178 deletions(-) create mode 100644 httputils/context.go create mode 100644 httputils/go.mod create mode 100644 httputils/go.sum rename {misc/httputils => httputils}/httputils.go (100%) create mode 100644 logger/consts.go delete mode 100644 tests/sql.go diff --git a/context/keys/keys.go b/context/keys/keys.go index 40eee0c..187f60f 100644 --- a/context/keys/keys.go +++ b/context/keys/keys.go @@ -2,8 +2,6 @@ package keys import ( "context" - "net/http" - "strings" ) type ( @@ -49,38 +47,3 @@ func SetCtxValues(ctx context.Context, values map[ContextKey]any) context.Contex return ctx } - -func GetIPAddress(headers http.Header) string { - // ToDo - // Use echo context.RealIP() - ip := "127.0.0.1" - if xOFF := headers.Get("X-Original-Forwarded-For"); xOFF != "" { - i := strings.Index(xOFF, ", ") - if i == -1 { - i = len(xOFF) - } - ip = xOFF[:i] - } else if xFF := headers.Get("X-Forwarded-For"); xFF != "" { - i := strings.Index(xFF, ", ") - if i == -1 { - i = len(xFF) - } - ip = xFF[:i] - } else if xrIP := headers.Get("X-Real-IP"); xrIP != "" { - ip = xrIP - } - return ip -} - -// Set values in ctx for -// RequestID, IPAddress -func SetDefaultHTTPCtx(ctx context.Context, headers http.Header) context.Context { - // so we don't need echo here - // requestID := headers.Get(echo.HeaderXRequestID) - requestID := headers.Get("X-Request-Id") - IP := GetIPAddress(headers) - - ctx = SetCtxValue(ctx, RequestID, requestID) - ctx = SetCtxValue(ctx, IPAddress, IP) - return ctx -} diff --git a/db/go.mod b/db/go.mod index 1261eb0..833cf32 100644 --- a/db/go.mod +++ b/db/go.mod @@ -7,10 +7,10 @@ require ( github.com/jackc/pgx/v5 v5.6.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.9.0 - github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1 ) require ( @@ -27,7 +27,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/zerolog v1.33.0 // indirect - github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da // indirect + github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 // indirect golang.org/x/crypto v0.21.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/sys v0.19.0 // indirect diff --git a/db/go.sum b/db/go.sum index 62b9d86..6f32077 100644 --- a/db/go.sum +++ b/db/go.sum @@ -44,16 +44,16 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da h1:TjRKBKrC2AIKOh153UeL6b219Jffjq9b9xkcQdqz6NQ= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da h1:2+0vYYSEQ0IJL0gxUolEiLlYS2ubzTgRx5bvEK0B2Uc= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= -github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da h1:nWBOJU5yM+3otFkSTKmcUvthGwgAdc47ytjsJalYjAA= -github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:Or/j8PSVPz0GDEodV7Xt/YfZY3gtOei6JJX2HBJMBcY= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da h1:52xUrPcn5XKa/+DWMYATwhFEzVZlAXMZnWexuDb7kxQ= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da h1:1fRNvelyZSTSW7bBYu45jNz1vkme1c/N+Y1lnazgSPQ= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:EEk2PgvqUjAatGaSzPfYgVxD1wIEWooXzGcrjC8aChQ= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 h1:lvdKjRIHV8E4/qO5DFUFG28OssU0//Q5xutGnigKrw4= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 h1:L+13/Wu78XSka1vsVoIT+wC6PNYyor/DsBCO8qZABBU= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= +github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 h1:IrNLIUolSptYLJ/tN8capygfcEvy0+HwXF01FwVnHnI= +github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1/go.mod h1:VqkrSZdVj5N37xKYpYeZo9w7de4gARPM5qK2xNLk8mQ= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 h1:wnaGoNICkCWjrEydM/f6lSwCr2skY7M1KgBVOABXy/Y= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= +github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1 h1:6dlbOMzB76AwV5yoUTZj8mQnnj5QQHHS3iC9rlWrAsE= +github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1/go.mod h1:qHHawYTo8EOZOrl78IjxUWJL8cSJuNjS65GMBUbvE88= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= diff --git a/httputils/context.go b/httputils/context.go new file mode 100644 index 0000000..c22f918 --- /dev/null +++ b/httputils/context.go @@ -0,0 +1,42 @@ +package httputils + +import ( + "context" + "net/http" + "strings" +) + +func GetIPAddress(headers http.Header) string { + // ToDo + // Use echo context.RealIP() + ip := "127.0.0.1" + if xOFF := headers.Get("X-Original-Forwarded-For"); xOFF != "" { + i := strings.Index(xOFF, ", ") + if i == -1 { + i = len(xOFF) + } + ip = xOFF[:i] + } else if xFF := headers.Get("X-Forwarded-For"); xFF != "" { + i := strings.Index(xFF, ", ") + if i == -1 { + i = len(xFF) + } + ip = xFF[:i] + } else if xrIP := headers.Get("X-Real-IP"); xrIP != "" { + ip = xrIP + } + return ip +} + +// Set values in ctx for +// RequestID, IPAddress +func SetDefaultHTTPCtx(ctx context.Context, headers http.Header) context.Context { + // so we don't need echo here + // requestID := headers.Get(echo.HeaderXRequestID) + requestID := headers.Get("X-Request-Id") + IP := GetIPAddress(headers) + + ctx = SetCtxValue(ctx, KeyRequestID, requestID) + ctx = SetCtxValue(ctx, KeyIPAddress, IP) + return ctx +} diff --git a/httputils/go.mod b/httputils/go.mod new file mode 100644 index 0000000..3e3c7fc --- /dev/null +++ b/httputils/go.mod @@ -0,0 +1,5 @@ +module github.com/webdevelop-pro/go-common/httputils + +go 1.22.1 + +require github.com/pkg/errors v0.9.1 diff --git a/httputils/go.sum b/httputils/go.sum new file mode 100644 index 0000000..7c401c3 --- /dev/null +++ b/httputils/go.sum @@ -0,0 +1,2 @@ +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= diff --git a/misc/httputils/httputils.go b/httputils/httputils.go similarity index 100% rename from misc/httputils/httputils.go rename to httputils/httputils.go diff --git a/logger/consts.go b/logger/consts.go new file mode 100644 index 0000000..4d16067 --- /dev/null +++ b/logger/consts.go @@ -0,0 +1,5 @@ +package logger + +type contextKey rune + +const LogInfoKey contextKey = iota diff --git a/logger/example/go.mod b/logger/example/go.mod index 5fcd3cd..566715b 100644 --- a/logger/example/go.mod +++ b/logger/example/go.mod @@ -5,8 +5,8 @@ go 1.22.2 require ( github.com/labstack/echo/v4 v4.12.0 github.com/pkg/errors v0.9.1 - github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1 ) require ( @@ -19,8 +19,8 @@ require ( github.com/rs/zerolog v1.32.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da // indirect - github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da // indirect + github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 // indirect + github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 // indirect golang.org/x/crypto v0.22.0 // indirect golang.org/x/net v0.24.0 // indirect golang.org/x/sys v0.19.0 // indirect diff --git a/logger/go.mod b/logger/go.mod index 8a11028..79b9715 100644 --- a/logger/go.mod +++ b/logger/go.mod @@ -5,9 +5,9 @@ go 1.22.2 require ( github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 - github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1 go.uber.org/fx v1.22.0 ) @@ -25,7 +25,7 @@ require ( github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/stretchr/testify v1.9.0 // indirect - github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da // indirect + github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/sys v0.19.0 // indirect diff --git a/logger/go.sum b/logger/go.sum index 8bac70b..13d49cd 100644 --- a/logger/go.sum +++ b/logger/go.sum @@ -34,14 +34,14 @@ github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da h1:TjRKBKrC2AIKOh153UeL6b219Jffjq9b9xkcQdqz6NQ= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da h1:2+0vYYSEQ0IJL0gxUolEiLlYS2ubzTgRx5bvEK0B2Uc= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da h1:52xUrPcn5XKa/+DWMYATwhFEzVZlAXMZnWexuDb7kxQ= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da h1:1fRNvelyZSTSW7bBYu45jNz1vkme1c/N+Y1lnazgSPQ= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:EEk2PgvqUjAatGaSzPfYgVxD1wIEWooXzGcrjC8aChQ= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 h1:lvdKjRIHV8E4/qO5DFUFG28OssU0//Q5xutGnigKrw4= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 h1:L+13/Wu78XSka1vsVoIT+wC6PNYyor/DsBCO8qZABBU= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 h1:wnaGoNICkCWjrEydM/f6lSwCr2skY7M1KgBVOABXy/Y= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= +github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1 h1:6dlbOMzB76AwV5yoUTZj8mQnnj5QQHHS3iC9rlWrAsE= +github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1/go.mod h1:qHHawYTo8EOZOrl78IjxUWJL8cSJuNjS65GMBUbvE88= go.uber.org/fx v1.22.0 h1:pApUK7yL0OUHMd8vkunWSlLxZVFFk70jR2nKde8X2NM= go.uber.org/fx v1.22.0/go.mod h1:HT2M7d7RHo+ebKGh9NRcrsrHHfpZ60nW3QRubMRfv48= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= diff --git a/make.sh b/make.sh index 8aa6003..da6b93b 100755 --- a/make.sh +++ b/make.sh @@ -83,7 +83,7 @@ lint) then if [ -f "$ddir/go.mod" ]; then cd $ddir - golangci-lint -c ../.golangci.yml run --fix $2 $3 + golangci-lint -c ../.golangci.yml run --fix $2 $3 || echo 'not ok' cd ../ fi fi @@ -91,22 +91,18 @@ lint) ;; test) - case $2 in - unit) - init - go test -run=Unit -count=1 -v ${PKG_LIST} $3 - ;; - - integration) - init - go test -run=Integration -count=1 -p 1 -v ${PKG_LIST} $3 - ;; - *) - init - go test -count=1 -p 1 -v ${PKG_LIST} $2 $3 - ;; - - esac + dirlist=`ls` + for ddir in $dirlist[@] + do + if [ -d $ddir ] + then + if [ -f "$ddir/go.mod" ]; then + cd $ddir + go test -count=1 -p 1 -v ${ddir} $2 $3 + cd ../ + fi + fi + done ;; race) diff --git a/queue/go.mod b/queue/go.mod index 307452e..c614c52 100644 --- a/queue/go.mod +++ b/queue/go.mod @@ -8,12 +8,12 @@ require ( github.com/labstack/echo/v4 v4.12.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.9.0 - github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/validator v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/validator v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1 google.golang.org/api v0.185.0 ) @@ -49,8 +49,8 @@ require ( github.com/rs/zerolog v1.33.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da // indirect - github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da // indirect + github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 // indirect + github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect diff --git a/queue/go.sum b/queue/go.sum index 5fcaf32..5289664 100644 --- a/queue/go.sum +++ b/queue/go.sum @@ -123,22 +123,22 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da h1:TjRKBKrC2AIKOh153UeL6b219Jffjq9b9xkcQdqz6NQ= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da h1:2+0vYYSEQ0IJL0gxUolEiLlYS2ubzTgRx5bvEK0B2Uc= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= -github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da h1:nWBOJU5yM+3otFkSTKmcUvthGwgAdc47ytjsJalYjAA= -github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:Or/j8PSVPz0GDEodV7Xt/YfZY3gtOei6JJX2HBJMBcY= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da h1:52xUrPcn5XKa/+DWMYATwhFEzVZlAXMZnWexuDb7kxQ= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= -github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da h1:7iWqnpWgEumJUCjKSNLxNzV53hPyQsbxhNO1nYfR83E= -github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:OClsHgTVyGEjiOdxOJ/s3fwmHlLbcFRKM+RzOzHXmpE= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da h1:1fRNvelyZSTSW7bBYu45jNz1vkme1c/N+Y1lnazgSPQ= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:EEk2PgvqUjAatGaSzPfYgVxD1wIEWooXzGcrjC8aChQ= -github.com/webdevelop-pro/go-common/validator v0.0.0-20240709190542-6fc8edc6e2da h1:mpYXrOj1G1/IBHaucO3Qjwa9vK5r+86/Iy6n9lI+fj0= -github.com/webdevelop-pro/go-common/validator v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:3jAt4jaK8Hqz3rlN6zCzcd6965Ecv9T6DxPRXs5gQjM= -github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da h1:GO3UUpznbdIpn5pyiiokt91dOev3Cz8/Rjhy/WfOrN0= -github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:j5LN7GvWAj91nQcvo+4wjtopHAhvSn6K4y+ObXP7dYU= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 h1:lvdKjRIHV8E4/qO5DFUFG28OssU0//Q5xutGnigKrw4= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 h1:L+13/Wu78XSka1vsVoIT+wC6PNYyor/DsBCO8qZABBU= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= +github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 h1:IrNLIUolSptYLJ/tN8capygfcEvy0+HwXF01FwVnHnI= +github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1/go.mod h1:VqkrSZdVj5N37xKYpYeZo9w7de4gARPM5qK2xNLk8mQ= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 h1:wnaGoNICkCWjrEydM/f6lSwCr2skY7M1KgBVOABXy/Y= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= +github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1 h1:7RarLjWsldl2719V0832MvnfYBIhkrqZTimXw9jpQcY= +github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1/go.mod h1:OClsHgTVyGEjiOdxOJ/s3fwmHlLbcFRKM+RzOzHXmpE= +github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1 h1:6dlbOMzB76AwV5yoUTZj8mQnnj5QQHHS3iC9rlWrAsE= +github.com/webdevelop-pro/go-common/tests v0.0.0-20240711185712-d454d320efa1/go.mod h1:qHHawYTo8EOZOrl78IjxUWJL8cSJuNjS65GMBUbvE88= +github.com/webdevelop-pro/go-common/validator v0.0.0-20240711185712-d454d320efa1 h1:bBEgPltGc6vFpEiajgWFm6Exd6p/iMgh9kenOLtof/Y= +github.com/webdevelop-pro/go-common/validator v0.0.0-20240711185712-d454d320efa1/go.mod h1:G4H0F0OVU2X8O+qa+9+O7fSGfIa39yuefi94221Km2E= +github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1 h1:XUhshquuGVbkLS+5T3W0/O3VmAKUpADw1T4F9o5Z/8I= +github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1/go.mod h1:j5LN7GvWAj91nQcvo+4wjtopHAhvSn6K4y+ObXP7dYU= go.einride.tech/aip v0.67.1 h1:d/4TW92OxXBngkSOwWS2CH5rez869KpKMaN44mdxkFI= go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= diff --git a/server/go.mod b/server/go.mod index b68bfaa..5ad2445 100644 --- a/server/go.mod +++ b/server/go.mod @@ -10,11 +10,11 @@ require ( github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 github.com/stretchr/testify v1.9.0 - github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/validator v0.0.0-20240709190542-6fc8edc6e2da - github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/validator v0.0.0-20240711185712-d454d320efa1 + github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1 go.uber.org/fx v1.22.1 ) @@ -42,7 +42,7 @@ require ( github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da // indirect + github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1 // indirect go.uber.org/dig v1.17.1 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect diff --git a/server/go.sum b/server/go.sum index fe78b3f..e08200a 100644 --- a/server/go.sum +++ b/server/go.sum @@ -69,18 +69,18 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da h1:TjRKBKrC2AIKOh153UeL6b219Jffjq9b9xkcQdqz6NQ= -github.com/webdevelop-pro/go-common/configurator v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da h1:2+0vYYSEQ0IJL0gxUolEiLlYS2ubzTgRx5bvEK0B2Uc= -github.com/webdevelop-pro/go-common/context v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= -github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da h1:nWBOJU5yM+3otFkSTKmcUvthGwgAdc47ytjsJalYjAA= -github.com/webdevelop-pro/go-common/logger v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:Or/j8PSVPz0GDEodV7Xt/YfZY3gtOei6JJX2HBJMBcY= -github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da h1:7iWqnpWgEumJUCjKSNLxNzV53hPyQsbxhNO1nYfR83E= -github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:OClsHgTVyGEjiOdxOJ/s3fwmHlLbcFRKM+RzOzHXmpE= -github.com/webdevelop-pro/go-common/validator v0.0.0-20240709190542-6fc8edc6e2da h1:mpYXrOj1G1/IBHaucO3Qjwa9vK5r+86/Iy6n9lI+fj0= -github.com/webdevelop-pro/go-common/validator v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:3jAt4jaK8Hqz3rlN6zCzcd6965Ecv9T6DxPRXs5gQjM= -github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da h1:GO3UUpznbdIpn5pyiiokt91dOev3Cz8/Rjhy/WfOrN0= -github.com/webdevelop-pro/go-common/verser v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:j5LN7GvWAj91nQcvo+4wjtopHAhvSn6K4y+ObXP7dYU= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1 h1:lvdKjRIHV8E4/qO5DFUFG28OssU0//Q5xutGnigKrw4= +github.com/webdevelop-pro/go-common/configurator v0.0.0-20240711185712-d454d320efa1/go.mod h1:AyuPyL015mgYkuv/P1UN+mTNQOWldh8Rk+5e+41+i3o= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1 h1:L+13/Wu78XSka1vsVoIT+wC6PNYyor/DsBCO8qZABBU= +github.com/webdevelop-pro/go-common/context v0.0.0-20240711185712-d454d320efa1/go.mod h1:sTPN4cFn9lkQqBr15rMVrSUbgiLGU0ygpVJw/KmanyU= +github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1 h1:IrNLIUolSptYLJ/tN8capygfcEvy0+HwXF01FwVnHnI= +github.com/webdevelop-pro/go-common/logger v0.0.0-20240711185712-d454d320efa1/go.mod h1:VqkrSZdVj5N37xKYpYeZo9w7de4gARPM5qK2xNLk8mQ= +github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1 h1:7RarLjWsldl2719V0832MvnfYBIhkrqZTimXw9jpQcY= +github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1/go.mod h1:OClsHgTVyGEjiOdxOJ/s3fwmHlLbcFRKM+RzOzHXmpE= +github.com/webdevelop-pro/go-common/validator v0.0.0-20240711185712-d454d320efa1 h1:bBEgPltGc6vFpEiajgWFm6Exd6p/iMgh9kenOLtof/Y= +github.com/webdevelop-pro/go-common/validator v0.0.0-20240711185712-d454d320efa1/go.mod h1:G4H0F0OVU2X8O+qa+9+O7fSGfIa39yuefi94221Km2E= +github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1 h1:XUhshquuGVbkLS+5T3W0/O3VmAKUpADw1T4F9o5Z/8I= +github.com/webdevelop-pro/go-common/verser v0.0.0-20240711185712-d454d320efa1/go.mod h1:j5LN7GvWAj91nQcvo+4wjtopHAhvSn6K4y+ObXP7dYU= go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= go.uber.org/fx v1.22.1 h1:nvvln7mwyT5s1q201YE29V/BFrGor6vMiDNpU/78Mys= diff --git a/server/handler.go b/server/handler.go index 783f294..e657270 100644 --- a/server/handler.go +++ b/server/handler.go @@ -10,6 +10,7 @@ func InitHandlerGroups(srv *HTTPServer, rg route.ConfiguratorIn) { srv.InitRoutes(group) } } + func NewHandlerGroups(groups ...any) fx.Option { //nolint:prealloc var annotates []any diff --git a/server/http.go b/server/http.go index 635043f..2f5aabb 100644 --- a/server/http.go +++ b/server/http.go @@ -26,7 +26,6 @@ type HTTPServer struct { config *Config } - func InitAndRun() fx.Option { return fx.Module(component, // Init http server diff --git a/server/middleware/ip_address.go b/server/middleware/ip_address.go index 855f072..d99595b 100644 --- a/server/middleware/ip_address.go +++ b/server/middleware/ip_address.go @@ -10,9 +10,7 @@ import ( func SetIPAddress(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { ip := keys.GetIPAddress(c.Request().Header) - c.Set(keys.IPAddressStr, ip) - //nolint:golint ctx := context.WithValue(c.Request().Context(), keys.IPAddressStr, ip) c.SetRequest(c.Request().WithContext(ctx)) return next(c) diff --git a/tests/actions.go b/tests/actions.go index 789c9d2..1f38d15 100644 --- a/tests/actions.go +++ b/tests/actions.go @@ -10,7 +10,8 @@ import ( ) type TestContext struct { - T *testing.T + T *testing.T + //nolint:containedctx Ctx context.Context } @@ -26,7 +27,7 @@ type ExpectedResponse struct { func SendHTTPRequst(req httputils.Request, checks ...ExpectedResponse) SomeAction { return func(t TestContext) error { - res, err := httputils.CreateDefaultRequest(req) + res, err := httputils.CreateDefaultRequest(t.Ctx, req) assert.NoError(t.T, err) result, code, err := httputils.SendRequest(res) diff --git a/tests/general.go b/tests/general.go index f5b6354..4735513 100644 --- a/tests/general.go +++ b/tests/general.go @@ -28,10 +28,10 @@ func GetPointer(str string) *string { } */ -func RunTableTest(t *testing.T, FixtureMngrs []FixturesManager, tableTest TableTest) { +func RunTableTest(t *testing.T, fixtureMngrs []FixturesManager, tableTest TableTest) { t.Helper() - for _, fixtures := range FixtureMngrs { + for _, fixtures := range fixtureMngrs { err := fixtures.CleanAndApply() assert.NoError(t, err, "Failed apply fixtures") tableTest.Context.Ctx = fixtures.SetCTX(tableTest.Context.Ctx) diff --git a/tests/go.mod b/tests/go.mod index 429cca2..d1dd2f9 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -4,7 +4,7 @@ go 1.22.2 require ( github.com/stretchr/testify v1.9.0 - github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 ) require ( diff --git a/tests/go.sum b/tests/go.sum index de88cbf..81d5ec2 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -6,8 +6,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da h1:52xUrPcn5XKa/+DWMYATwhFEzVZlAXMZnWexuDb7kxQ= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1 h1:wnaGoNICkCWjrEydM/f6lSwCr2skY7M1KgBVOABXy/Y= +github.com/webdevelop-pro/go-common/misc v0.0.0-20240711185712-d454d320efa1/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/tests/sql.go b/tests/sql.go deleted file mode 100644 index 2371870..0000000 --- a/tests/sql.go +++ /dev/null @@ -1,30 +0,0 @@ -package tests - -import ( - "testing" -) - -type SQLTestCase struct { - ExpectedSelectQuery string - ExpectedResult string -} - -// ToDo -// Do we still need it? -func AssertSQL(t *testing.T, fManager FixturesManager, testCase SQLTestCase) { - t.Helper() - - // ToDo: FixME - /* - actualResult, err := fManager.SelectQuery(testCase.ExpectedSelectQuery) - if err != nil { - query := strings.ReplaceAll(testCase.ExpectedSelectQuery, "\t", " ") - query = strings.ReplaceAll(query, "\n", " ") - query = strings.ReplaceAll(query, " ", " ") - query = strings.ReplaceAll(query, " ", " ") - assert.FailNow(t, err.Error()+" failed sql: "+query) - } - - CompareJSONBody(t, []byte(actualResult), []byte(testCase.ExpectedResult)) - */ -} diff --git a/validator/go.mod b/validator/go.mod index 65326d4..80d11f4 100644 --- a/validator/go.mod +++ b/validator/go.mod @@ -6,7 +6,7 @@ require ( github.com/go-playground/validator/v10 v10.22.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.9.0 - github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da + github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1 ) require ( @@ -16,8 +16,6 @@ require ( github.com/go-playground/universal-translator v0.18.1 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da // indirect - github.com/webdevelop-pro/go-common/tests v0.0.0-20240710053503-c2a6d0f99fed // indirect golang.org/x/crypto v0.19.0 // indirect golang.org/x/net v0.21.0 // indirect golang.org/x/sys v0.17.0 // indirect diff --git a/validator/go.sum b/validator/go.sum index e3f9188..c997b57 100644 --- a/validator/go.sum +++ b/validator/go.sum @@ -16,16 +16,10 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 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/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da h1:52xUrPcn5XKa/+DWMYATwhFEzVZlAXMZnWexuDb7kxQ= -github.com/webdevelop-pro/go-common/misc v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:rWON4xXHLd2YPtk0dsR1mpscY88LJDr+UawAV0fU2n8= -github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da h1:7iWqnpWgEumJUCjKSNLxNzV53hPyQsbxhNO1nYfR83E= -github.com/webdevelop-pro/go-common/response v0.0.0-20240709190542-6fc8edc6e2da/go.mod h1:OClsHgTVyGEjiOdxOJ/s3fwmHlLbcFRKM+RzOzHXmpE= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240710053503-c2a6d0f99fed h1:Wmhc7LeX/kQBk+S+LWksYPFXctl6FYFCnaM5uV5Ecvo= -github.com/webdevelop-pro/go-common/tests v0.0.0-20240710053503-c2a6d0f99fed/go.mod h1:qHHawYTo8EOZOrl78IjxUWJL8cSJuNjS65GMBUbvE88= +github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1 h1:7RarLjWsldl2719V0832MvnfYBIhkrqZTimXw9jpQcY= +github.com/webdevelop-pro/go-common/response v0.0.0-20240711185712-d454d320efa1/go.mod h1:OClsHgTVyGEjiOdxOJ/s3fwmHlLbcFRKM+RzOzHXmpE= golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=