Skip to content
GitLab
Explore
Projects
Groups
Snippets
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
287a9acb
Commit
287a9acb
authored
1 year ago
by
Vladimir Barsukov
Browse files
Options
Download
Email Patches
Plain Diff
s3
parent
01dc2569
master
v1.6.4
v1.6.3
v1.6.2
v1.6.1
v1.6.0
v1.5.4
v1.5.3
v1.5.2
v1.5.1
v1.5.0
v1.4.8
v1.4.7
v1.4.6
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.1
v1.3.0
v1.2.1
v1.2.0
v1.1.1
v1.1.0
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
go.mod
+10
-8
go.mod
go.sum
+24
-16
go.sum
zgo.go
+1
-0
zgo.go
zs3/zs3.go
+90
-0
zs3/zs3.go
with
125 additions
and
24 deletions
+125
-24
go.mod
+
10
-
8
View file @
287a9acb
...
@@ -3,14 +3,15 @@ module git.barsukov.pro/barsukov/zgo
...
@@ -3,14 +3,15 @@ module git.barsukov.pro/barsukov/zgo
go 1.21
go 1.21
require (
require (
github.com/aws/aws-sdk-go
v1.48.16
github.com/georgysavva/scany/v2
v2.0.0
github.com/georgysavva/scany/v2
v2.0.0
github.com/gin-gonic/gin
v1.9.1
github.com/gin-gonic/gin
v1.9.1
github.com/go-co-op/gocron
v1.36.
0
github.com/go-co-op/gocron
v1.36.
1
github.com/goccy/go-json
v0.10.2
github.com/goccy/go-json
v0.10.2
github.com/google/uuid
v1.4.0
github.com/google/uuid
v1.4.0
github.com/jackc/pgx/v5
v5.5.
0
github.com/jackc/pgx/v5
v5.5.
1
github.com/patrickmn/go-cache
v2.1.0+incompatible
github.com/patrickmn/go-cache
v2.1.0+incompatible
golang.org/x/exp
v0.0.0-20231
110203233-9a3e6036ecaa
golang.org/x/exp
v0.0.0-20231
206192017-f3f8817b8deb
)
)
require (
require (
...
@@ -23,8 +24,9 @@ require (
...
@@ -23,8 +24,9 @@ require (
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.16.0 // indirect
github.com/go-playground/validator/v10
v10.16.0 // indirect
github.com/jackc/pgpassfile
v1.0.0 // indirect
github.com/jackc/pgpassfile
v1.0.0 // indirect
github.com/jackc/pgservicefile
v0.0.0-202
2
12
27161230-091c0ba34f0a
// indirect
github.com/jackc/pgservicefile
v0.0.0-202
3
12
01235250-de7065d80cb9
// indirect
github.com/jackc/puddle/v2
v2.2.1 // indirect
github.com/jackc/puddle/v2
v2.2.1 // indirect
github.com/jmespath/go-jmespath
v0.4.0 // indirect
github.com/json-iterator/go
v1.1.12 // indirect
github.com/json-iterator/go
v1.1.12 // indirect
github.com/klauspost/cpuid/v2
v2.2.6 // indirect
github.com/klauspost/cpuid/v2
v2.2.6 // indirect
github.com/leodido/go-urn
v1.2.4 // indirect
github.com/leodido/go-urn
v1.2.4 // indirect
...
@@ -34,13 +36,13 @@ require (
...
@@ -34,13 +36,13 @@ require (
github.com/pelletier/go-toml/v2
v2.1.0 // indirect
github.com/pelletier/go-toml/v2
v2.1.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.2.1
1
// indirect
github.com/ugorji/go/codec
v1.2.1
2
// indirect
go.uber.org/atomic
v1.11.0 // indirect
go.uber.org/atomic
v1.11.0 // indirect
golang.org/x/arch
v0.6.0 // indirect
golang.org/x/arch
v0.6.0 // indirect
golang.org/x/crypto
v0.1
5
.0 // indirect
golang.org/x/crypto
v0.1
6
.0 // indirect
golang.org/x/net
v0.1
8
.0 // indirect
golang.org/x/net
v0.1
9
.0 // indirect
golang.org/x/sync
v0.5.0 // indirect
golang.org/x/sync
v0.5.0 // indirect
golang.org/x/sys
v0.1
4
.0 // indirect
golang.org/x/sys
v0.1
5
.0 // indirect
golang.org/x/text
v0.14.0 // indirect
golang.org/x/text
v0.14.0 // indirect
google.golang.org/protobuf
v1.31.0 // indirect
google.golang.org/protobuf
v1.31.0 // indirect
gopkg.in/yaml.v3
v3.0.1 // indirect
gopkg.in/yaml.v3
v3.0.1 // indirect
...
...
This diff is collapsed.
Click to expand it.
go.sum
+
24
-
16
View file @
287a9acb
github.com/aws/aws-sdk-go
v1.48.16 h1:
mcj2/9J/MJ55Dov+ocMevhR8Jv6jW/fAxbrn4a1JFc8=
github.com/aws/aws-sdk-go
v1.48.16/go.mod h1:
LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
github.com/bytedance/sonic
v1.5.0/go.mod h1:
ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
github.com/bytedance/sonic
v1.5.0/go.mod h1:
ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
github.com/bytedance/sonic
v1.10.0-rc/go.mod h1:
ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM=
github.com/bytedance/sonic
v1.10.0-rc/go.mod h1:
ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM=
github.com/bytedance/sonic
v1.10.2 h1:
GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE=
github.com/bytedance/sonic
v1.10.2 h1:
GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE=
...
@@ -23,8 +25,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
...
@@ -23,8 +25,8 @@ 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-contrib/sse
v0.1.0/go.mod h1:
RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
github.com/gin-gonic/gin
v1.9.1 h1:
4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
github.com/gin-gonic/gin
v1.9.1 h1:
4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
github.com/gin-gonic/gin
v1.9.1/go.mod h1:
hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
github.com/gin-gonic/gin
v1.9.1/go.mod h1:
hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
github.com/go-co-op/gocron
v1.36.
0
h1:
sEmAwg57l4JWQgzaVWYfKZ+w13uHOqeOtwjo72Ll5Wc
=
github.com/go-co-op/gocron
v1.36.
1
h1:
BnyJ7kOixY/oGW/hkUvuLYOmAHBiY8Mr6kadX2DN1hE
=
github.com/go-co-op/gocron
v1.36.
0
/go.mod h1:
3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
github.com/go-co-op/gocron
v1.36.
1
/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=
github.com/go-playground/assert/v2
v2.2.0/go.mod h1:
VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
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=
github.com/go-playground/locales
v0.14.1 h1:
EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
...
@@ -46,12 +48,16 @@ github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
...
@@ -46,12 +48,16 @@ github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
github.com/google/uuid
v1.4.0/go.mod h1:
TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid
v1.4.0/go.mod h1:
TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/jackc/pgpassfile
v1.0.0 h1:
/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile
v1.0.0 h1:
/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
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-202
2
12
27161230-091c0ba34f0a h1:
bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk
=
github.com/jackc/pgservicefile
v0.0.0-202
3
12
01235250-de7065d80cb9 h1:
L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA
=
github.com/jackc/pgservicefile
v0.0.0-202
2
12
27161230-091c0ba34f0a
/go.mod h1:
5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgservicefile
v0.0.0-202
3
12
01235250-de7065d80cb9
/go.mod h1:
5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5
v5.5.
0
h1:
NxstgwndsTRy7eq9/kqYc/BZh5w2hHJV86wjvO+1xPw
=
github.com/jackc/pgx/v5
v5.5.
1
h1:
5I9etrGkLrN+2XPCsi6XLlV5DITbSL/xBZdmAxFcXPI
=
github.com/jackc/pgx/v5
v5.5.
0
/go.mod h1:
Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA=
github.com/jackc/pgx/v5
v5.5.
1
/go.mod h1:
Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA=
github.com/jackc/puddle/v2
v2.2.1 h1:
RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
github.com/jackc/puddle/v2
v2.2.1 h1:
RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
github.com/jackc/puddle/v2
v2.2.1/go.mod h1:
vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jackc/puddle/v2
v2.2.1/go.mod h1:
vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jmespath/go-jmespath
v0.4.0 h1:
BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath
v0.4.0/go.mod h1:
T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify
v1.5.1 h1:
shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify
v1.5.1/go.mod h1:
L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/json-iterator/go
v1.1.12 h1:
PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
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/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=
github.com/klauspost/cpuid/v2
v2.0.9/go.mod h1:
FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
...
@@ -106,26 +112,26 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
...
@@ -106,26 +112,26 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
github.com/stretchr/testify
v1.8.4/go.mod h1:
sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify
v1.8.4/go.mod h1:
sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/twitchyliquid64/golang-asm
v0.15.1 h1:
SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm
v0.15.1 h1:
SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
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.2.1
1
h1:
BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU
=
github.com/ugorji/go/codec
v1.2.1
2
h1:
9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE
=
github.com/ugorji/go/codec
v1.2.1
1
/go.mod h1:
UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/ugorji/go/codec
v1.2.1
2
/go.mod h1:
UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
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=
golang.org/x/arch
v0.0.0-20210923205945-b76863e36670/go.mod h1:
5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
golang.org/x/arch
v0.0.0-20210923205945-b76863e36670/go.mod h1:
5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
golang.org/x/arch
v0.6.0 h1:
S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc=
golang.org/x/arch
v0.6.0 h1:
S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc=
golang.org/x/arch
v0.6.0/go.mod h1:
FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
golang.org/x/arch
v0.6.0/go.mod h1:
FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
golang.org/x/crypto
v0.1
5
.0 h1:
frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA
=
golang.org/x/crypto
v0.1
6
.0 h1:
mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY
=
golang.org/x/crypto
v0.1
5
.0/go.mod h1:
4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g
=
golang.org/x/crypto
v0.1
6
.0/go.mod h1:
gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4
=
golang.org/x/exp
v0.0.0-20231
110203233-9a3e6036ecaa h1:
FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ
=
golang.org/x/exp
v0.0.0-20231
206192017-f3f8817b8deb h1:
c0vyKkb6yr3KR7jEfJaOSv4lG7xPkbN6r52aJz1d8a8
=
golang.org/x/exp
v0.0.0-20231
110203233-9a3e6036ecaa/go.mod h1:
zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE
=
golang.org/x/exp
v0.0.0-20231
206192017-f3f8817b8deb/go.mod h1:
iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI
=
golang.org/x/net
v0.1
8
.0 h1:
mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg
=
golang.org/x/net
v0.1
9
.0 h1:
zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c
=
golang.org/x/net
v0.1
8
.0/go.mod h1:
/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ
=
golang.org/x/net
v0.1
9
.0/go.mod h1:
CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U
=
golang.org/x/sync
v0.5.0 h1:
60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
golang.org/x/sync
v0.5.0 h1:
60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
golang.org/x/sync
v0.5.0/go.mod h1:
Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync
v0.5.0/go.mod h1:
Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys
v0.5.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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.6.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.1
4
.0 h1:
Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q
=
golang.org/x/sys
v0.1
5
.0 h1:
h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc
=
golang.org/x/sys
v0.1
4
.0/go.mod h1:
/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys
v0.1
5
.0/go.mod h1:
/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text
v0.14.0 h1:
ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text
v0.14.0 h1:
ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text
v0.14.0/go.mod h1:
18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text
v0.14.0/go.mod h1:
18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/xerrors
v0.0.0-20191204190536-9bdfabe68543/go.mod h1:
I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors
v0.0.0-20191204190536-9bdfabe68543/go.mod h1:
I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
...
@@ -137,6 +143,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8
...
@@ -137,6 +143,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/check.v1
v1.0.0-20201130134442-10cb98267c6c h1:
Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1
v1.0.0-20201130134442-10cb98267c6c h1:
Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1
v1.0.0-20201130134442-10cb98267c6c/go.mod h1:
JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/check.v1
v1.0.0-20201130134442-10cb98267c6c/go.mod h1:
JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2
v2.1.0/go.mod h1:
hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/errgo.v2
v2.1.0/go.mod h1:
hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2
v2.2.8 h1:
obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2
v2.2.8/go.mod h1:
hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3
v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.1 h1:
fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3
v3.0.1 h1:
fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3
v3.0.1/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.1/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
...
...
This diff is collapsed.
Click to expand it.
zgo.go
+
1
-
0
View file @
287a9acb
...
@@ -10,6 +10,7 @@ import (
...
@@ -10,6 +10,7 @@ import (
_
"git.barsukov.pro/barsukov/zgo/zjson"
_
"git.barsukov.pro/barsukov/zgo/zjson"
_
"git.barsukov.pro/barsukov/zgo/zq"
_
"git.barsukov.pro/barsukov/zgo/zq"
_
"git.barsukov.pro/barsukov/zgo/zquit"
_
"git.barsukov.pro/barsukov/zgo/zquit"
_
"git.barsukov.pro/barsukov/zgo/zs3"
_
"git.barsukov.pro/barsukov/zgo/zutils"
_
"git.barsukov.pro/barsukov/zgo/zutils"
_
"git.barsukov.pro/barsukov/zgo/zwg"
_
"git.barsukov.pro/barsukov/zgo/zwg"
)
)
...
...
This diff is collapsed.
Click to expand it.
zs3/zs3.go
0 → 100644
+
90
-
0
View file @
287a9acb
package
zs3
import
(
"bytes"
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
"io"
)
type
ZS3
struct
{
Buket
string
*
s3
.
S3
}
type
Object
struct
{
Name
string
Reader
io
.
ReadSeeker
Bytes
[]
byte
ContentType
string
ACL
string
}
func
(
z
*
ZS3
)
ZPutObject
(
o
*
Object
)
error
{
var
body
io
.
ReadSeeker
if
len
(
o
.
Name
)
==
0
{
return
fmt
.
Errorf
(
"name empty"
)
}
if
o
.
Reader
!=
nil
{
body
=
o
.
Reader
}
else
if
len
(
o
.
Bytes
)
>
0
{
body
=
bytes
.
NewReader
(
o
.
Bytes
)
}
else
{
return
fmt
.
Errorf
(
"empty body"
)
}
s3Object
:=
&
s3
.
PutObjectInput
{
Bucket
:
aws
.
String
(
z
.
Buket
),
Key
:
aws
.
String
(
o
.
Name
),
Body
:
body
,
}
if
len
(
o
.
ContentType
)
>
0
{
s3Object
.
ContentType
=
aws
.
String
(
o
.
ContentType
)
}
if
len
(
o
.
ACL
)
>
0
{
s3Object
.
ACL
=
aws
.
String
(
o
.
ACL
)
}
if
_
,
err
:=
z
.
PutObject
(
s3Object
);
err
!=
nil
{
return
err
}
return
nil
}
func
(
z
*
ZS3
)
ZDeleteObject
(
name
string
)
error
{
if
_
,
err
:=
z
.
DeleteObject
(
&
s3
.
DeleteObjectInput
{
Bucket
:
aws
.
String
(
z
.
Buket
),
Key
:
aws
.
String
(
name
),
});
err
!=
nil
{
return
err
}
return
nil
}
func
New
(
region
,
host
,
buket
,
key
,
secret
string
)
*
ZS3
{
return
&
ZS3
{
Buket
:
buket
,
S3
:
NewNative
(
region
,
host
,
key
,
secret
),
}
}
func
NewNative
(
region
,
host
,
key
,
secret
string
)
*
s3
.
S3
{
return
s3
.
New
(
session
.
Must
(
session
.
NewSession
()),
aws
.
NewConfig
()
.
WithCredentials
(
credentials
.
NewStaticCredentials
(
key
,
secret
,
""
))
.
WithEndpoint
(
host
)
.
WithRegion
(
region
)
.
WithS3ForcePathStyle
(
true
),
)
}
This diff is collapsed.
Click to expand it.
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
Menu
Explore
Projects
Groups
Snippets