From 30afe34caaec2ed243b1ea7a9ba9fbad91b3710f Mon Sep 17 00:00:00 2001 From: Bruno Michel <bmichel@menfin.info> Date: Wed, 17 Jul 2019 19:08:58 +0200 Subject: [PATCH] Use go modules to build the stack Until now, the stack was using the old way, with a GOPATH and no version pinning for the dependencies. Here, we switch to go modules, that tracks the dependencies in go.mod and go.sum files. --- .gitignore | 1 + .travis.yml | 13 +- appveyor.yml | 2 +- cmd/cmd_test.go | 2 +- cmd/swift.go | 2 +- docs/CONTRIBUTING.md | 15 +- docs/INSTALL.md | 2 +- go.mod | 61 +++++ go.sum | 312 ++++++++++++++++++++++++++ model/app/fetcher_git.go | 2 +- model/app/installer_konnector_test.go | 2 +- model/app/installer_test.go | 2 +- model/app/installer_webapp_test.go | 2 +- model/app/webapp.go | 2 +- model/instance/instance.go | 2 +- model/job/errors.go | 2 +- model/job/redis_broker.go | 2 +- model/job/redis_broker_test.go | 2 +- model/job/redis_scheduler.go | 6 +- model/job/redis_scheduler_test.go | 4 +- model/job/trigger_cron.go | 2 +- model/permission/blacklist.go | 2 +- model/permission/errors.go | 2 +- model/permission/permissions_test.go | 2 +- model/remote/remote.go | 2 +- model/session/code_storage.go | 2 +- model/session/session.go | 2 +- model/sharing/api_sharing.go | 2 +- model/sharing/replicator_test.go | 2 +- model/sharing/upload_store.go | 2 +- model/vfs/store.go | 2 +- model/vfs/store_test.go | 2 +- model/vfs/version_test.go | 2 +- model/vfs/vfsafero/fsck.go | 2 +- model/vfs/vfsafero/impl.go | 2 +- model/vfs/vfsafero/thumbs.go | 2 +- model/vfs/vfsswift/fsck_v1.go | 2 +- model/vfs/vfsswift/fsck_v2.go | 2 +- model/vfs/vfsswift/fsck_v3.go | 2 +- model/vfs/vfsswift/impl_v1.go | 2 +- model/vfs/vfsswift/impl_v2.go | 2 +- model/vfs/vfsswift/impl_v3.go | 2 +- model/vfs/vfsswift/swift.go | 2 +- model/vfs/vfsswift/thumbs_v1.go | 2 +- model/vfs/vfsswift/thumbs_v2_v3.go | 2 +- pkg/appfs/copier.go | 4 +- pkg/appfs/server.go | 4 +- pkg/assets/dynamic/dynamic.go | 2 +- pkg/assets/dynamic/dynamic_test.go | 2 +- pkg/assets/dynamic/fs.go | 4 +- pkg/cache/cache.go | 2 +- pkg/config/config/config.go | 2 +- pkg/config/config/swift.go | 2 +- pkg/couchdb/proxy.go | 2 +- pkg/i18n/i18n.go | 2 +- pkg/jsonapi/jsonapi.go | 2 +- pkg/jsonapi/jsonapi_test.go | 2 +- pkg/limits/rate_limiting.go | 2 +- pkg/limits/rate_limiting_test.go | 2 +- pkg/lock/simple_redis.go | 2 +- pkg/logger/logger.go | 2 +- pkg/logger/logger_test.go | 2 +- pkg/metrics/metrics.go | 2 +- pkg/realtime/realtime_test.go | 2 +- pkg/realtime/redis_hub.go | 2 +- pkg/registry/registry.go | 2 +- scripts/lint.sh | 7 +- tests/testutils/test_utils.go | 4 +- web/accounts/oauth.go | 2 +- web/accounts/oauth_test.go | 2 +- web/accounts/statestore.go | 2 +- web/apps/apps.go | 2 +- web/apps/apps_test.go | 2 +- web/apps/serve.go | 2 +- web/auth/auth.go | 4 +- web/auth/auth_test.go | 2 +- web/auth/oauth.go | 2 +- web/auth/passphrase.go | 2 +- web/auth/register.go | 2 +- web/auth/twofactor.go | 2 +- web/compat/compat.go | 2 +- web/data/accounts.go | 2 +- web/data/data.go | 2 +- web/data/replication.go | 2 +- web/dev.go | 2 +- web/errors/errors.go | 8 +- web/files/files.go | 2 +- web/files/files_test.go | 5 +- web/files/paginated.go | 2 +- web/files/permissions_test.go | 2 +- web/files/referencedby.go | 2 +- web/files/referencedby_test.go | 2 +- web/files/references.go | 2 +- web/instances/client.go | 2 +- web/instances/instances.go | 2 +- web/instances/move.go | 2 +- web/intents/intents.go | 2 +- web/intents/intents_test.go | 2 +- web/jobs/jobs.go | 2 +- web/jobs/jobs_test.go | 2 +- web/middlewares/assets.go | 2 +- web/middlewares/assets_test.go | 2 +- web/middlewares/basic_auth.go | 2 +- web/middlewares/cache.go | 2 +- web/middlewares/cors.go | 2 +- web/middlewares/cors_test.go | 2 +- web/middlewares/instance.go | 4 +- web/middlewares/json_headers.go | 2 +- web/middlewares/middlewares.go | 2 +- web/middlewares/permissions.go | 2 +- web/middlewares/recover.go | 4 +- web/middlewares/secure.go | 2 +- web/middlewares/secure_test.go | 2 +- web/middlewares/session.go | 2 +- web/middlewares/user_agent.go | 2 +- web/middlewares/user_agent_test.go | 2 +- web/move/move.go | 2 +- web/notifications/notifications.go | 2 +- web/oidc/oidc.go | 2 +- web/oidc/oidc_test.go | 2 +- web/oidc/statestore.go | 2 +- web/permissions/permissions.go | 2 +- web/permissions/permissions_test.go | 2 +- web/public/public.go | 2 +- web/realtime/realtime.go | 2 +- web/registry/registry.go | 4 +- web/remote/remote.go | 2 +- web/routing.go | 4 +- web/routing_test.go | 2 +- web/server.go | 4 +- web/settings/clients.go | 2 +- web/settings/context.go | 2 +- web/settings/disk_usage.go | 2 +- web/settings/instance.go | 2 +- web/settings/passphrase.go | 2 +- web/settings/settings.go | 2 +- web/settings/settings_test.go | 2 +- web/sharings/readonly.go | 2 +- web/sharings/replicator.go | 2 +- web/sharings/replicator_test.go | 4 +- web/sharings/revoke.go | 2 +- web/sharings/sharings.go | 2 +- web/sharings/sharings_test.go | 2 +- web/statik/handler.go | 2 +- web/status/status.go | 2 +- web/status/status_test.go | 2 +- web/version/version.go | 2 +- worker/exec/konnector.go | 2 +- worker/exec/konnector_test.go | 2 +- worker/exec/service.go | 2 +- worker/mails/exec.go | 2 +- worker/migrations/migrations.go | 2 +- worker/move/archiver.go | 4 +- worker/move/export.go | 2 +- 154 files changed, 556 insertions(+), 188 deletions(-) create mode 100644 go.mod create mode 100644 go.sum diff --git a/.gitignore b/.gitignore index d6a1d7454..49fe468eb 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /.cozy /assets/locales/*.po !/assets/locales/en.po +/bin /cozy-stack* /scripts/cozy-stack* /debian diff --git a/.travis.yml b/.travis.yml index 75b4525dd..7f7cb4c8c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,19 +10,18 @@ language: go matrix: include: - go: "1.12" - env: COMMAND=scripts/lint.sh + env: GO111MODULE=on COMMAND=scripts/lint.sh - go: "1.12" - env: COMMAND=scripts/unit-test.sh - - go: "1.11" - env: COMMAND=scripts/unit-test.sh + env: GO111MODULE=on COMMAND=scripts/unit-test.sh - go: "1.12" - env: COMMAND=scripts/sharing-test.sh + env: GO111MODULE=on COMMAND=scripts/sharing-test.sh - go: "1.12" - env: COMMAND=scripts/clone-test.sh + env: GO111MODULE=on COMMAND=scripts/clone-test.sh -before_install: +install: - docker run -d -p 5984:5984 --net=host --name couch apache/couchdb:2.3 - nvm use 8.12.0 + - go install before_script: - curl -X PUT http://127.0.0.1:5984/{_users,_replicator,_global_changes} diff --git a/appveyor.yml b/appveyor.yml index b59c48ee0..dbab53634 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,6 +7,7 @@ clone_folder: c:\gopath\src\github.com\cozy\cozy-stack environment: GOPATH: c:\gopath GOVERSION: 1.12 + GO111MODULE: "on" install: - rmdir c:\go /s /q @@ -16,7 +17,6 @@ install: - echo %PATH% - go version - go env - - go get -d ./... build_script: - go install diff --git a/cmd/cmd_test.go b/cmd/cmd_test.go index 659909fff..fe69957e3 100644 --- a/cmd/cmd_test.go +++ b/cmd/cmd_test.go @@ -20,7 +20,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/web" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/cmd/swift.go b/cmd/swift.go index 31197d66d..9f72b32a8 100644 --- a/cmd/swift.go +++ b/cmd/swift.go @@ -11,7 +11,7 @@ import ( "github.com/cozy/cozy-stack/model/instance" "github.com/cozy/cozy-stack/model/instance/lifecycle" "github.com/cozy/cozy-stack/pkg/config/config" - "github.com/cozy/swift" + "github.com/ncw/swift" "github.com/spf13/cobra" ) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 6b67b6592..7ca40b19b 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -44,12 +44,11 @@ there. #### Step 1: Fork -Fork the project on GitHub and -[check out your copy locally](http://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.html). +Fork the project on GitHub and check out your copy locally: ``` -$ go get -u github.com/cozy/cozy-stack -$ cd $(go env GOPATH)/src/github.com/cozy/cozy-stack +$ git clone https://github.com/cozy/cozy-stack.git +$ cd cozy-stack $ git remote add fork git://github.com/username/cozy-stack.git ``` @@ -99,11 +98,11 @@ is important. A commit message should describe what changed and why. #### Step 6: Rebase -Use `git rebase` (not `git merge`) to sync your work from time to time. +Use `git pull --rebase`, or `git rebase` (but not `git merge`), to sync your +work from time to time: ``` -$ git fetch origin -$ git rebase origin/master +$ git pull origin master --rebase ``` #### Step 7: Push @@ -117,8 +116,6 @@ Go to https://github.com/username/cozy-stack and select your branch. Click the Pull requests are usually reviewed within a few days. If there are comments to address, apply your changes in a separate commit and push that to your branch. -Post a comment in the pull request afterwards; GitHub does not send out -notifications when you add commits. ## Code organization diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 8274a45b1..bc5b33aa8 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -37,7 +37,7 @@ executable bit (`chmod +x cozy-stack`) and put it in your `$PATH`. #### Using `go` -[Install go](https://golang.org/doc/install), version >= 1.11. With `go` +[Install go](https://golang.org/doc/install), version >= 1.12. With `go` installed and configured, you can run the following command: ``` diff --git a/go.mod b/go.mod new file mode 100644 index 000000000..a7161976c --- /dev/null +++ b/go.mod @@ -0,0 +1,61 @@ +module github.com/cozy/cozy-stack + +go 1.12 + +require ( + github.com/Masterminds/semver v1.4.2 + github.com/appleboy/go-fcm v0.1.4 + github.com/cozy/goexif2 v0.0.0-20180125141006-830968571cff + github.com/cozy/gomail v0.0.0-20170313100128-1395d9a6a6c0 + github.com/cozy/httpcache v0.0.0-20180914105234-d3dc4988de66 + github.com/dhowden/tag v0.0.0-20190519100835-db0c67e351b1 + github.com/dustin/go-humanize v1.0.0 + github.com/emersion/go-vcard v0.0.0-20190105225839-8856043f13c5 + github.com/go-redis/redis v6.15.2+incompatible + github.com/gofrs/uuid v3.2.0+incompatible + github.com/golang/gddo v0.0.0-20190419222130-af0f2af80721 + github.com/golang/protobuf v1.3.2 // indirect + github.com/google/go-querystring v1.0.0 + github.com/google/gops v0.3.6 + github.com/gorilla/websocket v1.4.0 + github.com/h2non/filetype v1.0.8 + github.com/hashicorp/go-multierror v1.0.0 + github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c + github.com/justincampbell/bigduration v0.0.0-20160531141349-e45bf03c0666 + github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect + github.com/labstack/echo/v4 v4.1.6 + github.com/leonelquinteros/gotext v1.4.0 + github.com/magiconair/properties v1.8.1 // indirect + github.com/mitchellh/mapstructure v1.1.2 + github.com/mssola/user_agent v0.5.0 + github.com/ncw/swift v1.0.47 + github.com/nightlyone/lockfile v0.0.0-20180618180623-0ad87eef1443 + github.com/onsi/ginkgo v1.8.0 // indirect + github.com/onsi/gomega v1.5.0 // indirect + github.com/oschwald/maxminddb-golang v1.3.1 + github.com/pelletier/go-toml v1.4.0 // indirect + github.com/pkg/errors v0.8.1 + github.com/pquerna/otp v1.2.0 + github.com/prometheus/client_golang v1.0.0 + github.com/prometheus/common v0.6.0 // indirect + github.com/prometheus/procfs v0.0.3 // indirect + github.com/robfig/cron/v3 v3.0.0 + github.com/sideshow/apns2 v0.16.0 + github.com/sirupsen/logrus v1.4.2 + github.com/spf13/afero v1.2.2 + github.com/spf13/cobra v0.0.5 + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/viper v1.4.0 + github.com/stretchr/testify v1.3.0 + golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 + golang.org/x/image v0.0.0-20190703141733-d6a02ce849c9 + golang.org/x/net v0.0.0-20190628185345-da137c7871d7 // indirect + golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 + golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7 // indirect + golang.org/x/tools v0.0.0-20190716221150-e98af2309876 + google.golang.org/appengine v1.6.1 // indirect + gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect + gopkg.in/dgrijalva/jwt-go.v3 v3.2.0 +) + +replace github.com/spf13/afero => github.com/cozy/afero v1.2.3 diff --git a/go.sum b/go.sum new file mode 100644 index 000000000..9f43d8839 --- /dev/null +++ b/go.sum @@ -0,0 +1,312 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/StackExchange/wmi v0.0.0-20170410192909-ea383cf3ba6e/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/appleboy/go-fcm v0.1.4 h1:p7nwHI75akAi0Yahrkc7zfOgET4v6ylhqfPfGZliXjw= +github.com/appleboy/go-fcm v0.1.4/go.mod h1:1XhaeJtn9X5nOVPTQkljQfG034bGhm5SUXluohDJ8OI= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cozy/afero v1.2.3 h1:o7VaYUHrGDr7AgoIUCxC0xLdRcyS2OK5/btm2GrgjGI= +github.com/cozy/afero v1.2.3/go.mod h1:1et9YdBqQDeXGpaxOLtmXZoCUB6eaS2L+x7Irs3UktA= +github.com/cozy/goexif2 v0.0.0-20180125141006-830968571cff h1:l8yiBqr1qT1zOB6LPPOcyvuBxuyo143vlcOU1AJHNcg= +github.com/cozy/goexif2 v0.0.0-20180125141006-830968571cff/go.mod h1:PWaQhEQb7UWuVUvXxpFBscfsXmUASdlmMgq97QGcTwU= +github.com/cozy/gomail v0.0.0-20170313100128-1395d9a6a6c0 h1:bQVNaGvnUI7m8J8k3hklFVXRT1F+WJcIV6hYHIgjKHE= +github.com/cozy/gomail v0.0.0-20170313100128-1395d9a6a6c0/go.mod h1:DlX8Rq7OKA0F9I1e0tz6+PCOXkKZ/l6aD+bWxCC6Qfo= +github.com/cozy/httpcache v0.0.0-20180914105234-d3dc4988de66 h1:b7VTmlsWlhYzJqGLjfhvIiVOpRpNCsOIoV4h0krSkyE= +github.com/cozy/httpcache v0.0.0-20180914105234-d3dc4988de66/go.mod h1:rLnjIcybyvs+PoCzi4+GmpOVp0+q+qdcuZKnKUKJoF4= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dhowden/tag v0.0.0-20190519100835-db0c67e351b1 h1:HR8W6GvuS20j4kNxa/XQeyVA0vHLKVMCAVJj0RGWauY= +github.com/dhowden/tag v0.0.0-20190519100835-db0c67e351b1/go.mod h1:SniNVYuaD1jmdEEvi+7ywb1QFR7agjeTdGKyFb0p7Rw= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/emersion/go-vcard v0.0.0-20190105225839-8856043f13c5 h1:n9qx98xiS5V4x2WIpPC2rr9mUM5ri9r/YhCEKbhCHro= +github.com/emersion/go-vcard v0.0.0-20190105225839-8856043f13c5/go.mod h1:WIi9g8OKJQHXtQbx7GExlo6UAFaui9WDMYabJ+Be4WI= +github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-redis/redis v6.15.2+incompatible h1:9SpNVG76gr6InJGxoZ6IuuxaCOQwDAhzyXg+Bs+0Sb4= +github.com/go-redis/redis v6.15.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/gddo v0.0.0-20190419222130-af0f2af80721 h1:KRMr9A3qfbVM7iV/WcLY/rL5LICqwMHLhwRXKu99fXw= +github.com/golang/gddo v0.0.0-20190419222130-af0f2af80721/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gops v0.3.6 h1:6akvbMlpZrEYOuoebn2kR+ZJekbZqJ28fJXTs84+8to= +github.com/google/gops v0.3.6/go.mod h1:RZ1rH95wsAGX4vMWKmqBOIWynmWisBf4QFdgT/k/xOI= +github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/h2non/filetype v1.0.8 h1:le8gpf+FQA0/DlDABbtisA1KiTS0Xi+YSC/E8yY3Y14= +github.com/h2non/filetype v1.0.8/go.mod h1:isekKqOuhMj+s/7r3rIeTErIRy4Rub5uBWHfvMusLMU= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c h1:kQWxfPIHVLbgLzphqk3QUflDy9QdksZR4ygR807bpy0= +github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/justincampbell/bigduration v0.0.0-20160531141349-e45bf03c0666 h1:abLciEiilfMf19Q1TFWDrp9j5z5one60dnnpvc6eabg= +github.com/justincampbell/bigduration v0.0.0-20160531141349-e45bf03c0666/go.mod h1:xqGOmDZzLOG7+q/CgsbXv10g4tgPsbjhmAxyaTJMvis= +github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro= +github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= +github.com/keybase/go-ps v0.0.0-20161005175911-668c8856d999/go.mod h1:hY+WOq6m2FpbvyrI93sMaypsttvaIL5nhVR92dTMUcQ= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/labstack/echo/v4 v4.1.6 h1:WOvLa4T1KzWCRpANwz0HGgWDelXSSGwIKtKBbFdHTv4= +github.com/labstack/echo/v4 v4.1.6/go.mod h1:kU/7PwzgNxZH4das4XNsSpBSOD09XIF5YEPzjpkGnGE= +github.com/labstack/gommon v0.2.9 h1:heVeuAYtevIQVYkGj6A41dtfT91LrvFG220lavpWhrU= +github.com/labstack/gommon v0.2.9/go.mod h1:E8ZTmW9vw5az5/ZyHWCp0Lw4OH2ecsaBP1C/NKavGG4= +github.com/leonelquinteros/gotext v1.4.0 h1:2NHPCto5IoMXbrT0bldPrxj0qM5asOCwtb1aUQZ1tys= +github.com/leonelquinteros/gotext v1.4.0/go.mod h1:yZGXREmoGTtBvZHNcc+Yfug49G/2spuF/i/Qlsvz1Us= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mssola/user_agent v0.5.0 h1:gRF7/x8cKt8qzAosYGsBNyirta+F8fvYDlJrgXws9AQ= +github.com/mssola/user_agent v0.5.0/go.mod h1:UFiKPVaShrJGW93n4uo8dpPdg1BSVpw2P9bneo0Mtp8= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= +github.com/nightlyone/lockfile v0.0.0-20180618180623-0ad87eef1443 h1:+2OJrU8cmOstEoh0uQvYemRGVH1O6xtO2oANUWHFnP0= +github.com/nightlyone/lockfile v0.0.0-20180618180623-0ad87eef1443/go.mod h1:JbxfV1Iifij2yhRjXai0oFrbpxszXHRx1E5RuM26o4Y= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/oschwald/maxminddb-golang v1.3.1 h1:kPc5+ieL5CC/Zn0IaXJPxDFlUxKTQEU8QBTtmfQDAIo= +github.com/oschwald/maxminddb-golang v1.3.1/go.mod h1:3jhIUymTJ5VREKyIhWm66LJiQt04F0UCDdodShpjWsY= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg= +github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.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/pquerna/otp v1.2.0 h1:/A3+Jn+cagqayeR3iHs/L62m5ue7710D35zl1zJ1kok= +github.com/pquerna/otp v1.2.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0 h1:kRhiuYSXR3+uv2IbVbZhUxK5zVD/2pp3Gd2PpvPkpEo= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/robfig/cron/v3 v3.0.0 h1:kQ6Cb7aHOHTSzNVNEhmp8EcWKLb4CbiMW9h9VyIhO4E= +github.com/robfig/cron/v3 v3.0.0/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/shirou/gopsutil v0.0.0-20180427012116-c95755e4bcd7/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= +github.com/sideshow/apns2 v0.16.0 h1:OLwkgkse4ZEak+kCIG+B+T4h1e7zLUFxuFFHtyCyTEM= +github.com/sideshow/apns2 v0.16.0/go.mod h1:f7dArLPLbiZ3qPdzzrZXdCSlMp8FD0p6z7tHssDOLvk= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1 h1:tY9CJiPnMXf1ERmG2EyK7gNUd+c6RKGD0IfU8WdUSz8= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/image v0.0.0-20190703141733-d6a02ce849c9 h1:uc17S921SPw5F2gJo7slQ3aqvr2RwpL7eb3+DZncu3s= +golang.org/x/image v0.0.0-20190703141733-d6a02ce849c9/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190607181551-461777fb6f67/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20171017063910-8dbc5d05d6ed/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190609082536-301114b31cce/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7 h1:LepdCS8Gf/MVejFIt8lsiexZATdoGVyp5bcyS+rYoUI= +golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190608022120-eacb66d2a7c3/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190716221150-e98af2309876 h1:XskQVJACjxHVCFlm4GsSEh6ZLclQPLobzuvB4DQYHtw= +golang.org/x/tools v0.0.0-20190716221150-e98af2309876/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/dgrijalva/jwt-go.v3 v3.2.0 h1:N46iQqOtHry7Hxzb9PGrP68oovQmj7EhudNoKHvbOvI= +gopkg.in/dgrijalva/jwt-go.v3 v3.2.0/go.mod h1:hdNXC2Z9yC029rvsQ/on2ZNQ44Z2XToVhpXXbR+J05A= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +rsc.io/goversion v1.0.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo= diff --git a/model/app/fetcher_git.go b/model/app/fetcher_git.go index db20a155f..e68030604 100644 --- a/model/app/fetcher_git.go +++ b/model/app/fetcher_git.go @@ -17,9 +17,9 @@ import ( "strings" "time" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/pkg/appfs" "github.com/sirupsen/logrus" + "github.com/spf13/afero" ) var cloneTimeout = 30 * time.Second diff --git a/model/app/installer_konnector_test.go b/model/app/installer_konnector_test.go index b150bff94..906880bb9 100644 --- a/model/app/installer_konnector_test.go +++ b/model/app/installer_konnector_test.go @@ -7,11 +7,11 @@ import ( "path" "testing" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/app" "github.com/cozy/cozy-stack/model/instance/lifecycle" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/consts" + "github.com/spf13/afero" "github.com/stretchr/testify/assert" ) diff --git a/model/app/installer_test.go b/model/app/installer_test.go index 607619121..6ba9963f0 100644 --- a/model/app/installer_test.go +++ b/model/app/installer_test.go @@ -12,7 +12,6 @@ import ( "testing" "time" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/app" "github.com/cozy/cozy-stack/model/stack" "github.com/cozy/cozy-stack/pkg/appfs" @@ -20,6 +19,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/prefixer" + "github.com/spf13/afero" ) var localGitCmd *exec.Cmd diff --git a/model/app/installer_webapp_test.go b/model/app/installer_webapp_test.go index aa7e3418c..6826b7356 100644 --- a/model/app/installer_webapp_test.go +++ b/model/app/installer_webapp_test.go @@ -5,13 +5,13 @@ import ( "path" "testing" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/app" "github.com/cozy/cozy-stack/model/instance/lifecycle" "github.com/cozy/cozy-stack/model/permission" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" + "github.com/spf13/afero" "github.com/stretchr/testify/assert" ) diff --git a/model/app/webapp.go b/model/app/webapp.go index 1e99dc9b0..ceba9c3af 100644 --- a/model/app/webapp.go +++ b/model/app/webapp.go @@ -10,7 +10,6 @@ import ( "strings" "time" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/job" "github.com/cozy/cozy-stack/model/notification" "github.com/cozy/cozy-stack/model/permission" @@ -19,6 +18,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/metadata" "github.com/cozy/cozy-stack/pkg/prefixer" + "github.com/spf13/afero" ) // Route is a struct to serve a folder inside an app diff --git a/model/instance/instance.go b/model/instance/instance.go index 964c06fa7..36dad59ed 100644 --- a/model/instance/instance.go +++ b/model/instance/instance.go @@ -22,8 +22,8 @@ import ( "github.com/cozy/cozy-stack/pkg/lock" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/afero" "github.com/sirupsen/logrus" + "github.com/spf13/afero" jwt "gopkg.in/dgrijalva/jwt-go.v3" ) diff --git a/model/job/errors.go b/model/job/errors.go index 9a1b1d3b9..67817da96 100644 --- a/model/job/errors.go +++ b/model/job/errors.go @@ -4,7 +4,7 @@ import ( "errors" "net/http" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) var ( diff --git a/model/job/redis_broker.go b/model/job/redis_broker.go index c84242be3..dfd4adb18 100644 --- a/model/job/redis_broker.go +++ b/model/job/redis_broker.go @@ -11,7 +11,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/limits" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" multierror "github.com/hashicorp/go-multierror" "github.com/sirupsen/logrus" ) diff --git a/model/job/redis_broker_test.go b/model/job/redis_broker_test.go index 7d89171e7..c9aa59f66 100644 --- a/model/job/redis_broker_test.go +++ b/model/job/redis_broker_test.go @@ -11,7 +11,7 @@ import ( jobs "github.com/cozy/cozy-stack/model/job" "github.com/cozy/cozy-stack/pkg/limits" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/stretchr/testify/assert" ) diff --git a/model/job/redis_scheduler.go b/model/job/redis_scheduler.go index 09172ac33..00b0d51da 100644 --- a/model/job/redis_scheduler.go +++ b/model/job/redis_scheduler.go @@ -15,7 +15,7 @@ import ( "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/prefixer" "github.com/cozy/cozy-stack/pkg/realtime" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/sirupsen/logrus" ) @@ -165,7 +165,7 @@ func (s *redisScheduler) eventLoop(eventsCh <-chan *realtime.Event) { var d time.Duration if d, err = time.ParseDuration(et.Infos().Debounce); err == nil { timestamp := time.Now().Add(d) - s.client.ZAddNX(TriggersKey, &redis.Z{ + s.client.ZAddNX(TriggersKey, redis.Z{ Score: float64(timestamp.UTC().Unix()), Member: redisKey(t), }) @@ -311,7 +311,7 @@ func (s *redisScheduler) addToRedis(t Trigger, prev time.Time) error { return errors.New("Not implemented yet") } pipe := s.client.Pipeline() - err := pipe.ZAdd(TriggersKey, &redis.Z{ + err := pipe.ZAdd(TriggersKey, redis.Z{ Score: float64(timestamp.UTC().Unix()), Member: redisKey(t), }).Err() diff --git a/model/job/redis_scheduler_test.go b/model/job/redis_scheduler_test.go index f9b5533a7..be2ac29e9 100644 --- a/model/job/redis_scheduler_test.go +++ b/model/job/redis_scheduler_test.go @@ -17,7 +17,7 @@ import ( "github.com/cozy/cozy-stack/pkg/realtime" "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/tests/testutils" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/stretchr/testify/assert" ) @@ -257,7 +257,7 @@ func TestRedisPollFromSchedKey(t *testing.T) { ts := now.UTC().Unix() key := testInstance.DBPrefix() + "/" + tat.ID() - err = client.ZAdd(jobs.SchedKey, &redis.Z{ + err = client.ZAdd(jobs.SchedKey, redis.Z{ Score: float64(ts + 1), Member: key, }).Err() diff --git a/model/job/trigger_cron.go b/model/job/trigger_cron.go index ab281b818..2c26ad22a 100644 --- a/model/job/trigger_cron.go +++ b/model/job/trigger_cron.go @@ -4,7 +4,7 @@ import ( "time" "github.com/cozy/cozy-stack/pkg/consts" - "github.com/cozy/cron" + "github.com/robfig/cron/v3" ) // CronTrigger implements the @cron trigger type. It schedules recurring jobs with diff --git a/model/permission/blacklist.go b/model/permission/blacklist.go index e68c0724a..651a854c6 100644 --- a/model/permission/blacklist.go +++ b/model/permission/blacklist.go @@ -5,7 +5,7 @@ import ( "net/http" "github.com/cozy/cozy-stack/pkg/consts" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) var readable = true diff --git a/model/permission/errors.go b/model/permission/errors.go index d2c2c3d8b..146f25454 100644 --- a/model/permission/errors.go +++ b/model/permission/errors.go @@ -3,7 +3,7 @@ package permission import ( "net/http" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) var ( diff --git a/model/permission/permissions_test.go b/model/permission/permissions_test.go index e96ca1740..ba021a7eb 100644 --- a/model/permission/permissions_test.go +++ b/model/permission/permissions_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/model/remote/remote.go b/model/remote/remote.go index 8e7065034..e86bb8b4a 100644 --- a/model/remote/remote.go +++ b/model/remote/remote.go @@ -22,8 +22,8 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/echo" "github.com/cozy/httpcache" + "github.com/labstack/echo/v4" ) var ( diff --git a/model/session/code_storage.go b/model/session/code_storage.go index 6cc3e0315..66b43d155 100644 --- a/model/session/code_storage.go +++ b/model/session/code_storage.go @@ -6,7 +6,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) type codeStorage interface { diff --git a/model/session/session.go b/model/session/session.go index 79436ac8c..a2557f8a5 100644 --- a/model/session/session.go +++ b/model/session/session.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // SessionCookieName is name of the cookie created by cozy diff --git a/model/sharing/api_sharing.go b/model/sharing/api_sharing.go index 088186300..321506ab2 100644 --- a/model/sharing/api_sharing.go +++ b/model/sharing/api_sharing.go @@ -6,7 +6,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // InfoByDocTypeData returns the sharings info as data array in the JSON-API format diff --git a/model/sharing/replicator_test.go b/model/sharing/replicator_test.go index 7c673141f..bbf884c4c 100644 --- a/model/sharing/replicator_test.go +++ b/model/sharing/replicator_test.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/tests/testutils" - uuid "github.com/satori/go.uuid" + "github.com/gofrs/uuid" "github.com/stretchr/testify/assert" ) diff --git a/model/sharing/upload_store.go b/model/sharing/upload_store.go index e37e0759d..68f14c858 100644 --- a/model/sharing/upload_store.go +++ b/model/sharing/upload_store.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) // A UploadStore is essentially an object to store files metadata by key diff --git a/model/vfs/store.go b/model/vfs/store.go index 00c582fc9..597a38056 100644 --- a/model/vfs/store.go +++ b/model/vfs/store.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) // Store is essentially a place to store transient objects between two HTTP diff --git a/model/vfs/store_test.go b/model/vfs/store_test.go index c06b0282d..6b3a2e1a0 100644 --- a/model/vfs/store_test.go +++ b/model/vfs/store_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/stretchr/testify/assert" ) diff --git a/model/vfs/version_test.go b/model/vfs/version_test.go index 24998da37..65e776302 100644 --- a/model/vfs/version_test.go +++ b/model/vfs/version_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/cozy/cozy-stack/pkg/utils" - uuid "github.com/satori/go.uuid" + "github.com/gofrs/uuid" "github.com/stretchr/testify/assert" ) diff --git a/model/vfs/vfsafero/fsck.go b/model/vfs/vfsafero/fsck.go index 7be411241..1ca632115 100644 --- a/model/vfs/vfsafero/fsck.go +++ b/model/vfs/vfsafero/fsck.go @@ -9,10 +9,10 @@ import ( "path/filepath" "strings" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/vfs" "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" + "github.com/spf13/afero" ) func (afs *aferoVFS) Fsck(accumulate func(log *vfs.FsckLog)) error { diff --git a/model/vfs/vfsafero/impl.go b/model/vfs/vfsafero/impl.go index 2a96e123f..a89d13d40 100644 --- a/model/vfs/vfsafero/impl.go +++ b/model/vfs/vfsafero/impl.go @@ -19,7 +19,7 @@ import ( "github.com/cozy/cozy-stack/pkg/lock" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/afero" + "github.com/spf13/afero" ) var memfsMap sync.Map diff --git a/model/vfs/vfsafero/thumbs.go b/model/vfs/vfsafero/thumbs.go index ec55c8158..484841d13 100644 --- a/model/vfs/vfsafero/thumbs.go +++ b/model/vfs/vfsafero/thumbs.go @@ -6,9 +6,9 @@ import ( "os" "path" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/vfs" multierror "github.com/hashicorp/go-multierror" + "github.com/spf13/afero" ) // NewThumbsFs creates a new thumb filesystem base on a afero.Fs. diff --git a/model/vfs/vfsswift/fsck_v1.go b/model/vfs/vfsswift/fsck_v1.go index d1f355045..8500f95a7 100644 --- a/model/vfs/vfsswift/fsck_v1.go +++ b/model/vfs/vfsswift/fsck_v1.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/model/vfs" "github.com/cozy/cozy-stack/pkg/consts" - "github.com/cozy/swift" + "github.com/ncw/swift" ) func (sfs *swiftVFS) Fsck(accumulate func(log *vfs.FsckLog)) error { diff --git a/model/vfs/vfsswift/fsck_v2.go b/model/vfs/vfsswift/fsck_v2.go index 9f8b4f99f..c576b5a07 100644 --- a/model/vfs/vfsswift/fsck_v2.go +++ b/model/vfs/vfsswift/fsck_v2.go @@ -7,7 +7,7 @@ import ( "github.com/cozy/cozy-stack/model/vfs" "github.com/cozy/cozy-stack/pkg/consts" - "github.com/cozy/swift" + "github.com/ncw/swift" ) func (sfs *swiftVFSV2) Fsck(accumulate func(log *vfs.FsckLog)) error { diff --git a/model/vfs/vfsswift/fsck_v3.go b/model/vfs/vfsswift/fsck_v3.go index 6f11154b7..25cc21404 100644 --- a/model/vfs/vfsswift/fsck_v3.go +++ b/model/vfs/vfsswift/fsck_v3.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/model/vfs" "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" - "github.com/cozy/swift" + "github.com/ncw/swift" ) func (sfs *swiftVFSV3) Fsck(accumulate func(log *vfs.FsckLog)) error { diff --git a/model/vfs/vfsswift/impl_v1.go b/model/vfs/vfsswift/impl_v1.go index b3baffaca..19f6bf7ac 100644 --- a/model/vfs/vfsswift/impl_v1.go +++ b/model/vfs/vfsswift/impl_v1.go @@ -14,8 +14,8 @@ import ( "github.com/cozy/cozy-stack/pkg/lock" "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/swift" multierror "github.com/hashicorp/go-multierror" + "github.com/ncw/swift" "github.com/sirupsen/logrus" ) diff --git a/model/vfs/vfsswift/impl_v2.go b/model/vfs/vfsswift/impl_v2.go index 49c424099..fa239b95a 100644 --- a/model/vfs/vfsswift/impl_v2.go +++ b/model/vfs/vfsswift/impl_v2.go @@ -16,8 +16,8 @@ import ( "github.com/cozy/cozy-stack/pkg/lock" "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/swift" multierror "github.com/hashicorp/go-multierror" + "github.com/ncw/swift" "github.com/sirupsen/logrus" ) diff --git a/model/vfs/vfsswift/impl_v3.go b/model/vfs/vfsswift/impl_v3.go index 737e15106..d7b8821e7 100644 --- a/model/vfs/vfsswift/impl_v3.go +++ b/model/vfs/vfsswift/impl_v3.go @@ -17,7 +17,7 @@ import ( "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/prefixer" "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/swift" + "github.com/ncw/swift" "github.com/sirupsen/logrus" ) diff --git a/model/vfs/vfsswift/swift.go b/model/vfs/vfsswift/swift.go index 1f29a7611..bf7a772b1 100644 --- a/model/vfs/vfsswift/swift.go +++ b/model/vfs/vfsswift/swift.go @@ -1,8 +1,8 @@ package vfsswift import ( - "github.com/cozy/swift" multierror "github.com/hashicorp/go-multierror" + "github.com/ncw/swift" ) // maxNbFilesToDelete is the maximal number of files that we will try to delete diff --git a/model/vfs/vfsswift/thumbs_v1.go b/model/vfs/vfsswift/thumbs_v1.go index 677203816..e4c6d2a1b 100644 --- a/model/vfs/vfsswift/thumbs_v1.go +++ b/model/vfs/vfsswift/thumbs_v1.go @@ -7,7 +7,7 @@ import ( "time" "github.com/cozy/cozy-stack/model/vfs" - "github.com/cozy/swift" + "github.com/ncw/swift" ) // NewThumbsFs creates a new thumb filesystem base on swift. diff --git a/model/vfs/vfsswift/thumbs_v2_v3.go b/model/vfs/vfsswift/thumbs_v2_v3.go index 98f98edbb..bbce14480 100644 --- a/model/vfs/vfsswift/thumbs_v2_v3.go +++ b/model/vfs/vfsswift/thumbs_v2_v3.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/model/vfs" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/swift" + "github.com/ncw/swift" ) var unixEpochZero = time.Time{} diff --git a/pkg/appfs/copier.go b/pkg/appfs/copier.go index b68105f1b..87c0f07e4 100644 --- a/pkg/appfs/copier.go +++ b/pkg/appfs/copier.go @@ -9,12 +9,12 @@ import ( "strings" "time" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/filetype" "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/swift" + "github.com/ncw/swift" + "github.com/spf13/afero" ) // Copier is an interface defining a common set of functions for the installer diff --git a/pkg/appfs/server.go b/pkg/appfs/server.go index d63a3d5a5..ea26aa4d2 100644 --- a/pkg/appfs/server.go +++ b/pkg/appfs/server.go @@ -15,10 +15,10 @@ import ( "strconv" "strings" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/pkg/consts" web_utils "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/swift" + "github.com/ncw/swift" + "github.com/spf13/afero" ) // FileServer interface defines a way to access and serve the application's diff --git a/pkg/assets/dynamic/dynamic.go b/pkg/assets/dynamic/dynamic.go index 376ed94c4..9ff420c75 100644 --- a/pkg/assets/dynamic/dynamic.go +++ b/pkg/assets/dynamic/dynamic.go @@ -16,8 +16,8 @@ import ( "github.com/cozy/cozy-stack/pkg/assets/model" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/swift" "github.com/hashicorp/go-multierror" + "github.com/ncw/swift" ) var ErrDynAssetNotFound = errors.New("Dynamic asset was not found") diff --git a/pkg/assets/dynamic/dynamic_test.go b/pkg/assets/dynamic/dynamic_test.go index 5e6ecca3a..3fe3e8304 100644 --- a/pkg/assets/dynamic/dynamic_test.go +++ b/pkg/assets/dynamic/dynamic_test.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/assets/model" "github.com/cozy/cozy-stack/pkg/config/config" - "github.com/cozy/swift/swifttest" + "github.com/ncw/swift/swifttest" "github.com/spf13/viper" "github.com/stretchr/testify/assert" diff --git a/pkg/assets/dynamic/fs.go b/pkg/assets/dynamic/fs.go index 5c65221ba..7ad57c793 100644 --- a/pkg/assets/dynamic/fs.go +++ b/pkg/assets/dynamic/fs.go @@ -10,10 +10,10 @@ import ( "path/filepath" "strings" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/pkg/assets/model" "github.com/cozy/cozy-stack/pkg/config/config" - "github.com/cozy/swift" + "github.com/ncw/swift" + "github.com/spf13/afero" ) var assetFS AssetFS diff --git a/pkg/cache/cache.go b/pkg/cache/cache.go index a75b49aa7..9f90773d4 100644 --- a/pkg/cache/cache.go +++ b/pkg/cache/cache.go @@ -7,7 +7,7 @@ import ( "sync" "time" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) type cacheEntry struct { diff --git a/pkg/config/config/config.go b/pkg/config/config/config.go index 05c2168e1..a42c26548 100644 --- a/pkg/config/config/config.go +++ b/pkg/config/config/config.go @@ -24,7 +24,7 @@ import ( "github.com/cozy/cozy-stack/pkg/tlsclient" "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/gomail" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/spf13/viper" ) diff --git a/pkg/config/config/swift.go b/pkg/config/config/swift.go index e235d5677..ba2297f35 100644 --- a/pkg/config/config/swift.go +++ b/pkg/config/config/swift.go @@ -5,7 +5,7 @@ import ( "net/url" "time" - "github.com/cozy/swift" + "github.com/ncw/swift" ) var swiftConn *swift.Connection diff --git a/pkg/couchdb/proxy.go b/pkg/couchdb/proxy.go index e55d89755..8d5164a67 100644 --- a/pkg/couchdb/proxy.go +++ b/pkg/couchdb/proxy.go @@ -11,7 +11,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/realtime" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Proxy generate a httputil.ReverseProxy which forwards the request to the diff --git a/pkg/i18n/i18n.go b/pkg/i18n/i18n.go index 715f2486f..4e6bf32cb 100644 --- a/pkg/i18n/i18n.go +++ b/pkg/i18n/i18n.go @@ -6,7 +6,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/logger" - gotext "gopkg.in/leonelquinteros/gotext.v1" + "github.com/leonelquinteros/gotext" ) var translations = make(map[string]*gotext.Po) diff --git a/pkg/jsonapi/jsonapi.go b/pkg/jsonapi/jsonapi.go index bf2e1b617..9f73e96eb 100644 --- a/pkg/jsonapi/jsonapi.go +++ b/pkg/jsonapi/jsonapi.go @@ -10,7 +10,7 @@ import ( "strconv" "github.com/cozy/cozy-stack/pkg/couchdb" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // ContentType is the official mime-type for JSON-API diff --git a/pkg/jsonapi/jsonapi_test.go b/pkg/jsonapi/jsonapi_test.go index 9fd50498c..d41d10231 100644 --- a/pkg/jsonapi/jsonapi_test.go +++ b/pkg/jsonapi/jsonapi_test.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/couchdb" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/pkg/limits/rate_limiting.go b/pkg/limits/rate_limiting.go index 1205de6da..1d3d6327f 100644 --- a/pkg/limits/rate_limiting.go +++ b/pkg/limits/rate_limiting.go @@ -7,7 +7,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) // CounterType os an enum for the type of counters used by rate-limiting. diff --git a/pkg/limits/rate_limiting_test.go b/pkg/limits/rate_limiting_test.go index d817fbd70..c67886811 100644 --- a/pkg/limits/rate_limiting_test.go +++ b/pkg/limits/rate_limiting_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/stretchr/testify/assert" ) diff --git a/pkg/lock/simple_redis.go b/pkg/lock/simple_redis.go index 35dd179a0..bb039c07b 100644 --- a/pkg/lock/simple_redis.go +++ b/pkg/lock/simple_redis.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/sirupsen/logrus" ) diff --git a/pkg/logger/logger.go b/pkg/logger/logger.go index cc92a7000..99430eaef 100644 --- a/pkg/logger/logger.go +++ b/pkg/logger/logger.go @@ -4,7 +4,7 @@ import ( "io/ioutil" "sync" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/sirupsen/logrus" ) diff --git a/pkg/logger/logger_test.go b/pkg/logger/logger_test.go index be98e99da..b7b6b2822 100644 --- a/pkg/logger/logger_test.go +++ b/pkg/logger/logger_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" ) diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 19e096efd..db51f6bcb 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -1,7 +1,7 @@ package metrics import ( - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/prometheus/client_golang/prometheus/promhttp" ) diff --git a/pkg/realtime/realtime_test.go b/pkg/realtime/realtime_test.go index 5cac53979..7697f180e 100644 --- a/pkg/realtime/realtime_test.go +++ b/pkg/realtime/realtime_test.go @@ -6,7 +6,7 @@ import ( "time" "github.com/cozy/cozy-stack/pkg/prefixer" - "github.com/cozy/redis" + "github.com/go-redis/redis" "github.com/stretchr/testify/assert" ) diff --git a/pkg/realtime/redis_hub.go b/pkg/realtime/redis_hub.go index 8ff9f7a41..f41d44915 100644 --- a/pkg/realtime/redis_hub.go +++ b/pkg/realtime/redis_hub.go @@ -6,7 +6,7 @@ import ( "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/pkg/prefixer" - redis "github.com/cozy/redis" + redis "github.com/go-redis/redis" ) const eventsRedisKey = "realtime:events" diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 1692eaf83..1adf6593e 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -13,8 +13,8 @@ import ( "strings" "time" - "github.com/cozy/echo" "github.com/cozy/httpcache" + "github.com/labstack/echo/v4" ) const defaultLimit = 100 diff --git a/scripts/lint.sh b/scripts/lint.sh index e76375aad..0af845023 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -4,17 +4,14 @@ set -ev if git grep -l \ -e 'github.com/labstack/gommon/log' \ -e 'github.com/dgrijalva/jwt-go' \ - -e 'github.com/labstack/echo' \ - -e 'github.com/spf13/afero' \ -e 'github.com/cozy/statik' \ - -e 'github.com/go-redis/redis' \ -- '*.go'; then echo "Forbidden packages" exit 1 fi -go get -u github.com/golangci/golangci-lint/cmd/golangci-lint -golangci-lint run -E gofmt -E unconvert -E misspell +curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s v1.17.1 +bin/golangci-lint run -E gofmt -E unconvert -E misspell npm install eslint@5.16.0 prettier eslint-plugin-prettier eslint-config-cozy-app ./node_modules/.bin/eslint "assets/scripts/**" diff --git a/tests/testutils/test_utils.go b/tests/testutils/test_utils.go index 3f776437f..95bdafd29 100644 --- a/tests/testutils/test_utils.go +++ b/tests/testutils/test_utils.go @@ -21,8 +21,8 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/echo" - "github.com/cozy/swift/swifttest" + "github.com/labstack/echo/v4" + "github.com/ncw/swift/swifttest" "github.com/spf13/viper" ) diff --git a/web/accounts/oauth.go b/web/accounts/oauth.go index 5b4a3f944..494eaba5a 100644 --- a/web/accounts/oauth.go +++ b/web/accounts/oauth.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiAccount struct { diff --git a/web/accounts/oauth_test.go b/web/accounts/oauth_test.go index 2b8c2fcb7..9ba59e1ae 100644 --- a/web/accounts/oauth_test.go +++ b/web/accounts/oauth_test.go @@ -18,7 +18,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/tests/testutils" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/accounts/statestore.go b/web/accounts/statestore.go index 41ca01091..c7f1fd4ac 100644 --- a/web/accounts/statestore.go +++ b/web/accounts/statestore.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) const stateTTL = 15 * time.Minute diff --git a/web/apps/apps.go b/web/apps/apps.go index 6407e2e3f..59510ff5b 100644 --- a/web/apps/apps.go +++ b/web/apps/apps.go @@ -20,7 +20,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // JSMimeType is the content-type for javascript diff --git a/web/apps/apps_test.go b/web/apps/apps_test.go index 6e9a2404c..34ac5ece2 100644 --- a/web/apps/apps_test.go +++ b/web/apps/apps_test.go @@ -36,7 +36,7 @@ import ( "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web" webApps "github.com/cozy/cozy-stack/web/apps" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/apps/serve.go b/web/apps/serve.go index d1503e8de..af214ce2f 100644 --- a/web/apps/serve.go +++ b/web/apps/serve.go @@ -24,7 +24,7 @@ import ( "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/web/middlewares" "github.com/cozy/cozy-stack/web/statik" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Serve is an handler for serving files from the VFS for a client-side app diff --git a/web/auth/auth.go b/web/auth/auth.go index aa260b717..e6468b426 100644 --- a/web/auth/auth.go +++ b/web/auth/auth.go @@ -16,8 +16,8 @@ import ( "github.com/cozy/cozy-stack/pkg/limits" "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" - "github.com/cozy/echo/middleware" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" ) const ( diff --git a/web/auth/auth_test.go b/web/auth/auth_test.go index e35cf59ea..edb279df1 100644 --- a/web/auth/auth_test.go +++ b/web/auth/auth_test.go @@ -36,7 +36,7 @@ import ( "github.com/cozy/cozy-stack/web/auth" "github.com/cozy/cozy-stack/web/errors" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" jwt "gopkg.in/dgrijalva/jwt-go.v3" ) diff --git a/web/auth/oauth.go b/web/auth/oauth.go index f1f6d5175..e6519ee78 100644 --- a/web/auth/oauth.go +++ b/web/auth/oauth.go @@ -21,7 +21,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/pkg/registry" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type webappParams struct { diff --git a/web/auth/passphrase.go b/web/auth/passphrase.go index 94c728a6b..7f4e43d1e 100644 --- a/web/auth/passphrase.go +++ b/web/auth/passphrase.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/model/instance/lifecycle" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func passphraseResetForm(c echo.Context) error { diff --git a/web/auth/register.go b/web/auth/register.go index 6de1b0efc..dbde19c2a 100644 --- a/web/auth/register.go +++ b/web/auth/register.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/limits" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func registerClient(c echo.Context) error { diff --git a/web/auth/twofactor.go b/web/auth/twofactor.go index a9c590473..c14e9e6c0 100644 --- a/web/auth/twofactor.go +++ b/web/auth/twofactor.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/model/oauth" "github.com/cozy/cozy-stack/pkg/limits" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) const ( diff --git a/web/compat/compat.go b/web/compat/compat.go index ad1badd1c..db7fda986 100644 --- a/web/compat/compat.go +++ b/web/compat/compat.go @@ -4,7 +4,7 @@ import ( "net/http" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Compat display a page with web browsers compatibility informations diff --git a/web/data/accounts.go b/web/data/accounts.go index 851f68878..24e80441b 100644 --- a/web/data/accounts.go +++ b/web/data/accounts.go @@ -12,7 +12,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // TODO: make specific routes for managing accounts. The overriding of the diff --git a/web/data/data.go b/web/data/data.go index d32225381..6eac4aa29 100644 --- a/web/data/data.go +++ b/web/data/data.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/files" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func paramIsTrue(c echo.Context, param string) bool { diff --git a/web/data/replication.go b/web/data/replication.go index dd1193fab..a1e7ce948 100644 --- a/web/data/replication.go +++ b/web/data/replication.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/pkg/lock" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func proxy(c echo.Context, path string) error { diff --git a/web/dev.go b/web/dev.go index 6efc87355..3169b1a5b 100644 --- a/web/dev.go +++ b/web/dev.go @@ -11,7 +11,7 @@ import ( "github.com/cozy/cozy-stack/web/middlewares" "github.com/cozy/cozy-stack/web/statik" "github.com/cozy/cozy-stack/worker/mails" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // devMailHandler allow to easily render a mail from a route of the stack. The diff --git a/web/errors/errors.go b/web/errors/errors.go index 14c26eaad..b38bd949b 100644 --- a/web/errors/errors.go +++ b/web/errors/errors.go @@ -15,7 +15,7 @@ import ( "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/sirupsen/logrus" ) @@ -95,12 +95,12 @@ func HTMLErrorHandler(err error, c echo.Context) { var he *echo.HTTPError if he, ok = err.(*echo.HTTPError); ok { status = he.Code - if he.Inner != nil { - err = he.Inner + if he.Internal != nil { + err = he.Internal } } else { he = echo.NewHTTPError(status, err) - he.Inner = err + he.Internal = err } var title, value string diff --git a/web/files/files.go b/web/files/files.go index 4032fb593..dbce1a143 100644 --- a/web/files/files.go +++ b/web/files/files.go @@ -32,7 +32,7 @@ import ( web_utils "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/web/middlewares" "github.com/cozy/cozy-stack/worker/thumbnail" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type docPatch struct { diff --git a/web/files/files_test.go b/web/files/files_test.go index bf52d65fe..807a9bdc0 100644 --- a/web/files/files_test.go +++ b/web/files/files_test.go @@ -24,7 +24,7 @@ import ( "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web/errors" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" _ "github.com/cozy/cozy-stack/worker/thumbnail" @@ -1204,7 +1204,8 @@ func TestArchiveNoFiles(t *testing.T) { assert.Equal(t, 400, res.StatusCode) msg, err := ioutil.ReadAll(res.Body) assert.NoError(t, err) - assert.Equal(t, `"Can't create an archive with no files"`, string(msg)) + actual := strings.TrimSpace(string(msg)) + assert.Equal(t, `"Can't create an archive with no files"`, actual) } func TestArchiveDirectDownload(t *testing.T) { diff --git a/web/files/paginated.go b/web/files/paginated.go index 8c50310d4..64038f224 100644 --- a/web/files/paginated.go +++ b/web/files/paginated.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) const ( diff --git a/web/files/permissions_test.go b/web/files/permissions_test.go index 35a5dccca..e47169df0 100644 --- a/web/files/permissions_test.go +++ b/web/files/permissions_test.go @@ -8,7 +8,7 @@ import ( "time" "github.com/cozy/cozy-stack/pkg/consts" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/files/referencedby.go b/web/files/referencedby.go index f25128f24..1ee6b06a1 100644 --- a/web/files/referencedby.go +++ b/web/files/referencedby.go @@ -7,7 +7,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // AddReferencedHandler is the echo.handler for adding referenced_by to diff --git a/web/files/referencedby_test.go b/web/files/referencedby_test.go index dc8fa5e5a..1d82ecfe8 100644 --- a/web/files/referencedby_test.go +++ b/web/files/referencedby_test.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/files/references.go b/web/files/references.go index 4f66fd7eb..ab08eab73 100644 --- a/web/files/references.go +++ b/web/files/references.go @@ -14,7 +14,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) const ( diff --git a/web/instances/client.go b/web/instances/client.go index 43025c299..277d3b2a6 100644 --- a/web/instances/client.go +++ b/web/instances/client.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/model/instance/lifecycle" "github.com/cozy/cozy-stack/model/oauth" "github.com/cozy/cozy-stack/pkg/consts" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func createToken(c echo.Context) error { diff --git a/web/instances/instances.go b/web/instances/instances.go index 4262ea8b2..02d9188c8 100644 --- a/web/instances/instances.go +++ b/web/instances/instances.go @@ -27,7 +27,7 @@ import ( "github.com/cozy/cozy-stack/pkg/prefixer" "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/worker/updates" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiInstance struct { diff --git a/web/instances/move.go b/web/instances/move.go index e1701de50..33c5a5f84 100644 --- a/web/instances/move.go +++ b/web/instances/move.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/model/job" "github.com/cozy/cozy-stack/model/move" "github.com/cozy/cozy-stack/pkg/mail" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func exporter(c echo.Context) error { diff --git a/web/intents/intents.go b/web/intents/intents.go index c83499e0b..2c6a74c31 100644 --- a/web/intents/intents.go +++ b/web/intents/intents.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiIntent struct { diff --git a/web/intents/intents_test.go b/web/intents/intents_test.go index 322026060..18ec83795 100644 --- a/web/intents/intents_test.go +++ b/web/intents/intents_test.go @@ -18,7 +18,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web/errors" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/jobs/jobs.go b/web/jobs/jobs.go index fbd0318b2..30b000940 100644 --- a/web/jobs/jobs.go +++ b/web/jobs/jobs.go @@ -20,8 +20,8 @@ import ( "github.com/cozy/cozy-stack/pkg/metadata" "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" multierror "github.com/hashicorp/go-multierror" + "github.com/labstack/echo/v4" // import workers _ "github.com/cozy/cozy-stack/worker/archive" diff --git a/web/jobs/jobs_test.go b/web/jobs/jobs_test.go index cb6b49def..08d048979 100644 --- a/web/jobs/jobs_test.go +++ b/web/jobs/jobs_test.go @@ -18,7 +18,7 @@ import ( "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web/errors" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/middlewares/assets.go b/web/middlewares/assets.go index 501557979..113812098 100644 --- a/web/middlewares/assets.go +++ b/web/middlewares/assets.go @@ -5,7 +5,7 @@ import ( "html/template" "github.com/cozy/cozy-stack/model/instance" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // FuncsMap is a the helper functions used in templates. diff --git a/web/middlewares/assets_test.go b/web/middlewares/assets_test.go index 87e484e10..f2626e92e 100644 --- a/web/middlewares/assets_test.go +++ b/web/middlewares/assets_test.go @@ -19,7 +19,7 @@ import ( "github.com/cozy/cozy-stack/web" "github.com/cozy/cozy-stack/web/apps" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/middlewares/basic_auth.go b/web/middlewares/basic_auth.go index cd422b24e..815f94cb2 100644 --- a/web/middlewares/basic_auth.go +++ b/web/middlewares/basic_auth.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // BasicAuth use HTTP basic authentication to authenticate a user. The secret diff --git a/web/middlewares/cache.go b/web/middlewares/cache.go index 04bc119f3..c5794c2fb 100644 --- a/web/middlewares/cache.go +++ b/web/middlewares/cache.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // CacheMode is an enum to define a cache-control mode diff --git a/web/middlewares/cors.go b/web/middlewares/cors.go index 9c51ab55c..228b19172 100644 --- a/web/middlewares/cors.go +++ b/web/middlewares/cors.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // MaxAgeCORS is used to cache the CORS header for 12 hours diff --git a/web/middlewares/cors_test.go b/web/middlewares/cors_test.go index 02cc33d89..6139323d7 100644 --- a/web/middlewares/cors_test.go +++ b/web/middlewares/cors_test.go @@ -5,7 +5,7 @@ import ( "net/http/httptest" "testing" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/middlewares/instance.go b/web/middlewares/instance.go index 9044f3990..69bab64c8 100644 --- a/web/middlewares/instance.go +++ b/web/middlewares/instance.go @@ -7,7 +7,7 @@ import ( "github.com/cozy/cozy-stack/model/instance/lifecycle" "github.com/cozy/cozy-stack/model/permission" "github.com/cozy/cozy-stack/pkg/jsonapi" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // NeedInstance is an echo middleware which will display an error @@ -28,7 +28,7 @@ func NeedInstance(next echo.HandlerFunc) echo.HandlerFunc { default: errHTTP = echo.NewHTTPError(http.StatusInternalServerError, err) } - errHTTP.Inner = err + errHTTP.Internal = err return errHTTP } c.Set("instance", i.WithContextualDomain(c.Request().Host)) diff --git a/web/middlewares/json_headers.go b/web/middlewares/json_headers.go index c63c43161..0bd0b1361 100644 --- a/web/middlewares/json_headers.go +++ b/web/middlewares/json_headers.go @@ -5,7 +5,7 @@ import ( "strings" "github.com/cozy/cozy-stack/pkg/jsonapi" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/golang/gddo/httputil" ) diff --git a/web/middlewares/middlewares.go b/web/middlewares/middlewares.go index ffcf493b0..77bc415a2 100644 --- a/web/middlewares/middlewares.go +++ b/web/middlewares/middlewares.go @@ -4,7 +4,7 @@ import ( "strings" "github.com/cozy/cozy-stack/pkg/config/config" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Compose can be used to compose a list of middlewares together with a main diff --git a/web/middlewares/permissions.go b/web/middlewares/permissions.go index 2ca5613a7..e22988a33 100644 --- a/web/middlewares/permissions.go +++ b/web/middlewares/permissions.go @@ -17,7 +17,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/crypto" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" jwt "gopkg.in/dgrijalva/jwt-go.v3" ) diff --git a/web/middlewares/recover.go b/web/middlewares/recover.go index 00fbee15c..571fb7a68 100644 --- a/web/middlewares/recover.go +++ b/web/middlewares/recover.go @@ -5,8 +5,8 @@ import ( "runtime" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/echo" - "github.com/cozy/echo/middleware" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" ) // RecoverConfig defines the config for Recover middleware. diff --git a/web/middlewares/secure.go b/web/middlewares/secure.go index 1cc2d3bc3..150a8fa66 100644 --- a/web/middlewares/secure.go +++ b/web/middlewares/secure.go @@ -7,7 +7,7 @@ import ( "time" build "github.com/cozy/cozy-stack/pkg/config" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type ( diff --git a/web/middlewares/secure_test.go b/web/middlewares/secure_test.go index a8a8bc085..2a78884cd 100644 --- a/web/middlewares/secure_test.go +++ b/web/middlewares/secure_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/middlewares/session.go b/web/middlewares/session.go index bb84a23cb..6fb55fdb1 100644 --- a/web/middlewares/session.go +++ b/web/middlewares/session.go @@ -2,7 +2,7 @@ package middlewares import ( "github.com/cozy/cozy-stack/model/session" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) const sessionKey = "session" diff --git a/web/middlewares/user_agent.go b/web/middlewares/user_agent.go index e1e3ed088..0d44e05b2 100644 --- a/web/middlewares/user_agent.go +++ b/web/middlewares/user_agent.go @@ -5,7 +5,7 @@ import ( "strconv" "strings" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/mssola/user_agent" ) diff --git a/web/middlewares/user_agent_test.go b/web/middlewares/user_agent_test.go index e45b05414..199ea9d15 100644 --- a/web/middlewares/user_agent_test.go +++ b/web/middlewares/user_agent_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/cozy/cozy-stack/model/instance" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/move/move.go b/web/move/move.go index 5a7e11c91..b749ec3d8 100644 --- a/web/move/move.go +++ b/web/move/move.go @@ -11,7 +11,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" "github.com/cozy/cozy-stack/worker/move" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func exportHandler(c echo.Context) error { diff --git a/web/notifications/notifications.go b/web/notifications/notifications.go index 4bf49e01f..9df353bb1 100644 --- a/web/notifications/notifications.go +++ b/web/notifications/notifications.go @@ -11,7 +11,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiNotif struct { diff --git a/web/oidc/oidc.go b/web/oidc/oidc.go index 385a95b9b..a23a337c8 100644 --- a/web/oidc/oidc.go +++ b/web/oidc/oidc.go @@ -22,7 +22,7 @@ import ( "github.com/cozy/cozy-stack/pkg/logger" "github.com/cozy/cozy-stack/web/auth" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Start is the route to start the OpenID Connect dance. diff --git a/web/oidc/oidc_test.go b/web/oidc/oidc_test.go index 387ce61a8..c68139b3d 100644 --- a/web/oidc/oidc_test.go +++ b/web/oidc/oidc_test.go @@ -16,7 +16,7 @@ import ( "github.com/cozy/cozy-stack/web/errors" "github.com/cozy/cozy-stack/web/middlewares" "github.com/cozy/cozy-stack/web/statik" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/oidc/statestore.go b/web/oidc/statestore.go index 6c9f0eaa3..3cfed5e3b 100644 --- a/web/oidc/statestore.go +++ b/web/oidc/statestore.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/redis" + "github.com/go-redis/redis" ) const stateTTL = 15 * time.Minute diff --git a/web/permissions/permissions.go b/web/permissions/permissions.go index 8f7e9a5e4..3e8736afe 100644 --- a/web/permissions/permissions.go +++ b/web/permissions/permissions.go @@ -16,8 +16,8 @@ import ( "github.com/cozy/cozy-stack/pkg/metadata" "github.com/cozy/cozy-stack/pkg/prefixer" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" "github.com/justincampbell/bigduration" + "github.com/labstack/echo/v4" ) // ErrPatchCodeOrSet is returned when an attempt is made to patch both diff --git a/web/permissions/permissions_test.go b/web/permissions/permissions_test.go index 179af99a9..b33dc8679 100644 --- a/web/permissions/permissions_test.go +++ b/web/permissions/permissions_test.go @@ -24,7 +24,7 @@ import ( "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web/errors" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" jwt "gopkg.in/dgrijalva/jwt-go.v3" ) diff --git a/web/public/public.go b/web/public/public.go index 3a1ddab68..b376bc9c1 100644 --- a/web/public/public.go +++ b/web/public/public.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/assets" "github.com/cozy/cozy-stack/web/middlewares" "github.com/cozy/cozy-stack/web/statik" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Avatar returns the default avatar currently. diff --git a/web/realtime/realtime.go b/web/realtime/realtime.go index b906dca5d..d0b7440ce 100644 --- a/web/realtime/realtime.go +++ b/web/realtime/realtime.go @@ -14,8 +14,8 @@ import ( "github.com/cozy/cozy-stack/pkg/prefixer" "github.com/cozy/cozy-stack/pkg/realtime" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" "github.com/gorilla/websocket" + "github.com/labstack/echo/v4" ) const ( diff --git a/web/registry/registry.go b/web/registry/registry.go index 9b4fc0dbc..2362bc1a0 100644 --- a/web/registry/registry.go +++ b/web/registry/registry.go @@ -7,8 +7,8 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/registry" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" - "github.com/cozy/echo/middleware" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" ) type authType int diff --git a/web/remote/remote.go b/web/remote/remote.go index 9f8d37d96..b5a54ed00 100644 --- a/web/remote/remote.go +++ b/web/remote/remote.go @@ -5,7 +5,7 @@ import ( "github.com/cozy/cozy-stack/model/remote" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func remoteGet(c echo.Context) error { diff --git a/web/routing.go b/web/routing.go index 7ba5b3962..63882e07c 100644 --- a/web/routing.go +++ b/web/routing.go @@ -35,8 +35,8 @@ import ( "github.com/cozy/cozy-stack/web/statik" "github.com/cozy/cozy-stack/web/status" "github.com/cozy/cozy-stack/web/version" - "github.com/cozy/echo" - "github.com/cozy/echo/middleware" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" "github.com/prometheus/client_golang/prometheus" ) diff --git a/web/routing_test.go b/web/routing_test.go index 96580c355..5730dc38c 100644 --- a/web/routing_test.go +++ b/web/routing_test.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/server.go b/web/server.go index f0baeb806..e309ec9e1 100644 --- a/web/server.go +++ b/web/server.go @@ -21,8 +21,8 @@ import ( "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/web/apps" - "github.com/cozy/echo" - "github.com/cozy/echo/middleware" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" ) // ReadHeaderTimeout is the amount of time allowed to read request headers for diff --git a/web/settings/clients.go b/web/settings/clients.go index cf4b552cc..20bc8aa29 100644 --- a/web/settings/clients.go +++ b/web/settings/clients.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/crypto" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" jwt "gopkg.in/dgrijalva/jwt-go.v3" ) diff --git a/web/settings/context.go b/web/settings/context.go index 73450ac7a..a2395244c 100644 --- a/web/settings/context.go +++ b/web/settings/context.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiContext struct { diff --git a/web/settings/disk_usage.go b/web/settings/disk_usage.go index dbfc08fbb..8d6a827b3 100644 --- a/web/settings/disk_usage.go +++ b/web/settings/disk_usage.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiDiskUsage struct { diff --git a/web/settings/instance.go b/web/settings/instance.go index ae63a9f9d..0cece507c 100644 --- a/web/settings/instance.go +++ b/web/settings/instance.go @@ -13,7 +13,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiInstance struct { diff --git a/web/settings/passphrase.go b/web/settings/passphrase.go index bd8d95142..2a00a0732 100644 --- a/web/settings/passphrase.go +++ b/web/settings/passphrase.go @@ -16,7 +16,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/auth" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) func registerPassphrase(c echo.Context) error { diff --git a/web/settings/settings.go b/web/settings/settings.go index 89a8d9087..70073cfa8 100644 --- a/web/settings/settings.go +++ b/web/settings/settings.go @@ -12,7 +12,7 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) type apiSession struct { diff --git a/web/settings/settings_test.go b/web/settings/settings_test.go index 39e816f9d..321d2f8f7 100644 --- a/web/settings/settings_test.go +++ b/web/settings/settings_test.go @@ -20,7 +20,7 @@ import ( "github.com/cozy/cozy-stack/tests/testutils" "github.com/cozy/cozy-stack/web/auth" "github.com/cozy/cozy-stack/web/errors" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" _ "github.com/cozy/cozy-stack/worker/mails" diff --git a/web/sharings/readonly.go b/web/sharings/readonly.go index b269aa774..d4ec78dd1 100644 --- a/web/sharings/readonly.go +++ b/web/sharings/readonly.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/model/sharing" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // AddReadOnly is used to downgrade a read-write member to read-only diff --git a/web/sharings/replicator.go b/web/sharings/replicator.go index 5db511140..fe91979e6 100644 --- a/web/sharings/replicator.go +++ b/web/sharings/replicator.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // RevsDiff is part of the replicator diff --git a/web/sharings/replicator_test.go b/web/sharings/replicator_test.go index d863cf061..34b76e15b 100644 --- a/web/sharings/replicator_test.go +++ b/web/sharings/replicator_test.go @@ -15,8 +15,8 @@ import ( "github.com/cozy/cozy-stack/model/vfs" "github.com/cozy/cozy-stack/pkg/consts" "github.com/cozy/cozy-stack/pkg/couchdb" - "github.com/cozy/echo" - uuid "github.com/satori/go.uuid" + "github.com/gofrs/uuid" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/sharings/revoke.go b/web/sharings/revoke.go index e6304930c..78f58919f 100644 --- a/web/sharings/revoke.go +++ b/web/sharings/revoke.go @@ -8,7 +8,7 @@ import ( "github.com/cozy/cozy-stack/model/sharing" "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // RevokeSharing is used to revoke a sharing by the sharer, for all recipients diff --git a/web/sharings/sharings.go b/web/sharings/sharings.go index 34b2ec729..ecdecf576 100644 --- a/web/sharings/sharings.go +++ b/web/sharings/sharings.go @@ -17,7 +17,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/pkg/limits" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // CreateSharing initializes a new sharing (on the sharer) diff --git a/web/sharings/sharings_test.go b/web/sharings/sharings_test.go index 3d38fd242..68455250d 100644 --- a/web/sharings/sharings_test.go +++ b/web/sharings/sharings_test.go @@ -32,7 +32,7 @@ import ( "github.com/cozy/cozy-stack/web/permissions" "github.com/cozy/cozy-stack/web/sharings" "github.com/cozy/cozy-stack/web/statik" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/statik/handler.go b/web/statik/handler.go index 0cd9e64be..206a78946 100644 --- a/web/statik/handler.go +++ b/web/statik/handler.go @@ -23,7 +23,7 @@ import ( "github.com/cozy/cozy-stack/pkg/utils" web_utils "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/web/middlewares" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/sirupsen/logrus" ) diff --git a/web/status/status.go b/web/status/status.go index e0901eb74..2ea5c220b 100644 --- a/web/status/status.go +++ b/web/status/status.go @@ -9,7 +9,7 @@ import ( "github.com/cozy/cozy-stack/pkg/assets/dynamic" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/couchdb" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Status responds with the status of the service diff --git a/web/status/status_test.go b/web/status/status_test.go index 0ea137085..b6db3317e 100644 --- a/web/status/status_test.go +++ b/web/status/status_test.go @@ -10,7 +10,7 @@ import ( "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/web/errors" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) diff --git a/web/version/version.go b/web/version/version.go index 4e576771c..38208c059 100644 --- a/web/version/version.go +++ b/web/version/version.go @@ -6,7 +6,7 @@ import ( "runtime" build "github.com/cozy/cozy-stack/pkg/config" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) // Version responds with the git commit used at the build diff --git a/worker/exec/konnector.go b/worker/exec/konnector.go index 3346fd26d..86316caaf 100644 --- a/worker/exec/konnector.go +++ b/worker/exec/konnector.go @@ -12,7 +12,6 @@ import ( "strings" "time" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/account" "github.com/cozy/cozy-stack/model/app" "github.com/cozy/cozy-stack/model/instance" @@ -28,6 +27,7 @@ import ( "github.com/cozy/cozy-stack/pkg/realtime" "github.com/cozy/cozy-stack/pkg/registry" "github.com/sirupsen/logrus" + "github.com/spf13/afero" ) const ( diff --git a/worker/exec/konnector_test.go b/worker/exec/konnector_test.go index cd64fc47d..56be9d7dc 100644 --- a/worker/exec/konnector_test.go +++ b/worker/exec/konnector_test.go @@ -7,7 +7,6 @@ import ( "sync" "testing" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/account" "github.com/cozy/cozy-stack/model/app" "github.com/cozy/cozy-stack/model/instance" @@ -20,6 +19,7 @@ import ( "github.com/cozy/cozy-stack/pkg/prefixer" "github.com/cozy/cozy-stack/pkg/realtime" "github.com/cozy/cozy-stack/tests/testutils" + "github.com/spf13/afero" "github.com/stretchr/testify/assert" jwt "gopkg.in/dgrijalva/jwt-go.v3" ) diff --git a/worker/exec/service.go b/worker/exec/service.go index 17434aac1..317ec36ef 100644 --- a/worker/exec/service.go +++ b/worker/exec/service.go @@ -8,13 +8,13 @@ import ( "os" "path" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/app" "github.com/cozy/cozy-stack/model/instance" "github.com/cozy/cozy-stack/model/job" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/consts" "github.com/sirupsen/logrus" + "github.com/spf13/afero" ) // ServiceOptions contains the options to execute a service. diff --git a/worker/mails/exec.go b/worker/mails/exec.go index 287ba2b5a..a227cbdb8 100644 --- a/worker/mails/exec.go +++ b/worker/mails/exec.go @@ -5,12 +5,12 @@ import ( "io" "os" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/job" "github.com/cozy/cozy-stack/pkg/assets" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/utils" "github.com/cozy/cozy-stack/worker/exec" + "github.com/spf13/afero" ) func execMjml(ctx *job.WorkerContext, template []byte) ([]byte, error) { diff --git a/worker/migrations/migrations.go b/worker/migrations/migrations.go index 55882c377..e862fed85 100644 --- a/worker/migrations/migrations.go +++ b/worker/migrations/migrations.go @@ -14,8 +14,8 @@ import ( "github.com/cozy/cozy-stack/pkg/couchdb" "github.com/cozy/cozy-stack/pkg/lock" "github.com/cozy/cozy-stack/pkg/logger" - "github.com/cozy/swift" multierror "github.com/hashicorp/go-multierror" + "github.com/ncw/swift" ) const ( diff --git a/worker/move/archiver.go b/worker/move/archiver.go index 04f34d66d..1d7e6c378 100644 --- a/worker/move/archiver.go +++ b/worker/move/archiver.go @@ -8,12 +8,12 @@ import ( "strconv" "time" - "github.com/cozy/afero" "github.com/cozy/cozy-stack/model/instance" "github.com/cozy/cozy-stack/pkg/config/config" "github.com/cozy/cozy-stack/pkg/crypto" - "github.com/cozy/swift" multierror "github.com/hashicorp/go-multierror" + "github.com/ncw/swift" + "github.com/spf13/afero" ) var ( diff --git a/worker/move/export.go b/worker/move/export.go index a76a21e42..b6343918b 100644 --- a/worker/move/export.go +++ b/worker/move/export.go @@ -25,7 +25,7 @@ import ( "github.com/cozy/cozy-stack/pkg/jsonapi" "github.com/cozy/cozy-stack/pkg/realtime" "github.com/cozy/cozy-stack/pkg/utils" - "github.com/cozy/echo" + "github.com/labstack/echo/v4" ) const ( -- GitLab