Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Vladimir Barsukov
zGo
Commits
89566a93
Commit
89566a93
authored
Apr 26, 2026
by
Vladimir Barsukov
Browse files
s3 list files
parent
634f712b
Changes
3
Show whitespace changes
Inline
Side-by-side
go.mod
View file @
89566a93
...
@@ -5,27 +5,28 @@ go 1.26
...
@@ -5,27 +5,28 @@ go 1.26
require (
require (
github.com/aws/aws-sdk-go
v1.55.8
github.com/aws/aws-sdk-go
v1.55.8
github.com/georgysavva/scany/v2
v2.1.4
github.com/georgysavva/scany/v2
v2.1.4
github.com/gin-gonic/gin
v1.1
1
.0
github.com/gin-gonic/gin
v1.1
2
.0
github.com/go-co-op/gocron
v1.37.0
github.com/go-co-op/gocron
v1.37.0
github.com/google/uuid
v1.6.0
github.com/google/uuid
v1.6.0
github.com/jackc/pgx/v5
v5.8.0
github.com/jackc/pgx/v5
v5.9.2
github.com/lib/pq
v1.12.3
github.com/patrickmn/go-cache
v2.1.0+incompatible
github.com/patrickmn/go-cache
v2.1.0+incompatible
github.com/pkg/errors
v0.9.1
github.com/pkg/errors
v0.9.1
golang.org/x/exp
v0.0.0-20260
218203240-3dfff04db8fa
golang.org/x/exp
v0.0.0-20260
410095643-746e56fc9e2f
golang.org/x/sync
v0.
19
.0
golang.org/x/sync
v0.
20
.0
)
)
require (
require (
github.com/bytedance/gopkg
v0.1.
3
// indirect
github.com/bytedance/gopkg
v0.1.
4
// indirect
github.com/bytedance/sonic
v1.15.0 // indirect
github.com/bytedance/sonic
v1.15.0 // indirect
github.com/bytedance/sonic/loader
v0.5.
0
// indirect
github.com/bytedance/sonic/loader
v0.5.
1
// indirect
github.com/cloudwego/base64x
v0.1.6 // indirect
github.com/cloudwego/base64x
v0.1.6 // indirect
github.com/gabriel-vasile/mimetype
v1.4.13 // indirect
github.com/gabriel-vasile/mimetype
v1.4.13 // indirect
github.com/gin-contrib/sse
v1.1.
0
// indirect
github.com/gin-contrib/sse
v1.1.
1
// indirect
github.com/go-playground/locales
v0.14.1 // indirect
github.com/go-playground/locales
v0.14.1 // indirect
github.com/go-playground/universal-translator
v0.18.1 // indirect
github.com/go-playground/universal-translator
v0.18.1 // indirect
github.com/go-playground/validator/v10
v10.30.
1
// indirect
github.com/go-playground/validator/v10
v10.30.
2
// indirect
github.com/goccy/go-json
v0.10.
5
// indirect
github.com/goccy/go-json
v0.10.
6
// indirect
github.com/goccy/go-yaml
v1.19.2 // indirect
github.com/goccy/go-yaml
v1.19.2 // indirect
github.com/jackc/pgpassfile
v1.0.0 // indirect
github.com/jackc/pgpassfile
v1.0.0 // indirect
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761 // indirect
...
@@ -34,22 +35,21 @@ require (
...
@@ -34,22 +35,21 @@ require (
github.com/json-iterator/go
v1.1.12 // indirect
github.com/json-iterator/go
v1.1.12 // indirect
github.com/klauspost/cpuid/v2
v2.3.0 // indirect
github.com/klauspost/cpuid/v2
v2.3.0 // indirect
github.com/leodido/go-urn
v1.4.0 // indirect
github.com/leodido/go-urn
v1.4.0 // indirect
github.com/lib/pq
v1.10.9 // indirect
github.com/mattn/go-isatty
v0.0.21 // indirect
github.com/mattn/go-isatty
v0.0.20 // indirect
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2
v1.0.2 // indirect
github.com/modern-go/reflect2
v1.0.2 // indirect
github.com/pelletier/go-toml/v2
v2.
2.4
// indirect
github.com/pelletier/go-toml/v2
v2.
3.0
// indirect
github.com/quic-go/qpack
v0.6.0 // indirect
github.com/quic-go/qpack
v0.6.0 // indirect
github.com/quic-go/quic-go
v0.59.0 // indirect
github.com/quic-go/quic-go
v0.59.0 // indirect
github.com/robfig/cron/v3
v3.0.1 // indirect
github.com/robfig/cron/v3
v3.0.1 // indirect
github.com/twitchyliquid64/golang-asm
v0.15.1 // indirect
github.com/twitchyliquid64/golang-asm
v0.15.1 // indirect
github.com/ugorji/go/codec
v1.3.1 // indirect
github.com/ugorji/go/codec
v1.3.1 // indirect
go.mongodb.org/mongo-driver/v2
v2.5.1 // indirect
go.uber.org/atomic
v1.11.0 // indirect
go.uber.org/atomic
v1.11.0 // indirect
go.uber.org/mock
v0.6.0 // indirect
golang.org/x/arch
v0.26.0 // indirect
golang.org/x/arch
v0.24.0 // indirect
golang.org/x/crypto
v0.50.0 // indirect
golang.org/x/crypto
v0.48.0 // indirect
golang.org/x/net
v0.53.0 // indirect
golang.org/x/net
v0.51.0 // indirect
golang.org/x/sys
v0.43.0 // indirect
golang.org/x/sys
v0.41.0 // indirect
golang.org/x/text
v0.36.0 // indirect
golang.org/x/text
v0.34.0 // indirect
google.golang.org/protobuf
v1.36.11 // indirect
google.golang.org/protobuf
v1.36.11 // indirect
)
)
go.sum
View file @
89566a93
github.com/aws/aws-sdk-go
v1.55.8 h1:
JRmEUbU52aJQZ2AjX4q4Wu7t4uZjOu71uyNmaWlUkJQ=
github.com/aws/aws-sdk-go
v1.55.8 h1:
JRmEUbU52aJQZ2AjX4q4Wu7t4uZjOu71uyNmaWlUkJQ=
github.com/aws/aws-sdk-go
v1.55.8/go.mod h1:
ZkViS9AqA6otK+JBBNH2++sx1sgxrPKcSzPPvQkUtXk=
github.com/aws/aws-sdk-go
v1.55.8/go.mod h1:
ZkViS9AqA6otK+JBBNH2++sx1sgxrPKcSzPPvQkUtXk=
github.com/bytedance/gopkg
v0.1.
3
h1:
TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/
M=
github.com/bytedance/gopkg
v0.1.
4
h1:
oZnQwnX82KAIWb7033bEwtxvTqXcYMxDBaQxo5JJHW
M=
github.com/bytedance/gopkg
v0.1.
3
/go.mod h1:
576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM
=
github.com/bytedance/gopkg
v0.1.
4
/go.mod h1:
v1zWfPm21Fb+OsyXN2VAHdL6TBb2L88anLQgdyje6R4
=
github.com/bytedance/sonic
v1.15.0 h1:
/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE=
github.com/bytedance/sonic
v1.15.0 h1:
/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE=
github.com/bytedance/sonic
v1.15.0/go.mod h1:
tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k=
github.com/bytedance/sonic
v1.15.0/go.mod h1:
tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k=
github.com/bytedance/sonic/loader
v0.5.
0
h1:
gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE
=
github.com/bytedance/sonic/loader
v0.5.
1
h1:
Ygpfa9zwRCCKSlrp5bBP/b/Xzc3VxsAW+5NIYXrOOpI
=
github.com/bytedance/sonic/loader
v0.5.
0
/go.mod h1:
AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo=
github.com/bytedance/sonic/loader
v0.5.
1
/go.mod h1:
AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo=
github.com/cloudwego/base64x
v0.1.6 h1:
t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M=
github.com/cloudwego/base64x
v0.1.6 h1:
t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M=
github.com/cloudwego/base64x
v0.1.6/go.mod h1:
OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU=
github.com/cloudwego/base64x
v0.1.6/go.mod h1:
OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU=
github.com/cockroachdb/cockroach-go/v2
v2.2.0 h1:
/5znzg5n373N/3ESjHF5SMLxiW4RKB05Ql//KWfeTFs=
github.com/cockroachdb/cockroach-go/v2
v2.2.0 h1:
/5znzg5n373N/3ESjHF5SMLxiW4RKB05Ql//KWfeTFs=
...
@@ -18,10 +18,10 @@ github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9
...
@@ -18,10 +18,10 @@ github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9
github.com/gabriel-vasile/mimetype
v1.4.13/go.mod h1:
d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s=
github.com/gabriel-vasile/mimetype
v1.4.13/go.mod h1:
d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s=
github.com/georgysavva/scany/v2
v2.1.4 h1:
nrzHEJ4oQVRoiKmocRqA1IyGOmM/GQOEsg9UjMR5Ip4=
github.com/georgysavva/scany/v2
v2.1.4 h1:
nrzHEJ4oQVRoiKmocRqA1IyGOmM/GQOEsg9UjMR5Ip4=
github.com/georgysavva/scany/v2
v2.1.4/go.mod h1:
fqp9yHZzM/PFVa3/rYEC57VmDx+KDch0LoqrJzkvtos=
github.com/georgysavva/scany/v2
v2.1.4/go.mod h1:
fqp9yHZzM/PFVa3/rYEC57VmDx+KDch0LoqrJzkvtos=
github.com/gin-contrib/sse
v1.1.
0
h1:
n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w
=
github.com/gin-contrib/sse
v1.1.
1
h1:
uGYpNwTacv5R68bSGMapo62iLTRa9l5zxGCps4hK6ko
=
github.com/gin-contrib/sse
v1.1.
0
/go.mod h1:
hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM
=
github.com/gin-contrib/sse
v1.1.
1
/go.mod h1:
QXzuVkA0YO7o/gun03UI1Q+FTI8ZV/n5t03kIQAI89s
=
github.com/gin-gonic/gin
v1.1
1
.0 h1:
OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk
=
github.com/gin-gonic/gin
v1.1
2
.0 h1:
b3YAbrZtnf8N//yjKeU2+MQsh2mY5htkZidOM7O0wG8
=
github.com/gin-gonic/gin
v1.1
1
.0/go.mod h1:
+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls
=
github.com/gin-gonic/gin
v1.1
2
.0/go.mod h1:
VxccKfsSllpKshkBWgVgRniFFAzFb9csfngsqANjnLc
=
github.com/go-co-op/gocron
v1.37.0 h1:
ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0=
github.com/go-co-op/gocron
v1.37.0 h1:
ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0=
github.com/go-co-op/gocron
v1.37.0/go.mod h1:
3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
github.com/go-co-op/gocron
v1.37.0/go.mod h1:
3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
github.com/go-playground/assert/v2
v2.2.0 h1:
JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
github.com/go-playground/assert/v2
v2.2.0 h1:
JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
...
@@ -30,10 +30,10 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o
...
@@ -30,10 +30,10 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o
github.com/go-playground/locales
v0.14.1/go.mod h1:
hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/locales
v0.14.1/go.mod h1:
hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/universal-translator
v0.18.1 h1:
Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator
v0.18.1 h1:
Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator
v0.18.1/go.mod h1:
xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/universal-translator
v0.18.1/go.mod h1:
xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/validator/v10
v10.30.
1
h1:
f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w
=
github.com/go-playground/validator/v10
v10.30.
2
h1:
JiFIMtSSHb2/XBUbWM4i/MpeQm9ZK2xqPNk8vgvu5JQ
=
github.com/go-playground/validator/v10
v10.30.
1
/go.mod h1:
oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM
=
github.com/go-playground/validator/v10
v10.30.
2
/go.mod h1:
mAf2pIOVXjTEBrwUMGKkCWKKPs9NheYGabeB04txQSc
=
github.com/goccy/go-json
v0.10.
5
h1:
Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4
=
github.com/goccy/go-json
v0.10.
6
h1:
p8HrPJzOakx/mn/bQtjgNjdTcN+/S6FcG2CTtQOrHVU
=
github.com/goccy/go-json
v0.10.
5
/go.mod h1:
oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/goccy/go-json
v0.10.
6
/go.mod h1:
oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/goccy/go-yaml
v1.19.2 h1:
PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
github.com/goccy/go-yaml
v1.19.2 h1:
PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
github.com/goccy/go-yaml
v1.19.2/go.mod h1:
XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/goccy/go-yaml
v1.19.2/go.mod h1:
XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/gofrs/flock
v0.8.1 h1:
+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
github.com/gofrs/flock
v0.8.1 h1:
+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
...
@@ -48,8 +48,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
...
@@ -48,8 +48,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
github.com/jackc/pgpassfile
v1.0.0/go.mod h1:
CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgpassfile
v1.0.0/go.mod h1:
CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761 h1:
iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761 h1:
iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:
5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:
5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5
v5.
8.0
h1:
TYPDoleBBme0xGSAX3/+NujXXtpZn9HBONkQC7IEZSo
=
github.com/jackc/pgx/v5
v5.
9.2
h1:
3ZhOzMWnR4yJ+RW1XImIPsD1aNSz4T4fyP7zlQb56hw
=
github.com/jackc/pgx/v5
v5.
8.0
/go.mod h1:
QVeDInX2m9VyzvNeiCJVjCkNFqzsNb43204HshNSZKw
=
github.com/jackc/pgx/v5
v5.
9.2
/go.mod h1:
mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4
=
github.com/jackc/puddle/v2
v2.2.2 h1:
PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2
v2.2.2 h1:
PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2
v2.2.2/go.mod h1:
vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jackc/puddle/v2
v2.2.2/go.mod h1:
vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jmespath/go-jmespath
v0.4.0 h1:
BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath
v0.4.0 h1:
BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
...
@@ -68,10 +68,10 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
...
@@ -68,10 +68,10 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text
v0.2.0/go.mod h1:
eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kr/text
v0.2.0/go.mod h1:
eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/leodido/go-urn
v1.4.0 h1:
WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
github.com/leodido/go-urn
v1.4.0 h1:
WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
github.com/leodido/go-urn
v1.4.0/go.mod h1:
bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/leodido/go-urn
v1.4.0/go.mod h1:
bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/lib/pq
v1.1
0.9
h1:
YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw
=
github.com/lib/pq
v1.1
2.3
h1:
tTWxr2YLKwIvK90ZXEw8GP7UFHtcbTtty8zsI+YjrfQ
=
github.com/lib/pq
v1.1
0.9
/go.mod h1:
AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o
=
github.com/lib/pq
v1.1
2.3
/go.mod h1:
/p+8NSbOcwzAEI7wiMXFlgydTwcgTr3OSKMsD2BitpA
=
github.com/mattn/go-isatty
v0.0.2
0
h1:
x
fD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY
=
github.com/mattn/go-isatty
v0.0.2
1
h1:
x
Yae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLGs
=
github.com/mattn/go-isatty
v0.0.2
0
/go.mod h1:
W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y
=
github.com/mattn/go-isatty
v0.0.2
1
/go.mod h1:
ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4
=
github.com/modern-go/concurrent
v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:
6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent
v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:
6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd h1:
TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd h1:
TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:
6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent
v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:
6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
...
@@ -79,8 +79,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
...
@@ -79,8 +79,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
github.com/modern-go/reflect2
v1.0.2/go.mod h1:
yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2
v1.0.2/go.mod h1:
yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/patrickmn/go-cache
v2.1.0+incompatible h1:
HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache
v2.1.0+incompatible h1:
HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache
v2.1.0+incompatible/go.mod h1:
3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/patrickmn/go-cache
v2.1.0+incompatible/go.mod h1:
3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pelletier/go-toml/v2
v2.
2.4
h1:
mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4
=
github.com/pelletier/go-toml/v2
v2.
3.0
h1:
k59bC/lIZREW0/iVaQR8nDHxVq8OVlIzYCOJf421CaM
=
github.com/pelletier/go-toml/v2
v2.
2.4
/go.mod h1:
2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/pelletier/go-toml/v2
v2.
3.0
/go.mod h1:
2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/pkg/diff
v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:
pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/diff
v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:
pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors
v0.9.1 h1:
FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors
v0.9.1 h1:
FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors
v0.9.1/go.mod h1:
bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors
v0.9.1/go.mod h1:
bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
...
@@ -112,26 +112,27 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS
...
@@ -112,26 +112,27 @@ 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/twitchyliquid64/golang-asm
v0.15.1/go.mod h1:
a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
github.com/ugorji/go/codec
v1.3.1 h1:
waO7eEiFDwidsBN6agj1vJQ4AG7lh2yqXyOXqhgQuyY=
github.com/ugorji/go/codec
v1.3.1 h1:
waO7eEiFDwidsBN6agj1vJQ4AG7lh2yqXyOXqhgQuyY=
github.com/ugorji/go/codec
v1.3.1/go.mod h1:
pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4=
github.com/ugorji/go/codec
v1.3.1/go.mod h1:
pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4=
go.mongodb.org/mongo-driver/v2
v2.5.1 h1:
j2U/Qp+wvueSpqitLCSZPT/+ZpVc1xzuwdHWwl7d8ro=
go.mongodb.org/mongo-driver/v2
v2.5.1/go.mod h1:
yOI9kBsufol30iFsl1slpdq1I0eHPzybRWdyYUs8K/0=
go.uber.org/atomic
v1.9.0/go.mod h1:
fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic
v1.9.0/go.mod h1:
fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic
v1.11.0 h1:
ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic
v1.11.0 h1:
ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic
v1.11.0/go.mod h1:
LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/atomic
v1.11.0/go.mod h1:
LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/mock
v0.6.0 h1:
hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
go.uber.org/mock
v0.6.0 h1:
hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
go.uber.org/mock
v0.6.0/go.mod h1:
KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
go.uber.org/mock
v0.6.0/go.mod h1:
KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
golang.org/x/arch
v0.24.0 h1:
qlJ3M9upxvFfwRM51tTg3Yl+8CP9vCC1E7vlFpgv99Y=
golang.org/x/arch
v0.26.0 h1:
jZ6dpec5haP/fUv1kLCbuJy6dnRrfX6iVK08lZBFpk4=
golang.org/x/arch
v0.24.0/go.mod h1:
dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A=
golang.org/x/arch
v0.26.0/go.mod h1:
0X+GdSIP+kL5wPmpK7sdkEVTt2XoYP0cSjQSbZBwOi8=
golang.org/x/crypto
v0.48.0 h1:
/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
golang.org/x/crypto
v0.50.0 h1:
zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI=
golang.org/x/crypto
v0.48.0/go.mod h1:
r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos=
golang.org/x/crypto
v0.50.0/go.mod h1:
3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q=
golang.org/x/exp
v0.0.0-20260218203240-3dfff04db8fa h1:
Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0=
golang.org/x/exp
v0.0.0-20260410095643-746e56fc9e2f h1:
W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM=
golang.org/x/exp
v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:
K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA=
golang.org/x/exp
v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:
J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80=
golang.org/x/net
v0.51.0 h1:
94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo=
golang.org/x/net
v0.53.0 h1:
d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
golang.org/x/net
v0.51.0/go.mod h1:
aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y=
golang.org/x/net
v0.53.0/go.mod h1:
JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
golang.org/x/sync
v0.19.0 h1:
vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
golang.org/x/sync
v0.20.0 h1:
e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
golang.org/x/sync
v0.19.0/go.mod h1:
9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sync
v0.20.0/go.mod h1:
9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys
v0.6.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.43.0 h1:
Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
golang.org/x/sys
v0.41.0 h1:
Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
golang.org/x/sys
v0.43.0/go.mod h1:
4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/sys
v0.41.0/go.mod h1:
OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text
v0.36.0 h1:
JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg=
golang.org/x/text
v0.34.0 h1:
oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
golang.org/x/text
v0.36.0/go.mod h1:
NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
golang.org/x/text
v0.34.0/go.mod h1:
homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
google.golang.org/protobuf
v1.36.11 h1:
fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf
v1.36.11 h1:
fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf
v1.36.11/go.mod h1:
HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
google.golang.org/protobuf
v1.36.11/go.mod h1:
HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1
v0.0.0-20161208181325-20d25e280405/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1
v0.0.0-20161208181325-20d25e280405/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
...
...
zs3/zs3.go
View file @
89566a93
...
@@ -4,6 +4,7 @@ import (
...
@@ -4,6 +4,7 @@ import (
"bytes"
"bytes"
"fmt"
"fmt"
"io"
"io"
"path/filepath"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/credentials"
...
@@ -25,6 +26,26 @@ type Object struct {
...
@@ -25,6 +26,26 @@ type Object struct {
ACL
string
ACL
string
}
}
type
File
struct
{
Path
string
Size
int
}
func
(
f
*
File
)
Name
()
string
{
return
filepath
.
Base
(
f
.
Path
)
}
func
(
f
*
File
)
Dir
()
string
{
return
filepath
.
Dir
(
f
.
Path
)
}
func
(
f
*
File
)
Prefix
()
string
{
s
:=
f
.
Dir
()
if
s
==
"."
{
return
""
}
return
s
}
func
(
z
*
ZS3
)
ZPutObject
(
o
*
Object
)
error
{
func
(
z
*
ZS3
)
ZPutObject
(
o
*
Object
)
error
{
var
body
io
.
ReadSeeker
var
body
io
.
ReadSeeker
...
@@ -72,6 +93,28 @@ func (z *ZS3) ZDeleteObject(name string) error {
...
@@ -72,6 +93,28 @@ func (z *ZS3) ZDeleteObject(name string) error {
return
nil
return
nil
}
}
func
(
z
*
ZS3
)
ZListObjects
(
prefix
string
)
([]
*
File
,
error
)
{
files
:=
make
([]
*
File
,
0
)
ls
,
err
:=
z
.
ListObjects
(
&
s3
.
ListObjectsInput
{
Bucket
:
&
z
.
Buket
,
Prefix
:
&
prefix
})
if
err
!=
nil
{
return
nil
,
err
}
for
_
,
content
:=
range
ls
.
Contents
{
if
*
content
.
Size
==
0
{
continue
}
files
=
append
(
files
,
&
File
{
Path
:
*
content
.
Key
,
Size
:
int
(
*
content
.
Size
),
})
}
return
files
,
nil
}
func
New
(
region
,
host
,
buket
,
key
,
secret
string
)
*
ZS3
{
func
New
(
region
,
host
,
buket
,
key
,
secret
string
)
*
ZS3
{
return
&
ZS3
{
return
&
ZS3
{
Buket
:
buket
,
Buket
:
buket
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment