Compare commits

...

537 Commits

Author SHA1 Message Date
RW
1f2db3a559 Merge pull request #1144 from mstgnz/main
fix Minio concurrency issues for content type
2023-12-18 09:11:25 +01:00
RW
114b6f30b4 Merge pull request #1149 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.25
Bump github.com/redis/rueidis from 1.0.23 to 1.0.25 in /rueidis
2023-12-18 09:08:06 +01:00
dependabot[bot]
b0b7cfbaa5 Bump github.com/redis/rueidis from 1.0.23 to 1.0.25 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.23 to 1.0.25.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.23...v1.0.25)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 08:06:27 +00:00
mstgnz
9ace74979e Merge branch 'main' of github.com:mstgnz/fiber-storage 2023-12-17 08:48:10 +03:00
mstgnz
9649b7ab48 fix Minio concurrency issues for PutObject 2023-12-17 08:48:02 +03:00
Mesut GENEZ
d2d410527d Merge branch 'gofiber:main' into main 2023-12-17 08:20:24 +03:00
RW
f48f922416 Merge pull request #1147 from gofiber/dependabot/go_modules/azureblob/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.2.1
Bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.2.0 to 1.2.1 in /azureblob
2023-12-15 08:53:10 +01:00
dependabot[bot]
377a7bb219 Bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob in /azureblob
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/v1.2...sdk/azidentity/v1.2.1)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 07:52:08 +00:00
RW
d2ffe89a4d Merge pull request #1145 from gofiber/dependabot/go_modules/minio/github.com/minio/minio-go/v7-7.0.66
Bump github.com/minio/minio-go/v7 from 7.0.65 to 7.0.66 in /minio
2023-12-15 08:41:21 +01:00
dependabot[bot]
21636bce53 Bump github.com/minio/minio-go/v7 from 7.0.65 to 7.0.66 in /minio
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.65 to 7.0.66.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](https://github.com/minio/minio-go/compare/v7.0.65...v7.0.66)

---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 07:40:15 +00:00
Mesut GENEZ
0b3e29b453 Merge branch 'gofiber:main' into main 2023-12-14 20:41:56 +03:00
mstgnz
650c2f14e6 concurrency security fix for content type closed #1142 2023-12-14 20:41:17 +03:00
RW
1f7f41a1ab Merge pull request #1138 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.15.7
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.15.4 to 1.15.7 in /s3
2023-12-11 08:58:35 +01:00
dependabot[bot]
c4b52471d7 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.15.4 to 1.15.7.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.15.7/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.4...config/v1.15.7)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 07:57:23 +00:00
RW
3554e65fda Merge pull request #1137 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.26.1
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.11 to 1.26.1 in /s3
2023-12-11 08:55:59 +01:00
dependabot[bot]
58ad817c74 Bump github.com/aws/aws-sdk-go-v2/config from 1.25.11 to 1.26.1 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.11 to 1.26.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.11...config/v1.26.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 07:54:55 +00:00
RW
55efa84cb8 Merge pull request #1133 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.26.1
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.11 to 1.26.1 in /dynamodb
2023-12-11 08:28:31 +01:00
dependabot[bot]
7c78d51856 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.11 to 1.26.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.11...config/v1.26.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 07:28:18 +00:00
RW
7df9fb3ead Merge pull request #1132 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.12.12
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.12.9 to 1.12.12 in /dynamodb
2023-12-11 08:27:43 +01:00
dependabot[bot]
4fe9ec778f Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.12.9 to 1.12.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/credentials/v1.12.12/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.9...credentials/v1.12.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 07:26:30 +00:00
RW
708f4d3ba2 Merge pull request #1131 from gofiber/dependabot/go_modules/postgres/github.com/jackc/pgx/v5-5.5.1
Bump github.com/jackc/pgx/v5 from 5.5.0 to 5.5.1 in /postgres
2023-12-11 08:21:06 +01:00
dependabot[bot]
64cdfc8a7c Bump github.com/jackc/pgx/v5 from 5.5.0 to 5.5.1 in /postgres
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.5.0 to 5.5.1.
- [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jackc/pgx/compare/v5.5.0...v5.5.1)

---
updated-dependencies:
- dependency-name: github.com/jackc/pgx/v5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 07:19:37 +00:00
RW
9be3b94fb8 Merge pull request #1130 from gofiber/dependabot/go_modules/etcd/go.etcd.io/etcd/client/v3-3.5.11
Bump go.etcd.io/etcd/client/v3 from 3.5.10 to 3.5.11 in /etcd
2023-12-08 08:56:15 +01:00
dependabot[bot]
a348828e17 Bump go.etcd.io/etcd/client/v3 from 3.5.10 to 3.5.11 in /etcd
Bumps [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) from 3.5.10 to 3.5.11.
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](https://github.com/etcd-io/etcd/compare/v3.5.10...v3.5.11)

---
updated-dependencies:
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 07:54:46 +00:00
RW
bd626856ee Merge pull request #1129 from gofiber/dependabot/github_actions/actions/setup-go-5
Bump actions/setup-go from 4 to 5
2023-12-07 09:01:03 +01:00
dependabot[bot]
ad37acae04 Bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 07:58:05 +00:00
RW
4101a01624 Merge pull request #1128 from gofiber/dependabot/go_modules/mongodb/go.mongodb.org/mongo-driver-1.13.1
Bump go.mongodb.org/mongo-driver from 1.13.0 to 1.13.1 in /mongodb
2023-12-07 08:40:07 +01:00
dependabot[bot]
c1f21d6a9e Bump go.mongodb.org/mongo-driver from 1.13.0 to 1.13.1 in /mongodb
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.13.0...v1.13.1)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 07:38:48 +00:00
RW
0274593c1a Merge pull request #1126 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.23
Bump github.com/redis/rueidis from 1.0.22 to 1.0.23 in /rueidis
2023-12-05 09:06:10 +01:00
dependabot[bot]
c4b0384ec6 Bump github.com/redis/rueidis from 1.0.22 to 1.0.23 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.22 to 1.0.23.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.22...v1.0.23)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-05 08:02:58 +00:00
RW
e8b74fb4fa Merge pull request #1122 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.25.11
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.5 to 1.25.11 in /dynamodb
2023-12-04 13:50:54 +01:00
dependabot[bot]
bf58427578 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.5 to 1.25.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.5...config/v1.25.11)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 12:49:38 +00:00
RW
d595e35d0a Merge pull request #1125 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.12.9
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.12.3 to 1.12.9 in /dynamodb
2023-12-04 13:49:01 +01:00
dependabot[bot]
199f089acc Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.12.3 to 1.12.9.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.12.3...credentials/v1.12.9)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 12:47:47 +00:00
RW
1a62adf8c9 Merge pull request #1123 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.23.5
Bump github.com/aws/aws-sdk-go-v2 from 1.23.1 to 1.23.5 in /dynamodb
2023-12-04 09:11:35 +01:00
dependabot[bot]
c8329a9079 Bump github.com/aws/aws-sdk-go-v2 from 1.23.1 to 1.23.5 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.23.1 to 1.23.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.23.1...v1.23.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 08:10:20 +00:00
RW
1840d50c51 Merge pull request #1121 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.26.3
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.25.3 to 1.26.3 in /dynamodb
2023-12-04 09:03:26 +01:00
dependabot[bot]
1984d794bd Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.25.3 to 1.26.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.3...service/s3/v1.26.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 08:02:03 +00:00
RW
98e9960b8a Merge pull request #1116 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.15.4
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.15.3 to 1.15.4 in /s3
2023-12-04 08:14:32 +01:00
dependabot[bot]
1b17ebe75e Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.15.4/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.3...config/v1.15.4)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 07:14:24 +00:00
RW
615ffff3ca Merge pull request #1117 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.25.11
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.10 to 1.25.11 in /s3
2023-12-04 08:13:50 +01:00
dependabot[bot]
7d8c54b7b9 Bump github.com/aws/aws-sdk-go-v2/config from 1.25.10 to 1.25.11 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.10 to 1.25.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.10...config/v1.25.11)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 07:12:44 +00:00
RW
37cac945d7 Merge pull request #1118 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.47.2
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.47.1 to 1.47.2 in /s3
2023-12-04 08:12:06 +01:00
dependabot[bot]
ed111a8863 Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.47.1 to 1.47.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.47.1...service/s3/v1.47.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 07:10:50 +00:00
RW
b6cb0e033a Merge pull request #1115 from gofiber/dependabot/go_modules/minio/github.com/minio/minio-go/v7-7.0.65
Bump github.com/minio/minio-go/v7 from 7.0.64 to 7.0.65 in /minio
2023-12-04 08:10:11 +01:00
dependabot[bot]
8274bf6bcf Bump github.com/minio/minio-go/v7 from 7.0.64 to 7.0.65 in /minio
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.64 to 7.0.65.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](https://github.com/minio/minio-go/compare/v7.0.64...v7.0.65)

---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 07:09:02 +00:00
RW
844d792a9a Merge pull request #1114 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.15.3
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.14.0 to 1.15.3 in /s3
2023-12-01 15:34:27 +01:00
dependabot[bot]
fb7298cbc7 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.14.0 to 1.15.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.14.0...config/v1.15.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 14:33:08 +00:00
RW
792e73cd50 Merge pull request #1112 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.12.3
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.12.2 to 1.12.3 in /dynamodb
2023-11-27 08:34:09 +01:00
RW
1c4c7b5d41 Merge pull request #1105 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.25.5
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.3 to 1.25.5 in /dynamodb
2023-11-27 08:33:34 +01:00
dependabot[bot]
9fea419c52 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.12.2 to 1.12.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.12.2...service/mq/v1.12.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 07:31:44 +00:00
dependabot[bot]
c78b5ddf0d Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.3 to 1.25.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.3...config/v1.25.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 07:31:42 +00:00
RW
2b1b3095d1 Merge pull request #1107 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.16.4
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.16.2 to 1.16.4 in /dynamodb
2023-11-27 08:31:06 +01:00
dependabot[bot]
9f09db82df Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.16.2 to 1.16.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.2...v1.16.4)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 07:29:07 +00:00
RW
a29a7f441b Merge pull request #1109 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.25.3
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.25.2 to 1.25.3 in /dynamodb
2023-11-27 08:28:31 +01:00
dependabot[bot]
99e0744cde Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.25.2 to 1.25.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.2...config/v1.25.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 07:27:03 +00:00
RW
64cf5fce96 Merge pull request #1104 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.25.5
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.3 to 1.25.5 in /s3
2023-11-27 08:26:20 +01:00
dependabot[bot]
aea5de6571 Bump github.com/aws/aws-sdk-go-v2/config from 1.25.3 to 1.25.5 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.3 to 1.25.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.3...config/v1.25.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 07:25:13 +00:00
RW
9c5739619e Merge pull request #1103 from gofiber/dependabot/go_modules/couchbase/github.com/couchbase/gocb/v2-2.7.0
Bump github.com/couchbase/gocb/v2 from 2.6.5 to 2.7.0 in /couchbase
2023-11-22 08:20:34 +01:00
dependabot[bot]
eea44a49a2 Bump github.com/couchbase/gocb/v2 from 2.6.5 to 2.7.0 in /couchbase
Bumps [github.com/couchbase/gocb/v2](https://github.com/couchbase/gocb) from 2.6.5 to 2.7.0.
- [Commits](https://github.com/couchbase/gocb/compare/v2.6.5...v2.7.0)

---
updated-dependencies:
- dependency-name: github.com/couchbase/gocb/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 07:18:33 +00:00
RW
ea88338da0 Merge pull request #1102 from gofiber/dependabot/go_modules/minio/github.com/minio/minio-go/v7-7.0.64
Bump github.com/minio/minio-go/v7 from 7.0.63 to 7.0.64 in /minio
2023-11-21 08:51:53 +01:00
dependabot[bot]
857b7f7752 Bump github.com/minio/minio-go/v7 from 7.0.63 to 7.0.64 in /minio
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.63 to 7.0.64.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](https://github.com/minio/minio-go/compare/v7.0.63...v7.0.64)

---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-21 07:50:47 +00:00
RW
9368c6496f Merge pull request #1100 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.14.0
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.13.8 to 1.14.0 in /s3
2023-11-20 14:15:48 +01:00
dependabot[bot]
a801d63db5 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.13.8 to 1.14.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.14.0/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.13.8...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 13:14:02 +00:00
RW
871e126509 Merge pull request #1101 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.25.3
Bump github.com/aws/aws-sdk-go-v2/config from 1.25.1 to 1.25.3 in /s3
2023-11-20 14:13:21 +01:00
dependabot[bot]
a6206de18a Bump github.com/aws/aws-sdk-go-v2/config from 1.25.1 to 1.25.3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.25.1 to 1.25.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.25.1...config/v1.25.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 13:12:05 +00:00
RW
8960007c0c Merge pull request #1091 from gofiber/dynamic-gosec
Support for dynamic gosec matrix
2023-11-20 09:48:27 +01:00
RW
e019db9fdb Merge pull request #1098 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.16.2
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.16.1 to 1.16.2 in /s3
2023-11-20 09:00:58 +01:00
dependabot[bot]
7bd7b9128a Bump github.com/aws/aws-sdk-go-v2/credentials in /s3
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.16.1 to 1.16.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.1...v1.16.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 07:59:45 +00:00
RW
de2dbe02e6 Merge pull request #1097 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.22
Bump github.com/redis/rueidis from 1.0.21 to 1.0.22 in /rueidis
2023-11-20 08:41:10 +01:00
dependabot[bot]
4b12896f89 Bump github.com/redis/rueidis from 1.0.21 to 1.0.22 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.21...v1.0.22)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 07:39:46 +00:00
RW
0937e7de78 Merge pull request #1093 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.25.3
Bump github.com/aws/aws-sdk-go-v2/config from 1.23.0 to 1.25.3 in /dynamodb
2023-11-20 08:16:43 +01:00
dependabot[bot]
d23c74a8be Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.23.0 to 1.25.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.23.0...config/v1.25.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 07:15:34 +00:00
RW
fcaab92837 Merge pull request #1092 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.16.2
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.15.2 to 1.16.2 in /dynamodb
2023-11-20 08:14:53 +01:00
dependabot[bot]
fb335f7824 Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.15.2 to 1.16.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.2...v1.16.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 07:13:36 +00:00
RW
acb0ac9333 Merge pull request #1095 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.12.2
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.12.1 to 1.12.2 in /dynamodb
2023-11-20 08:12:58 +01:00
dependabot[bot]
04ab11df63 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.12.1 to 1.12.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.12.1...service/mq/v1.12.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 07:11:51 +00:00
Juan Calderon-Perez
eed3f4f839 dont escape json 2023-11-19 15:17:56 -05:00
Juan Calderon-Perez
73bd368b66 Use fromJSON 2023-11-19 15:10:06 -05:00
Juan Calderon-Perez
6f5e3d0829 Dont parse json 2023-11-19 13:21:28 -05:00
Juan Calderon-Perez
18ce1361ef Try to simplify CI 2023-11-19 13:15:44 -05:00
Juan Calderon-Perez
db7b26f315 Change matrix ref 2023-11-19 12:26:20 -05:00
Juan Calderon-Perez
7770b17ee7 Add ** to ignore list 2023-11-19 12:14:14 -05:00
Juan Calderon-Perez
4a07c8cdb9 Add output for debug 2023-11-18 23:37:19 -05:00
Juan Calderon-Perez
c144ab7857 Exclude current workdir 2023-11-18 23:12:07 -05:00
Juan Calderon-Perez
73765194e1 Try using tj-actions/changed-files 2023-11-18 23:10:30 -05:00
Juan Calderon-Perez
f674c88870 Remove filter 2023-11-18 22:38:37 -05:00
Juan Calderon-Perez
6b097d5f9e Add spaces 2023-11-18 20:56:50 -05:00
Juan Calderon-Perez
44b5e1342e Change fetch depth 2023-11-18 20:54:26 -05:00
Juan Calderon-Perez
3705547f92 Modify one file to test new CI 2023-11-18 20:50:53 -05:00
Juan Calderon-Perez
545555c06c Use pre-made gh action 2023-11-18 20:47:47 -05:00
Juan Calderon-Perez
b246201e6b Filter trailing spaces 2023-11-17 09:38:29 -05:00
Juan Calderon-Perez
729be9aea6 Change logic for go.mod files check 2023-11-17 09:35:04 -05:00
Juan Calderon-Perez
99205e09cb Change approach to generate matrix 2023-11-17 09:12:31 -05:00
Juan Calderon-Perez
0ec0680779 Add missing matrix strategy 2023-11-17 09:05:56 -05:00
Juan Calderon-Perez
1f646e2b61 Add missing needs key 2023-11-17 08:41:20 -05:00
Juan Calderon-Perez
2b6f037031 Support for dynamic gosec checks 2023-11-17 08:39:15 -05:00
RW
62d73cb2cf Merge pull request #1087 from gofiber/ci-updates
Support for dynamic golangci-lint matrix
2023-11-17 14:31:17 +01:00
Juan Calderon-Perez
d8c4365480 Cleanup 2023-11-17 08:22:30 -05:00
Juan Calderon-Perez
a707767170 Simplify the generate-matrix step 2023-11-17 08:16:33 -05:00
Juan Calderon-Perez
b904c404bb Check if go.mod exists 2023-11-17 08:13:23 -05:00
Juan Calderon-Perez
9ca3516d39 Add missing FILES variable 2023-11-16 09:18:27 -05:00
Juan Calderon-Perez
58fa288158 Filter for dirs that contain go.mod 2023-11-16 09:15:35 -05:00
Juan Calderon-Perez
38f87f38c2 Try to skip hidden folders this way 2023-11-16 09:08:58 -05:00
Juan Calderon-Perez
42afe64eb3 Skip hidden directories 2023-11-16 09:06:48 -05:00
Juan Calderon-Perez
2a09efbde3 Simplified and add comments 2023-11-16 09:04:27 -05:00
Juan Calderon-Perez
7685bbbdf4 Increase git fetch, compare hashes 2023-11-16 08:58:08 -05:00
Juan Calderon-Perez
da12c5512d Only process folders that have changes 2023-11-16 08:54:14 -05:00
RW
6b7bed5376 Merge branch 'main' into ci-updates 2023-11-16 14:47:55 +01:00
Juan Calderon-Perez
30da7363a0 Fix lint issues with pebble and sqlite3 2023-11-16 08:44:21 -05:00
Juan Calderon-Perez
748f85b33f Fix duplicated code 2023-11-16 08:26:13 -05:00
Juan Calderon-Perez
9190b12c2e Replace NewClient with mongo.Connect 2023-11-16 08:22:40 -05:00
RW
6d1348bb3e Merge pull request #1090 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.13.8
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.13.1 to 1.13.8 in /s3
2023-11-16 09:07:44 +01:00
dependabot[bot]
3e2823bd18 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.13.1 to 1.13.8.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.13.1...service/mq/v1.13.8)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-16 08:03:49 +00:00
Juan Calderon-Perez
4b89c87336 Fix golangci issues with MySQL 2023-11-15 08:48:21 -05:00
Juan Calderon-Perez
fc7438bcda Remove errors import 2023-11-15 08:45:39 -05:00
Juan Calderon-Perez
44604ef0ee Fix golangci-lint issue for AzureBlob 2023-11-15 08:44:39 -05:00
Juan Calderon-Perez
69c06f820e Disable enable-all 2023-11-15 08:40:38 -05:00
Juan Calderon-Perez
dcc5fa9451 Disable filters from reviewdog 2023-11-15 08:37:49 -05:00
Juan Calderon-Perez
5bcfa0af15 Remove verbose 2023-11-15 08:34:46 -05:00
Juan Calderon-Perez
748df3e75a Add timeout and enable all linters 2023-11-15 08:16:42 -05:00
Juan Calderon-Perez
43a6e9526e Enable verbose for golangci-lint 2023-11-15 08:10:21 -05:00
Juan Calderon-Perez
05d962c004 Print matrix directly to env 2023-11-15 08:06:44 -05:00
Juan Calderon-Perez
daaf02865e Fix issue with matrix format 2023-11-15 08:02:47 -05:00
Juan Calderon-Perez
947d230e20 Update set-output, fix keyvalue error with reviewdog 2023-11-15 08:00:02 -05:00
Juan Calderon-Perez
adb9923f11 Support for dynamic golangci-lint matrix 2023-11-15 07:50:48 -05:00
RW
28865821d5 Update sync_docs.sh 2023-11-15 08:51:19 +01:00
RW
34ee199967 Update README.md 2023-11-14 08:45:16 +01:00
RW
1d5440541f Merge pull request #1084 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.22.2
Bump github.com/aws/aws-sdk-go-v2 from 1.22.1 to 1.22.2 in /s3
2023-11-13 08:58:35 +01:00
dependabot[bot]
248aec6d41 Bump github.com/aws/aws-sdk-go-v2 from 1.22.1 to 1.22.2 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.22.1 to 1.22.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.22.1...v1.22.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:57:15 +00:00
RW
63b5368640 Merge pull request #1082 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.42.1
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.42.0 to 1.42.1 in /s3
2023-11-13 08:56:10 +01:00
dependabot[bot]
15d83baed9 Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.42.0 to 1.42.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.42.0...service/s3/v1.42.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:55:20 +00:00
RW
1afcddd49d Merge pull request #1081 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.12.1
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.12.0 to 1.12.1 in /dynamodb
2023-11-13 08:51:11 +01:00
dependabot[bot]
9b70c8a1d1 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/mq/v1.12.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.12.0...service/mq/v1.12.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:49:31 +00:00
RW
0c037083a9 Merge pull request #1080 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.23.0
Bump github.com/aws/aws-sdk-go-v2/config from 1.22.0 to 1.23.0 in /dynamodb
2023-11-13 08:48:37 +01:00
dependabot[bot]
5d13964200 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.22.0 to 1.23.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.22.0...config/v1.23.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:46:58 +00:00
RW
4a697a1eb3 Merge pull request #1079 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.15.2
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.15.1 to 1.15.2 in /dynamodb
2023-11-13 08:46:21 +01:00
dependabot[bot]
35c1f8a24b Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.15.1 to 1.15.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.1...config/v1.15.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:46:12 +00:00
RW
f3cab378cc Merge pull request #1078 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.25.1
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.25.0 to 1.25.1 in /dynamodb
2023-11-13 08:45:37 +01:00
RW
362bbc1e22 Merge pull request #1077 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.22.2
Bump github.com/aws/aws-sdk-go-v2 from 1.22.1 to 1.22.2 in /dynamodb
2023-11-13 08:44:31 +01:00
dependabot[bot]
87cf90e892 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.25.0 to 1.25.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/ecs/v1.25.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.25.0...service/ecs/v1.25.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:44:00 +00:00
dependabot[bot]
0e30a8fd34 Bump github.com/aws/aws-sdk-go-v2 from 1.22.1 to 1.22.2 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.22.1 to 1.22.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.22.1...v1.22.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 07:43:09 +00:00
RW
6ad19f9a74 Merge pull request #1076 from gofiber/dependabot/go_modules/mongodb/go.mongodb.org/mongo-driver-1.13.0
Bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0 in /mongodb
2023-11-08 08:34:10 +01:00
dependabot[bot]
41db66d6fc Bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0 in /mongodb
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.12.1 to 1.13.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.12.1...v1.13.0)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 07:32:44 +00:00
RW
c3897e2922 Merge pull request #1074 from gofiber/dependabot/go_modules/sqlite3/github.com/mattn/go-sqlite3-1.14.18
Bump github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.18 in /sqlite3
2023-11-06 08:42:23 +01:00
dependabot[bot]
2e1212029e Bump github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.18 in /sqlite3
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.17 to 1.14.18.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.17...v1.14.18)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 07:40:46 +00:00
RW
5b6559e084 Merge pull request #1073 from gofiber/dependabot/go_modules/postgres/github.com/jackc/pgx/v5-5.5.0
Bump github.com/jackc/pgx/v5 from 5.4.3 to 5.5.0 in /postgres
2023-11-06 08:09:45 +01:00
dependabot[bot]
32a3153566 Bump github.com/jackc/pgx/v5 from 5.4.3 to 5.5.0 in /postgres
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.4.3 to 5.5.0.
- [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jackc/pgx/compare/v5.4.3...v5.5.0)

---
updated-dependencies:
- dependency-name: github.com/jackc/pgx/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 07:08:06 +00:00
RW
b6cf4057d0 Merge pull request #1053 from gofiber/memory-keys
Add support for Keys() to Memory Driver
2023-11-05 11:20:15 +01:00
RW
d5968313b3 Merge pull request #1052 from gofiber/redis-keys
Add support for Keys() to Redis Driver
2023-11-05 11:19:58 +01:00
RW
7638e00caa Update release-drafter-scylladb.yml 2023-11-03 12:11:19 +01:00
RW
25737614cf Merge pull request #1064 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.13.1
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.91 to 1.13.1 in /s3
2023-11-03 09:00:36 +01:00
RW
ffe12feafa Merge pull request #1065 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.12.0
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.43 to 1.12.0 in /dynamodb
2023-11-03 08:53:59 +01:00
dependabot[bot]
71c101a0fa Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.91 to 1.13.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.13.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.91...config/v1.13.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:49:19 +00:00
RW
a00477e510 Merge pull request #1063 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.22.1
Bump github.com/aws/aws-sdk-go-v2 from 1.21.2 to 1.22.1 in /s3
2023-11-03 08:48:45 +01:00
dependabot[bot]
c3b4b6e96c Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.43 to 1.12.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.12.0/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.43...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:45:47 +00:00
RW
ae8f210306 Merge pull request #1067 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.22.0
Bump github.com/aws/aws-sdk-go-v2/config from 1.19.1 to 1.22.0 in /dynamodb
2023-11-03 08:45:10 +01:00
dependabot[bot]
139b0f4870 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.19.1 to 1.22.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.19.1...v1.22.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:44:44 +00:00
RW
8749583563 Merge pull request #1070 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.25.0
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.23.0 to 1.25.0 in /dynamodb
2023-11-03 08:44:07 +01:00
dependabot[bot]
54fa28a305 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/s3/v1.25.0/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.23.0...service/s3/v1.25.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:40:49 +00:00
RW
ca5ced95d7 Merge pull request #1068 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.15.1
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.43 to 1.15.1 in /dynamodb
2023-11-03 08:40:23 +01:00
dependabot[bot]
5c018e302d Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.43 to 1.15.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.15.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.43...config/v1.15.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:34:09 +00:00
RW
716f5a4878 Merge pull request #1062 from gofiber/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-11-03 08:33:03 +01:00
RW
464c871e79 Merge pull request #1061 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.21
Bump github.com/redis/rueidis from 1.0.20 to 1.0.21 in /rueidis
2023-11-03 08:31:34 +01:00
dependabot[bot]
56a8596fe9 Bump github.com/aws/aws-sdk-go-v2 from 1.21.2 to 1.22.1 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.21.2 to 1.22.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.21.2...v1.22.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:30:22 +00:00
dependabot[bot]
8ba0110b24 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:29:30 +00:00
dependabot[bot]
75ce232c9c Bump github.com/redis/rueidis from 1.0.20 to 1.0.21 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.20 to 1.0.21.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.20...v1.0.21)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 07:29:22 +00:00
RW
602deafe0a Merge pull request #1047 from Chris-Basson-Grundling/main
New Storage Driver: ScyllaDb
2023-11-03 08:28:44 +01:00
RW
07fab67bb1 Merge pull request #1060 from gofiber/dependabot/go_modules/arangodb/github.com/arangodb/go-driver-1.6.1
Bump github.com/arangodb/go-driver from 1.6.0 to 1.6.1 in /arangodb
2023-11-01 08:38:23 +01:00
dependabot[bot]
6b21d0af38 Bump github.com/arangodb/go-driver from 1.6.0 to 1.6.1 in /arangodb
Bumps [github.com/arangodb/go-driver](https://github.com/arangodb/go-driver) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/arangodb/go-driver/releases)
- [Changelog](https://github.com/arangodb/go-driver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/arangodb/go-driver/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/arangodb/go-driver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 07:37:03 +00:00
RW
9c99c74835 Merge pull request #1059 from gofiber/dependabot/go_modules/redis/github.com/redis/go-redis/v9-9.3.0
Bump github.com/redis/go-redis/v9 from 9.2.1 to 9.3.0 in /redis
2023-11-01 08:05:52 +01:00
dependabot[bot]
05c797f133 Bump github.com/redis/go-redis/v9 from 9.2.1 to 9.3.0 in /redis
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.2.1 to 9.3.0.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.2.1...v9.3.0)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 07:03:58 +00:00
RW
894f364785 Merge pull request #1057 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.19.1
Bump github.com/aws/aws-sdk-go-v2/config from 1.19.0 to 1.19.1 in /s3
2023-10-30 08:57:34 +01:00
dependabot[bot]
b607828b9d Bump github.com/aws/aws-sdk-go-v2/config from 1.19.0 to 1.19.1 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.19.0 to 1.19.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.19.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 07:56:17 +00:00
RW
32c87e29aa Merge pull request #1056 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.19.1
Bump github.com/aws/aws-sdk-go-v2/config from 1.19.0 to 1.19.1 in /dynamodb
2023-10-30 08:33:30 +01:00
dependabot[bot]
ee8aa518e5 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.19.0 to 1.19.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.19.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 07:32:12 +00:00
RW
aebce6444e Merge pull request #1055 from gofiber/dependabot/go_modules/coherence/github.com/oracle/coherence-go-client-1.0.3
Bump github.com/oracle/coherence-go-client from 1.0.2 to 1.0.3 in /coherence
2023-10-30 08:27:17 +01:00
RW
3ee7537cc8 Merge branch 'main' into dependabot/go_modules/coherence/github.com/oracle/coherence-go-client-1.0.3 2023-10-30 08:21:20 +01:00
RW
7091428842 Merge pull request #1054 from gofiber/dependabot/go_modules/etcd/go.etcd.io/etcd/client/v3-3.5.10
Bump go.etcd.io/etcd/client/v3 from 3.5.9 to 3.5.10 in /etcd
2023-10-30 08:14:41 +01:00
dependabot[bot]
6d79796597 Bump github.com/oracle/coherence-go-client in /coherence
Bumps [github.com/oracle/coherence-go-client](https://github.com/oracle/coherence-go-client) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/oracle/coherence-go-client/releases)
- [Commits](https://github.com/oracle/coherence-go-client/compare/v1.0.2...v1.0.3)

---
updated-dependencies:
- dependency-name: github.com/oracle/coherence-go-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 07:13:51 +00:00
dependabot[bot]
fbf0bbef5c Bump go.etcd.io/etcd/client/v3 from 3.5.9 to 3.5.10 in /etcd
Bumps [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) from 3.5.9 to 3.5.10.
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](https://github.com/etcd-io/etcd/compare/v3.5.9...v3.5.10)

---
updated-dependencies:
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 07:13:09 +00:00
Juan Calderon-Perez
50bea20332 Update empty check, value should be Nil 2023-10-29 21:04:03 -04:00
Juan Calderon-Perez
22f4401661 Add fix to verify Keys are expired during Keys() call. 2023-10-29 21:00:43 -04:00
Juan Calderon-Perez
0e92f332da Fix check for no keys 2023-10-29 20:48:39 -04:00
Juan Calderon-Perez
7921dc7e37 Add support for Keys() to Memory Driver 2023-10-29 20:42:46 -04:00
Juan Calderon-Perez
0b9f4aebc8 Create a testStore per test 2023-10-29 20:24:11 -04:00
Juan Calderon-Perez
2143a67c8d Add sleep after creating Redis Cluster 2023-10-29 20:06:45 -04:00
Juan Calderon-Perez
3b5d81397c Add support for Keys() to Redis Driver 2023-10-29 20:01:23 -04:00
Chris Grundling
af89d59508 Merge branch 'main' into main 2023-10-27 11:42:14 +02:00
chris.grundling
74f7e9b4c9 Updated checks for empty string, updated error messages 2023-10-27 11:29:35 +02:00
RW
ddac78a1dd Merge pull request #1050 from gofiber/dependabot/go_modules/bbolt/go.etcd.io/bbolt-1.3.8
Bump go.etcd.io/bbolt from 1.3.7 to 1.3.8 in /bbolt
2023-10-27 09:13:23 +02:00
dependabot[bot]
0591ba2589 Bump go.etcd.io/bbolt from 1.3.7 to 1.3.8 in /bbolt
Bumps [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt) from 1.3.7 to 1.3.8.
- [Release notes](https://github.com/etcd-io/bbolt/releases)
- [Commits](https://github.com/etcd-io/bbolt/compare/v1.3.7...v1.3.8)

---
updated-dependencies:
- dependency-name: go.etcd.io/bbolt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-27 07:12:17 +00:00
chris.grundling
f602540e53 Updated set to use default scylladb ttl, updated tests 2023-10-26 18:03:26 +02:00
chris.grundling
05194dded6 Updated get expiration compare 2023-10-26 15:43:07 +02:00
chris.grundling
957cba4743 Merge branch 'main' of github.com:Chris-Basson-Grundling/ScyllaDB 2023-10-26 15:30:44 +02:00
chris.grundling
2a41f5c60f Updated replace in go mod, updated Expiration test 2023-10-26 15:26:18 +02:00
Juan Calderon-Perez
f6eab90d0b Merge branch 'main' into main 2023-10-25 22:07:01 -04:00
RW
f415c93d8b Merge pull request #1049 from gofiber/dependabot/go_modules/etcd/google.golang.org/grpc-1.57.1
Bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /etcd
2023-10-25 23:38:37 +02:00
dependabot[bot]
cf8e97a71b Bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /etcd
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.57.0 to 1.57.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.57.0...v1.57.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 21:37:18 +00:00
RW
ac0c464e5b Merge pull request #1048 from gofiber/dependabot/go_modules/coherence/google.golang.org/grpc-1.57.1
Bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /coherence
2023-10-25 23:28:57 +02:00
dependabot[bot]
4457e96f9b Bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /coherence
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.57.0 to 1.57.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.57.0...v1.57.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 21:26:46 +00:00
chris.grundling
ddb765f758 Updated Benchmarks to align with all. 2023-10-25 20:48:50 +02:00
chris.grundling
cd80e17ce8 Updated README 2023-10-25 20:34:43 +02:00
chris.grundling
edb77f865f Added TLS support, Updated README, Added Benchmark tests 2023-10-25 20:29:31 +02:00
chris.grundling
a2e3e4fced Updated benchmark 2023-10-25 06:41:06 +02:00
chris.grundling
c3431ff1af Updated main README, updated benchmark 2023-10-25 06:34:06 +02:00
chris.grundling
62ebac1d4f Updated test-scylladb, README and tests to use testify for Asserts 2023-10-25 06:06:04 +02:00
chris.grundling
3f4bff91cd ScyllaDb readme cleanup, added set port from config. 2023-10-24 23:46:44 +02:00
Chris Grundling
fc00b7501c Merge branch 'gofiber:main' into main 2023-10-24 23:32:57 +02:00
chris.grundling
2ba3adef60 Updated Scylladb 2023-10-24 23:21:12 +02:00
RW
fba0b33855 Merge pull request #1046 from gofiber/dependabot/github_actions/actions/setup-node-4
Bump actions/setup-node from 3 to 4
2023-10-24 22:51:54 +02:00
chris.grundling
f33ba7493c Updated test-scylladb 2023-10-24 22:03:17 +02:00
chris.grundling
1a9f3e144e Updated test-scylladb 2023-10-24 21:37:52 +02:00
chris.grundling
0732a00253 Updated tests-scylladb and readme 2023-10-24 21:34:03 +02:00
chris.grundling
2f5ae09380 New Storage Driver: ScyllaDb 2023-10-24 21:16:48 +02:00
dependabot[bot]
1d0a80e362 Bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-24 07:54:54 +00:00
RW
7e70887486 Merge pull request #1045 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.91
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.90 to 1.11.91 in /s3
2023-10-23 09:57:48 +02:00
dependabot[bot]
99e619ca77 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.90 to 1.11.91.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.90...feature/s3/manager/v1.11.91)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 07:57:14 +00:00
RW
875a5f3081 Merge pull request #1044 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.19.0
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.45 to 1.19.0 in /s3
2023-10-23 09:56:36 +02:00
dependabot[bot]
23cac43c89 Bump github.com/aws/aws-sdk-go-v2/config from 1.18.45 to 1.19.0 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.45 to 1.19.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.19.0/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.45...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 07:55:13 +00:00
RW
6e44e3c729 Merge pull request #1043 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.19.0
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.45 to 1.19.0 in /dynamodb
2023-10-23 09:48:23 +02:00
dependabot[bot]
8a2be493cb Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.45 to 1.19.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.19.0/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.45...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 07:46:42 +00:00
RW
b5a1f8aec4 Merge pull request #1041 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.43
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.42 to 1.10.43 in /dynamodb
2023-10-23 09:46:33 +02:00
dependabot[bot]
d7b4cc8c6c Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.42 to 1.10.43.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.42...feature/dynamodb/attributevalue/v1.10.43)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 07:45:10 +00:00
RW
318be60fa9 Merge pull request #1040 from gofiber/dependabot/go_modules/couchbase/github.com/couchbase/gocb/v2-2.6.5
Bump github.com/couchbase/gocb/v2 from 2.6.4 to 2.6.5 in /couchbase
2023-10-19 09:58:54 +02:00
dependabot[bot]
56cbe84675 Bump github.com/couchbase/gocb/v2 from 2.6.4 to 2.6.5 in /couchbase
Bumps [github.com/couchbase/gocb/v2](https://github.com/couchbase/gocb) from 2.6.4 to 2.6.5.
- [Commits](https://github.com/couchbase/gocb/compare/v2.6.4...v2.6.5)

---
updated-dependencies:
- dependency-name: github.com/couchbase/gocb/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 07:56:38 +00:00
RW
91db8c2e5d Merge pull request #1039 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.20
Bump github.com/redis/rueidis from 1.0.19 to 1.0.20 in /rueidis
2023-10-18 10:07:38 +02:00
dependabot[bot]
e02ca45688 Bump github.com/redis/rueidis from 1.0.19 to 1.0.20 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.19 to 1.0.20.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.19...v1.0.20)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18 08:05:42 +00:00
RW
f864d67dbc Merge pull request #1038 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.90
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.89 to 1.11.90 in /s3
2023-10-16 10:07:39 +02:00
RW
863767bc9f Merge pull request #1031 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.42
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.41 to 1.10.42 in /dynamodb
2023-10-16 10:06:06 +02:00
dependabot[bot]
dca7968160 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.89 to 1.11.90.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.89...feature/s3/manager/v1.11.90)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 08:03:36 +00:00
RW
2fd96adf12 Merge pull request #1036 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.40.2
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.40.1 to 1.40.2 in /s3
2023-10-16 10:02:03 +02:00
dependabot[bot]
ec64c27225 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.41 to 1.10.42.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.41...feature/dynamodb/attributevalue/v1.10.42)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:59:04 +00:00
dependabot[bot]
0dd355a984 Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.40.1 to 1.40.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.40.1...service/s3/v1.40.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:58:55 +00:00
RW
495f9835f2 Merge pull request #1032 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.45
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.44 to 1.18.45 in /dynamodb
2023-10-16 09:58:17 +02:00
dependabot[bot]
eb70c9cef1 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.44 to 1.18.45.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.44...config/v1.18.45)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:56:57 +00:00
RW
93c051e1a7 Merge pull request #1034 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.45
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.44 to 1.18.45 in /s3
2023-10-16 09:56:21 +02:00
dependabot[bot]
e86e48703c Bump github.com/aws/aws-sdk-go-v2/config from 1.18.44 to 1.18.45 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.44 to 1.18.45.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.44...config/v1.18.45)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:54:54 +00:00
RW
145a7fe255 Merge pull request #1033 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.21.2
Bump github.com/aws/aws-sdk-go-v2 from 1.21.1 to 1.21.2 in /dynamodb
2023-10-16 09:17:37 +02:00
dependabot[bot]
ba555c5a34 Bump github.com/aws/aws-sdk-go-v2 from 1.21.1 to 1.21.2 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.21.1 to 1.21.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.21.1...v1.21.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:15:55 +00:00
RW
b2f5e6ceb7 Merge pull request #1030 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.43
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.42 to 1.13.43 in /dynamodb
2023-10-16 09:15:01 +02:00
dependabot[bot]
5eb19f802b Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.42 to 1.13.43.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.42...credentials/v1.13.43)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:14:21 +00:00
RW
23131b83cc Merge pull request #1029 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.22.2
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.22.1 to 1.22.2 in /dynamodb
2023-10-16 09:13:45 +02:00
dependabot[bot]
2ec67be1e9 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.22.1 to 1.22.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/eks/v1.22.2/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/eks/v1.22.1...service/eks/v1.22.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 07:12:32 +00:00
RW
e0807d0fb3 Merge pull request #1028 from gofiber/dependabot/go_modules/coherence/github.com/oracle/coherence-go-client-1.0.2
Bump github.com/oracle/coherence-go-client from 1.0.1 to 1.0.2 in /coherence
2023-10-12 09:53:55 +02:00
dependabot[bot]
25c0384af3 Bump github.com/oracle/coherence-go-client in /coherence
Bumps [github.com/oracle/coherence-go-client](https://github.com/oracle/coherence-go-client) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/oracle/coherence-go-client/releases)
- [Commits](https://github.com/oracle/coherence-go-client/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: github.com/oracle/coherence-go-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 07:51:36 +00:00
RW
a10c5eb812 Merge pull request #1027 from gofiber/dependabot/go_modules/azureblob/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.2.0
Bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.1.0 to 1.2.0 in /azureblob
2023-10-12 09:36:05 +02:00
dependabot[bot]
5cb28ee173 Bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob in /azureblob
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/v1.1...v1.2)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 07:35:01 +00:00
RW
b486d160a8 Merge pull request #1019 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.41
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.40 to 1.10.41 in /dynamodb
2023-10-11 23:22:32 +02:00
dependabot[bot]
afd4517c53 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.40 to 1.10.41.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.40...feature/dynamodb/attributevalue/v1.10.41)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 21:20:47 +00:00
RW
dc9461d2cc Merge pull request #1024 from gofiber/dependabot/go_modules/minio/golang.org/x/net-0.17.0
Bump golang.org/x/net from 0.14.0 to 0.17.0 in /minio
2023-10-11 23:20:08 +02:00
dependabot[bot]
433533050c Bump golang.org/x/net from 0.14.0 to 0.17.0 in /minio
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 21:15:51 +00:00
RW
f9e45829b1 Merge pull request #1020 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.22.1
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.22.0 to 1.22.1 in /dynamodb
2023-10-11 23:15:28 +02:00
RW
d4e50f8263 Merge pull request #1025 from gofiber/dependabot/go_modules/azureblob/golang.org/x/net-0.17.0
Bump golang.org/x/net from 0.14.0 to 0.17.0 in /azureblob
2023-10-11 23:14:52 +02:00
RW
6b04025154 Merge pull request #1022 from gofiber/dependabot/go_modules/etcd/golang.org/x/net-0.17.0
Bump golang.org/x/net from 0.14.0 to 0.17.0 in /etcd
2023-10-11 23:14:42 +02:00
dependabot[bot]
17f8641ece Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.22.0 to 1.22.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/eks/v1.22.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.22.0...service/eks/v1.22.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 21:11:24 +00:00
dependabot[bot]
3780da9230 Bump golang.org/x/net from 0.14.0 to 0.17.0 in /azureblob
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 21:11:12 +00:00
dependabot[bot]
5f6130f3d0 Bump golang.org/x/net from 0.14.0 to 0.17.0 in /etcd
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 21:10:48 +00:00
RW
a5acb4cc84 Merge pull request #1021 from gofiber/dependabot/go_modules/badger/golang.org/x/net-0.17.0
Bump golang.org/x/net from 0.14.0 to 0.17.0 in /badger
2023-10-11 23:09:54 +02:00
dependabot[bot]
27086258a6 Bump golang.org/x/net from 0.14.0 to 0.17.0 in /badger
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 21:08:32 +00:00
RW
83194711c3 Merge pull request #1012 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.89
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.87 to 1.11.89 in /s3
2023-10-09 09:27:26 +02:00
dependabot[bot]
d809bc6240 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.87 to 1.11.89.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.87...feature/s3/manager/v1.11.89)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 07:26:04 +00:00
RW
51a3d39536 Merge pull request #1016 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.44
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.42 to 1.18.44 in /dynamodb
2023-10-09 09:25:37 +02:00
dependabot[bot]
c2a09a1e85 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.42 to 1.18.44.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.42...config/v1.18.44)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 07:24:07 +00:00
RW
11ea30d1ed Merge pull request #1011 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.40.1
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.40.0 to 1.40.1 in /s3
2023-10-09 09:06:20 +02:00
dependabot[bot]
8f916fde3c Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.40.0 to 1.40.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.40.0...service/s3/v1.40.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 07:05:09 +00:00
RW
26aac40a50 Merge pull request #1008 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.87
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.86 to 1.11.87 in /s3
2023-10-02 09:43:33 +02:00
dependabot[bot]
9f2fbc07fa Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.86 to 1.11.87.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.86...feature/s3/manager/v1.11.87)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 07:42:18 +00:00
RW
502cb1dd74 Merge pull request #1009 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.40
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.39 to 1.10.40 in /dynamodb
2023-10-02 09:41:35 +02:00
dependabot[bot]
c92df2a45b Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.39 to 1.10.40.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.39...feature/dynamodb/attributevalue/v1.10.40)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 07:40:18 +00:00
RW
f0b304a0c6 Merge pull request #1007 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.40.0
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.39.0 to 1.40.0 in /s3
2023-10-02 09:34:08 +02:00
dependabot[bot]
9ad80e96c2 Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.39.0...service/s3/v1.40.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 07:32:51 +00:00
RW
3e53b6f96f Merge pull request #1005 from gofiber/dependabot/go_modules/redis/github.com/redis/go-redis/v9-9.2.1
Bump github.com/redis/go-redis/v9 from 9.2.0 to 9.2.1 in /redis
2023-09-28 09:23:57 +02:00
dependabot[bot]
d18325dea7 Bump github.com/redis/go-redis/v9 from 9.2.0 to 9.2.1 in /redis
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.2.0 to 9.2.1.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.2.0...v9.2.1)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-28 07:21:09 +00:00
RW
46c9ec665a Merge pull request #1004 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.19
Bump github.com/redis/rueidis from 1.0.18 to 1.0.19 in /rueidis
2023-09-27 09:26:49 +02:00
dependabot[bot]
d77dda57c2 Bump github.com/redis/rueidis from 1.0.18 to 1.0.19 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.18 to 1.0.19.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.18...v1.0.19)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-27 07:25:00 +00:00
RW
133e1b134b Merge pull request #1003 from gofiber/dependabot/go_modules/couchbase/github.com/couchbase/gocb/v2-2.6.4
Bump github.com/couchbase/gocb/v2 from 2.6.3 to 2.6.4 in /couchbase
2023-09-27 09:23:52 +02:00
dependabot[bot]
bdf3fafbac Bump github.com/couchbase/gocb/v2 from 2.6.3 to 2.6.4 in /couchbase
Bumps [github.com/couchbase/gocb/v2](https://github.com/couchbase/gocb) from 2.6.3 to 2.6.4.
- [Commits](https://github.com/couchbase/gocb/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: github.com/couchbase/gocb/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-27 07:21:52 +00:00
RW
a8098ce577 Update README.md 2023-09-26 15:14:55 +02:00
RW
807d903176 Merge pull request #1002 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.42
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.39 to 1.18.42 in /dynamodb
2023-09-25 10:00:24 +02:00
dependabot[bot]
0c546d9a05 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.39 to 1.18.42.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.39...config/v1.18.42)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 08:00:11 +00:00
RW
6939eda25d Merge pull request #1001 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.40
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.37 to 1.13.40 in /dynamodb
2023-09-25 09:59:34 +02:00
dependabot[bot]
be00cc356c Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.37 to 1.13.40.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.37...credentials/v1.13.40)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 07:58:09 +00:00
RW
5fd61e7460 Merge pull request #1000 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.86
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.83 to 1.11.86 in /s3
2023-09-25 09:31:02 +02:00
dependabot[bot]
a82ac381aa Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.83 to 1.11.86.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.83...feature/s3/manager/v1.11.86)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 07:29:21 +00:00
RW
a0500b170a Merge pull request #999 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.42
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.39 to 1.18.42 in /s3
2023-09-25 09:28:25 +02:00
dependabot[bot]
0bc7d51380 Bump github.com/aws/aws-sdk-go-v2/config from 1.18.39 to 1.18.42 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.39 to 1.18.42.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.39...config/v1.18.42)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 07:27:56 +00:00
RW
eb86e00a79 Merge pull request #998 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.13.40
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.37 to 1.13.40 in /s3
2023-09-25 09:27:07 +02:00
dependabot[bot]
d33d3cae34 Bump github.com/aws/aws-sdk-go-v2/credentials in /s3
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.37 to 1.13.40.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.37...credentials/v1.13.40)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 07:27:00 +00:00
RW
e410768f7f Merge pull request #997 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.39.0
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.5 to 1.39.0 in /s3
2023-09-25 09:26:26 +02:00
dependabot[bot]
421b7f81fd Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.38.5 to 1.39.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.38.5...service/s3/v1.39.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 07:24:54 +00:00
RW
747f025819 Merge pull request #996 from gofiber/dependabot/go_modules/redis/github.com/redis/go-redis/v9-9.2.0
Bump github.com/redis/go-redis/v9 from 9.1.0 to 9.2.0 in /redis
2023-09-21 09:44:24 +02:00
dependabot[bot]
66e0f69437 Bump github.com/redis/go-redis/v9 from 9.1.0 to 9.2.0 in /redis
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.1.0 to 9.2.0.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.1.0...v9.2.0)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 07:42:45 +00:00
RW
4b59c5aa07 Merge pull request #994 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.18
Bump github.com/redis/rueidis from 1.0.17 to 1.0.18 in /rueidis
2023-09-18 09:19:01 +02:00
dependabot[bot]
f7dbcd1fca Bump github.com/redis/rueidis from 1.0.17 to 1.0.18 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.17 to 1.0.18.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.17...v1.0.18)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 07:17:15 +00:00
RW
499d8aa343 Merge pull request #992 from gofiber/add-benchmarks
Add benchmarks for storage drivers
2023-09-18 07:50:00 +02:00
RW
aeb7a24789 Merge pull request #993 from gofiber/rueidis-cachettl
Increase default CacheTTL for Rueidis Driver
2023-09-18 07:48:40 +02:00
Juan Calderon-Perez
946562e2a5 Update config.go 2023-09-16 12:51:55 -04:00
Juan Calderon-Perez
558ec79281 Update README.md 2023-09-16 12:51:17 -04:00
Muhammed Efe Cetin
f113998db1 fix redis tests 2023-09-16 19:49:48 +03:00
Muhammed Efe Cetin
f39724354c fix benchmark workflow 2023-09-15 19:23:25 +03:00
Muhammed Efe Cetin
db1dd2bf6a update delete benchmarks 2023-09-15 18:23:02 +03:00
Muhammed Efe Cetin
36dd674d93 add TestMain for a few storages and update benchmark workflow 2023-09-15 16:54:25 +03:00
Muhammed Efe Cetin
55eca1c7b2 use testify on coherence storage 2023-09-15 00:19:11 +03:00
Muhammed Efe Cetin
d17795a9a9 add benchmark workflow 2023-09-15 00:05:56 +03:00
Muhammed Efe Cetin
68d59280d8 add benchmarks for all storages 2023-09-15 00:02:13 +03:00
RW
f8afad537f Merge pull request #991 from tmiddlet2666/coherence-update
Clean up and fix minor issues with default handling
2023-09-13 08:31:26 +02:00
RW
468d82d9f7 Merge pull request #983 from gofiber/rueidis-parseurl
Add support for ParseURL to rueidis driver
2023-09-13 08:29:23 +02:00
RW
54245b2520 Merge pull request #982 from gofiber/issue-981
Support for using options.TLSConfig if returned by redis.ParseURL()
2023-09-13 08:28:13 +02:00
RW
1af49ff41d Merge branch 'main' into issue-981 2023-09-13 08:23:51 +02:00
RW
a21d4daae0 Merge pull request #980 from mstgnz/main
Minio README
2023-09-13 08:22:53 +02:00
Tim Middleton
7825d579b4 Clean up and fix minor issues with default handling 2023-09-13 13:17:13 +08:00
Juan Calderon-Perez
2e4b0128fa Merge branch 'main' into main 2023-09-11 21:35:09 -04:00
Juan Calderon-Perez
a19da2b7c9 Merge branch 'main' into rueidis-parseurl 2023-09-11 09:14:48 -04:00
Juan Calderon-Perez
57e79dffb1 Merge branch 'main' into issue-981 2023-09-11 09:14:34 -04:00
RW
8c18ced1a7 Merge pull request #988 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.83
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.82 to 1.11.83 in /s3
2023-09-11 09:48:48 +02:00
dependabot[bot]
8dd8253afb Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.82 to 1.11.83.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.82...feature/s3/manager/v1.11.83)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 07:47:20 +00:00
RW
29370b8740 Merge pull request #986 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.39
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.38 to 1.18.39 in /s3
2023-09-11 09:46:39 +02:00
dependabot[bot]
4501c4f5cd Bump github.com/aws/aws-sdk-go-v2/config from 1.18.38 to 1.18.39 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.38 to 1.18.39.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.38...config/v1.18.39)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 07:45:13 +00:00
RW
192b1a1bd1 Merge pull request #985 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.39
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.38 to 1.18.39 in /dynamodb
2023-09-11 09:41:27 +02:00
dependabot[bot]
abc64d7e19 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.38 to 1.18.39.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.38...config/v1.18.39)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 07:40:29 +00:00
RW
6c47c82c78 Merge pull request #984 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.37
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.36 to 1.13.37 in /dynamodb
2023-09-11 09:39:53 +02:00
dependabot[bot]
edb86a96cc Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.36 to 1.13.37.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.36...credentials/v1.13.37)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 07:38:00 +00:00
Juan Calderon-Perez
0f229274e6 Add support for ParseURL to rueidis driver 2023-09-09 23:27:16 -04:00
Juan Calderon-Perez
78cfcf3206 Add instance of Redis without MTLS to workflow 2023-09-09 22:44:46 -04:00
Juan Calderon-Perez
e41f3e4131 Test against secure rediss URL 2023-09-09 22:33:25 -04:00
Juan Calderon-Perez
0170bdc737 Update TLS script 2023-09-09 22:29:00 -04:00
Juan Calderon-Perez
d38f0f35f9 Try both CN and SAN 2023-09-09 22:19:02 -04:00
Juan Calderon-Perez
c1055478ef Golang requires the hostname to be in the CN 2023-09-09 22:11:54 -04:00
Juan Calderon-Perez
88ce7d5d82 Add openssl options to cnf file 2023-09-09 22:08:30 -04:00
Juan Calderon-Perez
7eec5856a3 Fix SSL command 2023-09-09 22:03:51 -04:00
Juan Calderon-Perez
e357a9c813 Add subjectAltName to openssl command 2023-09-09 21:59:40 -04:00
Juan Calderon-Perez
967b2258b9 Add sudo to step 2023-09-09 21:54:55 -04:00
Juan Calderon-Perez
f5c4a78fb1 Add support for using Custom CA, add test that forces SSL verification 2023-09-09 21:53:57 -04:00
Juan Calderon-Perez
7e2c6a3e62 Update tests to use new SSL script 2023-09-09 21:44:24 -04:00
Juan Calderon-Perez
89c473aac7 Use Redis Options TLSConfig if returned 2023-09-09 21:32:28 -04:00
mstgnz
c9efab145d Update README 2023-09-09 10:14:25 +03:00
Mesut GENEZ
89be8f9d56 Merge branch 'gofiber:main' into main 2023-09-09 09:28:40 +03:00
mstgnz
a5b0a78828 Update README 2023-09-09 09:27:10 +03:00
mstgnz
6be213707b Update README 2023-09-09 09:25:07 +03:00
RW
0e55883f05 Merge pull request #979 from tmiddlet2666/coherence-storage
Fix incorrect default timeout value for Coherence storage driver
2023-09-07 10:11:33 +02:00
RW
033c8f432d Merge branch 'main' into coherence-storage 2023-09-07 09:25:19 +02:00
Tim Middleton
dc9bb23ade Fix incorrect default timeout value for Coherence storage driver 2023-09-07 15:22:55 +08:00
RW
629c25208d Merge pull request #978 from iredmail/main
s3: New methods: CreateBucket, DeleteBucket, SetWithChecksum.
2023-09-07 09:19:10 +02:00
Zhang Huangbin
bf6aa0132c Typo 2023-09-07 10:17:38 +08:00
Zhang Huangbin
4dfe51aa01 Fix incorrect checksum (base64 encoded).
Create bucket in unittest instead of GitHub Actions.
2023-09-06 08:45:46 +08:00
Zhang Huangbin
e735c69371 S3: Add RequestTimeout in unittest. 2023-09-05 17:34:55 +08:00
Zhang Huangbin
ae41d2f5c1 Init testStore in init(). 2023-09-05 17:17:31 +08:00
Zhang Huangbin
dc00bab703 Init testStore in first load test file. 2023-09-05 17:07:43 +08:00
Zhang Huangbin
d06fbfc7f3 Fix incorrect sum. 2023-09-05 16:47:36 +08:00
Zhang Huangbin
e09d83368c Fix incorrect sum. 2023-09-05 16:39:19 +08:00
Zhang Huangbin
1ddcc7b3fc Add example in README.
Use `map[string][]byte` instead of `map[string]string`.
2023-09-05 16:27:09 +08:00
RW
db6c457d5c Merge branch 'main' into main 2023-09-05 10:21:09 +02:00
RW
1e3b3f6a5e Merge pull request #977 from gofiber/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-05 10:20:48 +02:00
Zhang Huangbin
26c755f312 New: SetWithChecksum. 2023-09-05 16:01:32 +08:00
dependabot[bot]
095dbdbf59 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 06:16:40 +00:00
RW
f9a87273bb Merge pull request #962 from mstgnz/main
New Storage Driver: Minio
2023-09-05 08:15:29 +02:00
Juan Calderon-Perez
b6dbad7d88 Update test-minio.yml 2023-09-04 17:42:12 -04:00
Juan Calderon-Perez
8400db5161 Update test-minio.yml 2023-09-04 17:34:35 -04:00
Mesut GENEZ
2e2f6ca4de Merge branch 'main' into main 2023-09-04 11:06:33 +03:00
RW
04d063e759 Merge pull request #976 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.38
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.37 to 1.18.38 in /dynamodb
2023-09-04 09:56:48 +02:00
dependabot[bot]
e50171cdf4 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.37 to 1.18.38.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.37...config/v1.18.38)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 07:55:01 +00:00
RW
ffd79887c1 Merge pull request #973 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.36
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.35 to 1.13.36 in /dynamodb
2023-09-04 09:54:03 +02:00
dependabot[bot]
994023df1e Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.35 to 1.13.36.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.35...credentials/v1.13.36)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 07:53:56 +00:00
RW
e8756d084b Merge pull request #972 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.82
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.81 to 1.11.82 in /s3
2023-09-04 09:52:45 +02:00
dependabot[bot]
919f7f5ae7 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.81 to 1.11.82.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.81...feature/s3/manager/v1.11.82)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 07:51:18 +00:00
RW
f98f6ff9e0 Merge pull request #971 from gofiber/dependabot/go_modules/rueidis/github.com/redis/rueidis-1.0.17
Bump github.com/redis/rueidis from 1.0.16 to 1.0.17 in /rueidis
2023-09-04 09:22:20 +02:00
dependabot[bot]
b70ea3d72a Bump github.com/redis/rueidis from 1.0.16 to 1.0.17 in /rueidis
Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.16 to 1.0.17.
- [Release notes](https://github.com/redis/rueidis/releases)
- [Commits](https://github.com/redis/rueidis/compare/v1.0.16...v1.0.17)

---
updated-dependencies:
- dependency-name: github.com/redis/rueidis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 07:20:19 +00:00
mstgnz
6eba76bd26 fix bytebufferpool 2023-09-03 11:09:44 +03:00
Mesut GENEZ
fee5f98406 Merge branch 'main' into main 2023-09-02 14:36:55 +03:00
René Werner
551552f67f add memory release drafter workflow 2023-09-01 11:22:20 +02:00
RW
6cff923227 Merge pull request #969 from gofiber/dependabot/go_modules/mssql/github.com/microsoft/go-mssqldb-1.6.0
Bump github.com/microsoft/go-mssqldb from 1.5.0 to 1.6.0 in /mssql
2023-09-01 09:32:52 +02:00
dependabot[bot]
1399f55ed4 Bump github.com/microsoft/go-mssqldb from 1.5.0 to 1.6.0 in /mssql
Bumps [github.com/microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/microsoft/go-mssqldb/releases)
- [Changelog](https://github.com/microsoft/go-mssqldb/blob/main/CHANGELOG.md)
- [Commits](https://github.com/microsoft/go-mssqldb/compare/v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/microsoft/go-mssqldb
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 07:31:00 +00:00
mstgnz
79fdc2ef78 fix get 2023-08-31 14:06:12 +03:00
Mesut GENEZ
f4a12a2a3b Merge branch 'main' into main 2023-08-29 18:53:51 +03:00
mstgnz
edf7bf23e3 added yo bytebufferpool 2023-08-29 18:53:03 +03:00
mstgnz
1887a32ca2 update credentials key name 2023-08-29 18:44:15 +03:00
RW
a1405af086 Merge pull request #965 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.37
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.36 to 1.18.37 in /dynamodb
2023-08-28 09:34:34 +02:00
dependabot[bot]
de487d56be Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.36 to 1.18.37.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.36...config/v1.18.37)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 07:32:40 +00:00
RW
5fd9819f5f Merge pull request #963 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.81
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.80 to 1.11.81 in /s3
2023-08-28 09:31:16 +02:00
dependabot[bot]
b86255479c Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.80 to 1.11.81.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.80...feature/s3/manager/v1.11.81)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 07:29:58 +00:00
mstgnz
67218b0d19 bucket check control removed and update test 2023-08-26 18:49:16 +03:00
mstgnz
cdad22386e update comment 2023-08-26 18:30:00 +03:00
mstgnz
cb6a705473 Update README 2023-08-26 18:28:19 +03:00
mstgnz
e0523db53d update comment for CheckBucket 2023-08-26 12:18:56 +03:00
mstgnz
c49bca76d7 change to default bucket name - fiber-bucket 2023-08-26 12:16:49 +03:00
mstgnz
3d598445e3 updated test for key not in get requests 2023-08-25 19:57:39 +03:00
mstgnz
949c597508 definitions added 2023-08-25 18:03:10 +03:00
mstgnz
ca32702aa0 Update README 2023-08-25 17:43:44 +03:00
mstgnz
0ccc5d3faa UPDATE README 2023-08-23 17:25:02 +03:00
mstgnz
4c8f4dcdfc fix minio test 2023-08-23 17:19:40 +03:00
mstgnz
d64fa185db fixed test 2023-08-23 17:18:11 +03:00
mstgnz
cd33dc926f test fixed 2023-08-23 17:13:06 +03:00
mstgnz
fd63105282 min go version supported added to README 2023-08-23 17:08:24 +03:00
mstgnz
dda7fcf987 The Reset flag added to New flag 2023-08-23 17:01:51 +03:00
mstgnz
b597a36454 The stretchr/testify package was used for testing 2023-08-23 16:56:36 +03:00
mstgnz
b2636aa4c1 Merge branch 'main' of github.com:mstgnz/fiber-storage 2023-08-23 16:21:21 +03:00
mstgnz
b3fe37dd3d change go version 2023-08-23 16:19:47 +03:00
Mesut GENEZ
d62aeb54b9 Merge branch 'main' into main 2023-08-23 16:16:05 +03:00
mstgnz
dab578a096 gosec 2023-08-23 16:15:35 +03:00
RW
42ff8d51c0 Update gosec.yml
just check the root without the need to adjust the exclude dirs
2023-08-23 15:04:25 +02:00
mstgnz
68fe393de4 minio drafter 2023-08-23 16:01:10 +03:00
mstgnz
4493457cfa minio test 2023-08-23 15:59:24 +03:00
mstgnz
5b49d3629c added to minio gosec and depeddabot and drafter 2023-08-23 14:58:52 +03:00
mstgnz
244330f96e Added to Minio storage 2023-08-23 14:44:24 +03:00
mstgnz
7f002b3158 go mod tidy 2023-08-23 14:33:10 +03:00
mstgnz
d3d3a58f6e Added Conn method to return the Minio instance 2023-08-23 14:29:49 +03:00
Mesut GENEZ
bec8bb64e1 Merge branch 'main' into main 2023-08-23 14:22:05 +03:00
mstgnz
580a711cb1 Fix README 2023-08-23 14:17:00 +03:00
mstgnz
23de4dd79e Fix README 2023-08-23 13:31:56 +03:00
mstgnz
21eb34fec7 minio 2023-08-23 13:25:32 +03:00
RW
4248a8dadd Merge pull request #933 from gofiber/testify
Add support for using stretchr/testify during tests
2023-08-23 08:43:38 +02:00
René Werner
5ac0392c81 resolve master conflicts 2023-08-23 08:36:42 +02:00
René Werner
10e4f45ac0 Merge remote-tracking branch 'origin/main' into testify
# Conflicts:
#	azureblob/go.mod
#	azureblob/go.sum
#	dynamodb/go.mod
#	s3/go.mod
#	s3/go.sum
2023-08-23 08:33:13 +02:00
RW
52531187b6 Merge pull request #960 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.21.0
Bump github.com/aws/aws-sdk-go-v2 from 1.20.3 to 1.21.0 in /s3
2023-08-23 08:23:31 +02:00
dependabot[bot]
91238492d9 Bump github.com/aws/aws-sdk-go-v2 from 1.20.3 to 1.21.0 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.20.3 to 1.21.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.20.3...v1.21.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:22:04 +00:00
RW
cd048ea1e4 Merge pull request #953 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.39
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.38 to 1.10.39 in /dynamodb
2023-08-23 08:21:44 +02:00
dependabot[bot]
72a1732d4f Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.38 to 1.10.39.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.38...feature/dynamodb/attributevalue/v1.10.39)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:20:21 +00:00
RW
3c4d46ec33 Merge pull request #958 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.13.35
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.34 to 1.13.35 in /s3
2023-08-23 08:18:12 +02:00
dependabot[bot]
ef8b444526 Bump github.com/aws/aws-sdk-go-v2/credentials in /s3
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.34 to 1.13.35.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.34...credentials/v1.13.35)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:16:15 +00:00
RW
cb5c20b678 Merge pull request #957 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.38.5
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.4 to 1.38.5 in /s3
2023-08-23 08:16:02 +02:00
RW
9a076a7d97 Merge pull request #956 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.36
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.35 to 1.18.36 in /dynamodb
2023-08-23 08:15:35 +02:00
dependabot[bot]
b3bc9aa5a8 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.35 to 1.18.36.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.35...config/v1.18.36)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:11:55 +00:00
RW
ae0bd1f240 Merge pull request #954 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.35
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.34 to 1.13.35 in /dynamodb
2023-08-23 08:11:18 +02:00
dependabot[bot]
2f08be65dd Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.34 to 1.13.35.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.34...credentials/v1.13.35)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:10:59 +00:00
RW
1276f80f98 Merge pull request #948 from tmiddlet2666/coherence
Correct module name in coherence store, minor README update
2023-08-23 08:10:19 +02:00
dependabot[bot]
dc747fad0b Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.38.4 to 1.38.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.38.4...service/s3/v1.38.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:10:14 +00:00
RW
bbbf496e55 Merge pull request #952 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.21.5
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.21.4 to 1.21.5 in /dynamodb
2023-08-23 08:09:35 +02:00
RW
0be0639df2 Merge pull request #949 from gofiber/dependabot/go_modules/rueidis/github.com/stretchr/testify-1.8.4
Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 in /rueidis
2023-08-23 08:09:10 +02:00
RW
aa41235bb1 Merge pull request #951 from gofiber/dependabot/go_modules/azureblob/github.com/gofiber/fiber/v2-2.48.0
Bump github.com/gofiber/fiber/v2 from 2.43.0 to 2.48.0 in /azureblob
2023-08-23 08:09:01 +02:00
dependabot[bot]
67e0819a58 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.21.4 to 1.21.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/efs/v1.21.4...service/efs/v1.21.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:05:56 +00:00
dependabot[bot]
c34cb47590 Bump github.com/gofiber/fiber/v2 from 2.43.0 to 2.48.0 in /azureblob
Bumps [github.com/gofiber/fiber/v2](https://github.com/gofiber/fiber) from 2.43.0 to 2.48.0.
- [Release notes](https://github.com/gofiber/fiber/releases)
- [Commits](https://github.com/gofiber/fiber/compare/v2.43.0...v2.48.0)

---
updated-dependencies:
- dependency-name: github.com/gofiber/fiber/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:05:43 +00:00
dependabot[bot]
3bad978a1a Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 in /rueidis
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 06:05:21 +00:00
RW
eb9a8113a3 Merge pull request #931 from gofiber/rueidis
Add support for rueidis storage driver
2023-08-23 08:04:58 +02:00
Juan Calderon-Perez
bceeafc8fd Forgot to commit go.sum file 2023-08-23 00:40:37 -04:00
Juan Calderon-Perez
7ce64c3b69 Update rueidis to v1.0.16 2023-08-23 00:39:23 -04:00
Juan Calderon-Perez
e567a01fec Fix couchbase dependency 2023-08-23 00:34:53 -04:00
Juan Calderon-Perez
41ad317a6d Update dependencies across the board, fix all go.sum/go.mod files 2023-08-23 00:30:10 -04:00
Juan Calderon-Perez
9ca7b53525 Fix dependabot file again 2023-08-23 00:10:40 -04:00
Juan Calderon-Perez
63dc8d573e Fix dependabot file again 2023-08-23 00:09:41 -04:00
Juan Calderon-Perez
5d97bb6ee7 Merge main into branch 2023-08-23 00:07:39 -04:00
Juan Calderon-Perez
9d99e7dd5b Update all README files with new major versions 2023-08-23 00:05:48 -04:00
Juan Calderon-Perez
1a8785d923 Merge branch 'main' into rueidis 2023-08-22 23:48:21 -04:00
Juan Calderon-Perez
b8ff60572a Add fullpath to certs 2023-08-22 23:46:53 -04:00
Juan Calderon-Perez
e197f1da4f Print pwd 2023-08-22 23:45:16 -04:00
Juan Calderon-Perez
2d528c3c8d List files during tls gen 2023-08-22 23:29:30 -04:00
Juan Calderon-Perez
dc20615b37 Update path again 2023-08-22 23:25:36 -04:00
Juan Calderon-Perez
047ac39af8 Update path to certs 2023-08-22 23:23:40 -04:00
Tim Middleton
4c1b8b2c6f Correct module name in coherence store, minor README update 2023-08-23 10:19:20 +08:00
RW
861ed0de56 Merge pull request #947 from tmiddlet2666/coh-release-drafter
Correct job name in release-drafter-coherence.yml
2023-08-22 09:06:48 +02:00
Juan Calderon-Perez
97864349cc Verify we can create TLS certs 2023-08-21 09:01:16 -04:00
Juan Calderon-Perez
e8fd10468f Fix permissions 2023-08-21 08:54:56 -04:00
Juan Calderon-Perez
332e9e8a34 Add space 2023-08-21 08:53:13 -04:00
Juan Calderon-Perez
cf1a09c9a7 Generate TLS certs during CI 2023-08-21 08:49:53 -04:00
Juan Calderon-Perez
146884c135 Fix dependabot file 2023-08-21 08:42:36 -04:00
Juan Calderon-Perez
b875ca4ec9 Merge main, fix gosec conflicts 2023-08-21 08:40:57 -04:00
Juan Calderon-Perez
9570205b8a Cleanup the go.mod files 2023-08-21 08:36:48 -04:00
Tim Middleton
947221b4fb Correct job name in release-drafter-coherence.yml 2023-08-21 16:35:04 +08:00
RW
0579065c4c Merge pull request #946 from tmiddlet2666/coherence-doc
Additional Oracle Coherence storage doc updates
2023-08-21 10:20:41 +02:00
RW
df27520950 Merge pull request #942 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.38
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.36 to 1.10.38 in /dynamodb
2023-08-21 10:14:37 +02:00
Tim Middleton
aacefe5192 Update default config in doc 2023-08-21 16:13:27 +08:00
dependabot[bot]
62a7e09e0d Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.36 to 1.10.38.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.36...feature/dynamodb/attributevalue/v1.10.38)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 08:13:11 +00:00
RW
a6d0384463 Merge pull request #944 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.21.4
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.21.2 to 1.21.4 in /dynamodb
2023-08-21 10:12:32 +02:00
Tim Middleton
dc81749d44 Further minor changes 2023-08-21 16:11:50 +08:00
dependabot[bot]
11423e276a Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.21.2 to 1.21.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/efs/v1.21.2...service/efs/v1.21.4)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 08:10:35 +00:00
RW
4ca664384d Merge pull request #945 from tmiddlet2666/coherence-doc
Minor README formatting
2023-08-21 10:09:55 +02:00
Tim Middleton
287ddc84da Minor README formatting 2023-08-21 16:08:28 +08:00
RW
5c80a1463b Merge pull request #940 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.35
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.33 to 1.18.35 in /dynamodb
2023-08-21 09:44:12 +02:00
dependabot[bot]
943166ff54 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.33 to 1.18.35.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.33...config/v1.18.35)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 07:42:55 +00:00
RW
ff142d955f Merge pull request #920 from tmiddlet2666/coherence
Add Oracle Coherence storage driver
2023-08-21 09:40:11 +02:00
RW
8d2fbb7eb6 Merge pull request #934 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.79
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.77 to 1.11.79 in /s3
2023-08-21 09:14:04 +02:00
dependabot[bot]
d91fcfedd7 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.77 to 1.11.79.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.77...feature/s3/manager/v1.11.79)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 07:12:33 +00:00
Tim Middleton
ffc4ad7fd3 Remove UseSSL as it can be derived from nil tls.Config 2023-08-21 14:26:38 +08:00
Tim Middleton
fe8f993a09 Merge branch 'coherence' of https://github.com/tmiddlet2666/storage into coherence 2023-08-21 14:14:03 +08:00
Tim Middleton
2e0424da1b Update to use v1.0.1 of coherence-go-client, simplify TLS 2023-08-21 14:13:51 +08:00
Juan Calderon-Perez
4b24a4110d Fix config badger test 2023-08-20 09:27:38 -04:00
Juan Calderon-Perez
d732f1fc51 Update README.md, use require.NoError 2023-08-20 09:25:52 -04:00
Juan Calderon-Perez
c0cc07ca93 Update README files, use require.NoError 2023-08-20 09:22:43 -04:00
Juan Calderon-Perez
32af1f92eb Update test-redis.yml 2023-08-19 23:38:07 -04:00
Juan Calderon-Perez
d2e42fb3ee Update test-rueidis.yml 2023-08-19 23:33:19 -04:00
Juan Calderon-Perez
96f78dabcc Use require.Zero 2023-08-19 23:12:19 -04:00
Juan Calderon-Perez
7b58635b7a Use strings.TrimSpace 2023-08-19 23:10:28 -04:00
Juan Calderon-Perez
a638b6d4f2 More fixes 2023-08-19 23:05:05 -04:00
Juan Calderon-Perez
9291b82212 Update all test files with go1.21, update all go.mod files to go1.19 2023-08-19 22:56:22 -04:00
Juan Calderon-Perez
c338ddedc1 Fixes based on test failures 2023-08-19 22:47:49 -04:00
Juan Calderon-Perez
02d809987a Use testify.Require for all Storage Drivers 2023-08-19 22:36:33 -04:00
Juan Calderon-Perez
2779bfdf01 Use go1.18 as minimum, run mod tidy on each driver 2023-08-19 21:46:36 -04:00
Juan Calderon-Perez
1cfebe3f24 Use testify.Require instead of testify.Assert 2023-08-19 16:03:13 -04:00
Juan Calderon-Perez
c08ed0777d Remove gosec root run 2023-08-19 15:44:17 -04:00
Juan Calderon-Perez
7378b389fe Use testify, bump fiber utils to v2 2023-08-19 15:40:11 -04:00
Juan Calderon-Perez
68c7f58148 Update version of Cluster action 2023-08-19 06:51:14 -04:00
Juan Calderon-Perez
9e70dd7aea Merge branch 'main' into coherence 2023-08-18 21:39:26 -04:00
Juan Calderon-Perez
9afd1a7e2a Merge branch 'main' into rueidis 2023-08-18 21:38:48 -04:00
RW
67893bd836 Merge pull request #932 from gofiber/dependabot/go_modules/redis/github.com/redis/go-redis/v9-9.1.0
Bump github.com/redis/go-redis/v9 from 9.0.5 to 9.1.0 in /redis
2023-08-18 09:04:28 +02:00
dependabot[bot]
c9d759856f Bump github.com/redis/go-redis/v9 from 9.0.5 to 9.1.0 in /redis
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.0.5 to 9.1.0.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.0.5...v9.1.0)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-18 07:03:10 +00:00
Juan Calderon-Perez
52575a7a8c Fix dependabot.yml for MSSQL 2023-08-16 09:39:28 -04:00
Juan Calderon-Perez
cbd74dfa4b Update dependabot.yml 2023-08-16 09:37:37 -04:00
Juan Calderon-Perez
cc1606c4f0 Add go1.21 2023-08-15 10:22:05 -04:00
Juan Calderon-Perez
34a3d09c10 Merge branch 'main' into rueidis 2023-08-15 10:07:27 -04:00
Juan Calderon-Perez
53b7ad097a Update rueidis.go 2023-08-15 10:02:44 -04:00
Juan Calderon-Perez
c06825e675 Fix IsRedisNil call 2023-08-15 09:11:50 -04:00
Juan Calderon-Perez
9913f90294 Add EX() and IsRedisNil() 2023-08-15 09:08:03 -04:00
Juan Calderon-Perez
7c47f7c73b Fix port of non-existing instance 2023-08-15 01:21:09 -04:00
Juan Calderon-Perez
8cacec6c93 Fix port to TLS instance 2023-08-15 01:17:27 -04:00
Juan Calderon-Perez
600279ff2b Fix default host:port value 2023-08-15 01:13:12 -04:00
Juan Calderon-Perez
8b678034a2 Fix exclude-dir flag for rueidis 2023-08-15 01:09:39 -04:00
Juan Calderon-Perez
b846e12cee Fix main go.mod 2023-08-15 01:08:35 -04:00
Juan Calderon-Perez
c739918a1d Fix path to rueidis dir. Format code 2023-08-15 01:03:23 -04:00
Juan Calderon-Perez
ca369ed8d1 Fix gosec workflow 2023-08-15 00:56:56 -04:00
Juan Calderon-Perez
b3ebd57893 Support for rueidis storage driver 2023-08-15 00:53:19 -04:00
Juan Calderon-Perez
b88fd4b669 Merge branch 'main' into coherence 2023-08-14 22:28:49 -04:00
RW
acf5d5e908 Merge pull request #927 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.77
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.76 to 1.11.77 in /s3
2023-08-14 09:28:23 +02:00
dependabot[bot]
b04c6f55ab Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.76 to 1.11.77.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.76...feature/s3/manager/v1.11.77)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:28:03 +00:00
RW
7aac904d3c Merge pull request #930 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.33
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.32 to 1.18.33 in /dynamodb
2023-08-14 09:27:39 +02:00
RW
77f2925eb3 Merge pull request #928 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.33
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.32 to 1.18.33 in /s3
2023-08-14 09:27:27 +02:00
dependabot[bot]
a90bf53050 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.32 to 1.18.33.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.32...config/v1.18.33)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:26:24 +00:00
dependabot[bot]
e1a47955c4 Bump github.com/aws/aws-sdk-go-v2/config from 1.18.32 to 1.18.33 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.32 to 1.18.33.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.32...config/v1.18.33)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:26:07 +00:00
RW
1c64281504 Merge pull request #929 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.38.2
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.1 to 1.38.2 in /s3
2023-08-14 09:25:32 +02:00
dependabot[bot]
4f767a442f Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.38.1 to 1.38.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.38.1...service/s3/v1.38.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:23:53 +00:00
RW
d8196abb41 Merge pull request #925 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.13.32
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.31 to 1.13.32 in /s3
2023-08-14 09:23:22 +02:00
RW
efd18a5221 Merge pull request #922 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.32
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.31 to 1.13.32 in /dynamodb
2023-08-14 09:23:15 +02:00
dependabot[bot]
c13002a7cf Bump github.com/aws/aws-sdk-go-v2/credentials in /s3
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.31 to 1.13.32.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.31...credentials/v1.13.32)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:22:16 +00:00
dependabot[bot]
16297b41e4 Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.31 to 1.13.32.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.31...credentials/v1.13.32)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:21:56 +00:00
RW
9efee1f3fd Merge pull request #926 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.20.1
Bump github.com/aws/aws-sdk-go-v2 from 1.20.0 to 1.20.1 in /dynamodb
2023-08-14 09:21:47 +02:00
RW
97801c76d1 Merge pull request #924 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.20.1
Bump github.com/aws/aws-sdk-go-v2 from 1.20.0 to 1.20.1 in /s3
2023-08-14 09:20:58 +02:00
dependabot[bot]
f0c98a8d8a Bump github.com/aws/aws-sdk-go-v2 from 1.20.0 to 1.20.1 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.20.0 to 1.20.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.20.0...v1.20.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:20:36 +00:00
dependabot[bot]
9a68dda690 Bump github.com/aws/aws-sdk-go-v2 from 1.20.0 to 1.20.1 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.20.0 to 1.20.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.20.0...v1.20.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:19:52 +00:00
RW
9703f07095 Merge pull request #921 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.36
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.35 to 1.10.36 in /dynamodb
2023-08-14 09:12:57 +02:00
dependabot[bot]
e3348774d5 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.10.35 to 1.10.36.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.10.35...feature/dynamodb/attributevalue/v1.10.36)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 07:11:29 +00:00
Tim Middleton
5b6ee8d932 Add TLS options 2023-08-10 11:39:41 +08:00
Tim Middleton
c226e12e98 Fix release-drafter-coherence.yml 2023-08-09 14:47:12 +08:00
Tim Middleton
02a2c19bf6 Minor readme update to add Conn() 2023-08-09 13:55:22 +08:00
Tim Middleton
7d3e9bd163 Address review comments 2023-08-09 13:53:18 +08:00
Tim Middleton
5e68bddd6b Exclude coherence from gosec root command 2023-08-09 10:13:59 +08:00
Tim Middleton
1d3b96559f Update to Coherence README.md 2023-08-09 08:07:15 +08:00
Tim Middleton
65350fb284 Minor readme fix 2023-08-09 08:04:12 +08:00
Tim Middleton
882dfc4741 Add Coherence implementation into storage 2023-08-09 07:58:47 +08:00
170 changed files with 6471 additions and 2445 deletions

View File

@@ -32,6 +32,12 @@ updates:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/coherence/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/etcd/" # Location of package manifests
labels:
@@ -62,6 +68,12 @@ updates:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/minio/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/mongodb/" # Location of package manifests
labels:
@@ -116,8 +128,21 @@ updates:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/mssql/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/rueidis/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/scylladb/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"

50
.github/release-drafter-coherence.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name-template: 'Coherence - v$RESOLVED_VERSION'
tag-template: 'coherence/v$RESOLVED_VERSION'
tag-prefix: coherence/v
include-paths:
- coherence
categories:
- title: '❗ Breaking Changes'
labels:
- '❗ BreakingChange'
- title: '🚀 New'
labels:
- '✏️ Feature'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- '🤖 Dependencies'
- title: '🐛 Fixes'
labels:
- '☢️ Bug'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
change-template: '- $TITLE (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
exclude-contributors:
- dependabot
- dependabot[bot]
version-resolver:
major:
labels:
- 'major'
- '❗ BreakingChange'
minor:
labels:
- 'minor'
- '✏️ Feature'
patch:
labels:
- 'patch'
- '📒 Documentation'
- '☢️ Bug'
- '🤖 Dependencies'
- '🧹 Updates'
default: patch
template: |
$CHANGES
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...coherence/v$RESOLVED_VERSION
Thank you $CONTRIBUTORS for making this update possible.

50
.github/release-drafter-minio.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name-template: 'Minio - v$RESOLVED_VERSION'
tag-template: 'minio/v$RESOLVED_VERSION'
tag-prefix: minio/v
include-paths:
- minio
categories:
- title: '❗ Breaking Changes'
labels:
- '❗ BreakingChange'
- title: '🚀 New'
labels:
- '✏️ Feature'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- '🤖 Dependencies'
- title: '🐛 Fixes'
labels:
- '☢️ Bug'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
change-template: '- $TITLE (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
exclude-contributors:
- dependabot
- dependabot[bot]
version-resolver:
major:
labels:
- 'major'
- '❗ BreakingChange'
minor:
labels:
- 'minor'
- '✏️ Feature'
patch:
labels:
- 'patch'
- '📒 Documentation'
- '☢️ Bug'
- '🤖 Dependencies'
- '🧹 Updates'
default: patch
template: |
$CHANGES
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...minio/v$RESOLVED_VERSION
Thank you $CONTRIBUTORS for making this update possible.

50
.github/release-drafter-rueidis.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name-template: 'Rueidis - v$RESOLVED_VERSION'
tag-template: 'rueidis/v$RESOLVED_VERSION'
tag-prefix: rueidis/v
include-paths:
- rueidis
categories:
- title: '❗ Breaking Changes'
labels:
- '❗ BreakingChange'
- title: '🚀 New'
labels:
- '✏️ Feature'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- '🤖 Dependencies'
- title: '🐛 Fixes'
labels:
- '☢️ Bug'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
change-template: '- $TITLE (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
exclude-contributors:
- dependabot
- dependabot[bot]
version-resolver:
major:
labels:
- 'major'
- '❗ BreakingChange'
minor:
labels:
- 'minor'
- '✏️ Feature'
patch:
labels:
- 'patch'
- '📒 Documentation'
- '☢️ Bug'
- '🤖 Dependencies'
- '🧹 Updates'
default: patch
template: |
$CHANGES
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...rueidis/v$RESOLVED_VERSION
Thank you $CONTRIBUTORS for making this update possible.

43
.github/release-drafter-scylladb.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name-template: 'ScyllaDb - v$RESOLVED_VERSION'
tag-template: 'scylladb/v$RESOLVED_VERSION'
tag-prefix: scylladb/v
include-paths:
- scylladb
categories:
- title: '🚀 New'
labels:
- '✏️ Feature'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- '🤖 Dependencies'
- title: '🐛 Fixes'
labels:
- '☢️ Bug'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
change-template: '- $TITLE (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
- '✏️ Feature'
patch:
labels:
- 'patch'
- '📒 Documentation'
- '☢️ Bug'
- '🤖 Dependencies'
- '🧹 Updates'
default: patch
template: |
$CHANGES
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...scylladb/v$RESOLVED_VERSION
Thank you $CONTRIBUTORS for making this update possible.

11
redis/tests/gen-test-certs.sh → .github/scripts/gen-test-certs.sh vendored Normal file → Executable file
View File

@@ -6,7 +6,8 @@
# ./tls/redis.{crt,key} A certificate with no key usage/policy restrictions.
# ./tls/client.{crt,key} A certificate restricted for SSL client usage.
# ./tls/server.{crt,key} A certificate restricted for SSL server usage.
# ./tls/redis.dh DH Params file.
set -e
generate_cert() {
local name=$1
@@ -45,6 +46,8 @@ cat > ./tls/openssl.cnf <<_END_
[ server_cert ]
keyUsage = digitalSignature, keyEncipherment
nsCertType = server
subjectAltName = DNS:localhost"
[ client_cert ]
keyUsage = digitalSignature, keyEncipherment
nsCertType = client
@@ -52,6 +55,8 @@ _END_
generate_cert server "Server-only" "-extfile ./tls/openssl.cnf -extensions server_cert"
generate_cert client "Client-only" "-extfile ./tls/openssl.cnf -extensions client_cert"
generate_cert redis "Generic-cert"
generate_cert redis "localhost" "-extfile ./tls/openssl.cnf -extensions server_cert"
[ -f ./tls/redis.dh ] || openssl dhparam -out ./tls/redis.dh 2048
# List generated certs
ls -la ./tls
echo "$PWD"

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
set -e
# Some env variables
BRANCH="main"

175
.github/workflows/benchmark.yml vendored Normal file
View File

@@ -0,0 +1,175 @@
on:
push:
branches:
- master
- main
paths:
- "**"
- "!**.md"
pull_request:
paths:
- "**"
- "!**.md"
permissions:
deployments: write
contents: write
name: Benchmark
jobs:
Compare:
runs-on: ubuntu-latest
services:
arangodb:
image: 'arangodb:latest'
env:
ARANGO_NO_AUTH: 1
ports:
- '8529:8529'
dynamodb:
image: 'amazon/dynamodb-local:latest'
ports:
- '8000:8000'
memcached:
image: 'memcached:latest'
ports:
- '11211:11211'
mongo:
image: 'mongo:latest'
ports:
- '27017:27017'
mssql:
image: 'mcmoe/mssqldocker:latest'
ports:
- '1433:1433'
env:
ACCEPT_EULA: Y
SA_PASSWORD: MsSql!1234
MSSQL_DB: master
MSSQL_USER: sa
MSSQL_PASSWORD: MsSql!1234
options: >-
--health-cmd "/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD -Q 'select 1' -b -o /dev/null"
--health-interval 1s
--health-timeout 30s
--health-start-period 10s
--health-retries 20
mysql:
image: 'mysql:latest'
env:
MYSQL_DATABASE: fiber
MYSQL_USER: username
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
ports:
- '3306:3306'
options: >-
--health-cmd "mysqladmin ping" --health-interval 10s --health-timeout
5s --health-retries 5
postgres:
image: 'postgres:latest'
ports:
- '5432:5432'
env:
POSTGRES_DB: fiber
POSTGRES_USER: username
POSTGRES_PASSWORD: "pass#w%rd"
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
steps:
- name: Fetch Repository
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.20.x"
- name: Install Azurite
run: |
docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 --blobPort 10000
- name: Install Coherence
run: |
docker run -d -p 1408:1408 -p 30000:30000 ghcr.io/oracle/coherence-ce:22.06.5
sleep 30
- name: Install couchbase
run: |
docker run --name couchbase -d -p 8091-8097:8091-8097 -p 9123:9123 -p 11207:11207 -p 11210:11210 -p 11280:11280 -p 18091-18097:18091-18097 couchbase:enterprise-7.1.1
sleep 10
docker exec --tty couchbase couchbase-cli cluster-init -c localhost:8091 --cluster-username admin --cluster-password 123456 --cluster-ramsize 256 --services data
sleep 10
docker exec --tty couchbase couchbase-cli bucket-create -c localhost:8091 --username admin --password 123456 --bucket fiber_storage --bucket-type couchbase --bucket-ramsize 100 --enable-flush 1
- name: Install etcd
run: |
docker run -d --name Etcd-server \
--publish 2379:2379 \
--publish 2380:2380 \
--env ALLOW_NONE_AUTHENTICATION=yes \
--env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 \
bitnami/etcd:latest
- name: Install MinIO
run: |
docker run -d --restart always -p 9000:9000 --name storage-minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server /data
- name: Install ScyllaDb
run: |
docker run --name scylladb -p 9042:9042 -p 19042:19042 -p 9160:9160 -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9180:9180 -d scylladb/scylla:latest --broadcast-address 127.0.0.1 --listen-address 0.0.0.0 --broadcast-rpc-address 127.0.0.1
sleep 15 # Wait for ScyllaDb to initialize
- name: Setup Redis
uses: shogo82148/actions-setup-redis@v1
with:
redis-version: '7.x'
auto-start: 'false'
- name: Run Redis
run: |
redis-server --port 6379 &
- name: Run Benchmarks
run: |
set -o pipefail
for d in */ ; do
[[ $d == "tls/" ]] && continue
cd "$d"
go test ./... -benchmem -run=^$ -bench . | tee -a ../output.txt
cd ..
done
shell: bash
env:
MSSQL_DATABASE: master
MSSQL_USERNAME: sa
MSSQL_PASSWORD: MsSql!1234
MYSQL_USERNAME: username
MYSQL_PASSWORD: password
MYSQL_DATABASE: fiber
POSTGRES_DATABASE: fiber
POSTGRES_USERNAME: username
POSTGRES_PASSWORD: "pass#w%rd"
- name: Get Previous Benchmark Results
uses: actions/cache@v3
with:
path: ./cache
key: ${{ runner.os }}-benchmark
- name: Save Benchmark Results
uses: benchmark-action/github-action-benchmark@v1.18.0
with:
tool: "go"
output-file-path: output.txt
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "benchmarks"
alert-threshold: "300%"
fail-on-alert: true
comment-on-alert: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
#summary-always: ${{ github.event_name != 'push' && github.event_name != 'workflow_dispatch' }}
auto-push: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
save-data-file: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}

View File

@@ -16,7 +16,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.

View File

@@ -1,4 +1,4 @@
name: Golangci Lint Check
name: Golangci-Lint Check
on:
push:
@@ -20,12 +20,49 @@ on:
- ".github/dependabot.yml"
jobs:
golangci-lint:
generate-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- id: set-matrix
run: |
# Determine the base and head commits for diff based on the event type
BASE_SHA="${{ github.event.pull_request.base.sha || github.event.before }}"
HEAD_SHA="${{ github.event.pull_request.head.sha || github.event.after }}"
# Extract directories from changed files, only include those with go.mod files
GO_MOD_DIRECTORIES=()
FILES=$(git diff --name-only $BASE_SHA $HEAD_SHA | grep -vE '/\.')
DIRECTORIES=$(echo "$FILES" | xargs -L1 dirname | sort -u)
for dir in $DIRECTORIES; do
if [[ -f "$dir/go.mod" ]]; then
GO_MOD_DIRECTORIES+=("$dir")
fi
done
# Export the JSON array
JSON_ARRAY=$(printf '%s\n' "${GO_MOD_DIRECTORIES[@]}" | jq -R -s -c 'split("\n")[:-1]')
echo "matrix=${JSON_ARRAY}" >> $GITHUB_OUTPUT
lint:
needs: generate-matrix
runs-on: ubuntu-latest
strategy:
matrix:
modules: ${{fromJson(needs.generate-matrix.outputs.matrix)}}
steps:
- name: Fetch Repository
uses: actions/checkout@v4
- name: Run golangci-lint
uses: reviewdog/action-golangci-lint@v2
with:
golangci_lint_flags: "--tests=false"
golangci_lint_flags: "--tests=false --timeout=5m"
workdir: ${{ matrix.modules }}
fail_on_error: true
filter_mode: nofilter

View File

@@ -20,95 +20,45 @@ on:
- ".github/dependabot.yml"
jobs:
detect-changes:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.changed-files.outputs.all_changed_files }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Changed Files
uses: tj-actions/changed-files@v40
id: changed-files
with:
files_ignore: |
.github/**
**.md
json: true
escape_json: false
dir_names: true
dir_names_exclude_current_dir: true
gosec-scan:
runs-on: ubuntu-latest
needs: detect-changes
env:
GO111MODULE: on
strategy:
matrix:
modules: ${{ fromJSON(needs.detect-changes.outputs.matrix) }}
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '^1.18.x'
go-version: '^1.19.x'
check-latest: true
cache: false
- name: Install Gosec
- name: Install gosec
run: go install github.com/securego/gosec/v2/cmd/gosec@latest
- name: Run Gosec (root)
working-directory: .
run: |
gosec -exclude-dir=arangodb -exclude-dir=badger -exclude-dir=couchbase -exclude-dir=dynamodb -exclude-dir=etcd -exclude-dir=memcache -exclude-dir=memory -exclude-dir=mongodb -exclude-dir=mysql -exclude-dir=postgres -exclude-dir=redis -exclude-dir=ristretto -exclude-dir=sqlite3 -exclude-dir=s3 -exclude-dir=bbolt -exclude-dir=azureblob -exclude-dir=mssql -exclude-dir=pebble ./....
# -----
- name: Run Gosec (arangodb)
working-directory: ./arangodb
- name: Run gosec
working-directory: ${{ matrix.modules }}
run: gosec ./...
# -----
- name: Run Gosec (badger)
working-directory: ./badger
run: gosec ./...
# -----
- name: Run Gosec (couchbase)
working-directory: ./couchbase
run: gosec ./...
# -----
- name: Run Gosec (dynamodb)
working-directory: ./dynamodb
run: gosec ./...
# -----
- name: Run Gosec (etcd)
working-directory: ./etcd
run: gosec ./...
# -----
- name: Run Gosec (memcache)
working-directory: ./memcache
run: gosec ./...
# -----
- name: Run Gosec (memory)
working-directory: ./memory
run: gosec ./...
# -----
- name: Run Gosec (mongodb)
working-directory: ./mongodb
run: gosec ./...
# -----
- name: Run Gosec (mysql)
working-directory: ./mysql
run: gosec ./...
# -----
- name: Run Gosec (postgres)
working-directory: ./postgres
run: gosec ./...
# -----
- name: Run Gosec (redis)
working-directory: ./redis
run: gosec ./...
# -----
- name: Run Gosec (sqlite3)
working-directory: ./sqlite3
run: gosec ./...
# -----
- name: Run Gosec (s3)
working-directory: ./s3
run: gosec ./...
# -----
- name: Run Gosec (ristretto)
working-directory: ./ristretto
run: gosec ./...
# -----
- name: Run Gosec (bbolt)
working-directory: ./bbolt
run: gosec ./...
# -----
- name: Run Gosec (azureblob)
working-directory: ./azureblob
run: gosec ./...
# -----
- name: Run Gosec (mssql)
working-directory: ./mssql
run: gosec ./...
# -----
- name: Run Gosec (pebble)
working-directory: ./pebble
run: gosec ./...
# -----

View File

@@ -26,9 +26,9 @@ jobs:
GO111MODULE: on
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: 'stable'
check-latest: true

View File

@@ -0,0 +1,19 @@
name: Release Drafter Coherence
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
paths:
- 'coherence/**'
jobs:
draft_release_coherence:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-coherence.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,19 @@
name: Release Drafter Memory
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
paths:
- 'memory/**'
jobs:
draft_release_memcache:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-memory.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,19 @@
name: Release Drafter Minio
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
paths:
- 'minio/**'
jobs:
draft_release_minio:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-minio.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,19 @@
name: Release Drafter Rueidis
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
paths:
- 'rueidis/**'
jobs:
draft_release_rueidis:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-rueidis.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,19 @@
name: Release Drafter ScyllaDb
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
paths:
- 'scylladb/**'
jobs:
draft_release_scylladb:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-scylladb.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -17,13 +17,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 2
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '18'

View File

@@ -22,15 +22,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -15,17 +15,17 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Install Azurite
run: |
docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 --blobPort 10000
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -14,15 +14,15 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Test Badger

View File

@@ -15,14 +15,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

33
.github/workflows/test-coherence.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
on:
push:
branches:
- master
- main
paths:
- 'coherence/**'
pull_request:
paths:
- 'coherence/**'
name: "Tests Coherence"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v4
- name: Startup Coherence
run: |
docker run -d -p 1408:1408 -p 30000:30000 ghcr.io/oracle/coherence-ce:22.06.5
sleep 30
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test
run: cd ./coherence && go clean -testcache && go test ./... -v

View File

@@ -17,9 +17,10 @@ jobs:
go-version:
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install couchbase
run: |
docker run --name couchbase -d -p 8091-8097:8091-8097 -p 9123:9123 -p 11207:11207 -p 11210:11210 -p 11280:11280 -p 18091-18097:18091-18097 couchbase:enterprise-7.1.1
@@ -28,7 +29,7 @@ jobs:
sleep 10
docker exec --tty couchbase couchbase-cli bucket-create -c localhost:8091 --username admin --password 123456 --bucket fiber_storage --bucket-type couchbase --bucket-ramsize 100 --enable-flush 1
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -20,15 +20,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -17,9 +17,10 @@ jobs:
go-version:
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install etcd
run: |
docker run -d --name Etcd-server \
@@ -30,7 +31,7 @@ jobs:
bitnami/etcd:latest
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -20,15 +20,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -14,16 +14,15 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Test Memory

33
.github/workflows/test-minio.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
on:
push:
branches:
- master
- main
paths:
- 'minio/**'
pull_request:
paths:
- 'minio/**'
name: "Tests Minio"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Install MinIO
run: |
docker run -d --restart always -p 9000:9000 --name storage-minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server /data
- name: Fetch Repository
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test
run: cd ./minio && go test ./... -v -race

View File

@@ -20,15 +20,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -32,14 +32,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -28,15 +28,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -16,12 +16,13 @@ jobs:
go-version:
- 1.19.x
- 1.20.x
- 1.21.x
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Test Pebble

View File

@@ -29,11 +29,12 @@ jobs:
go-version:
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

View File

@@ -15,33 +15,48 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
redis:
- '6.x'
- '7.x'
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Generate TLS certs
run: ./.github/scripts/gen-test-certs.sh
- name: Add Custom CA cert
run: sudo cp /home/runner/work/storage/storage/tls/ca.crt /usr/local/share/ca-certificates/custom.crt
- name: Trust Custom CA Cert
run: sudo update-ca-certificates
- name: Setup Redis
uses: shogo82148/actions-setup-redis@v1
with:
redis-version: ${{ matrix.redis }}
auto-start: 'false'
redis-port: '6379'
redis-tls-port: '6380'
- name: Run Redis
run: |
redis-server --tls-port 6380 --port 6379 \
--tls-cert-file ./redis/tests/tls/redis.crt \
--tls-key-file ./redis/tests/tls/redis.key \
--tls-ca-cert-file ./redis/tests/tls/ca.crt&
--tls-cert-file /home/runner/work/storage/storage/tls/redis.crt \
--tls-key-file /home/runner/work/storage/storage/tls/redis.key \
--tls-ca-cert-file /home/runner/work/storage/storage/tls/ca.crt &
- name: Run Redis instance with MTLS disabled
run: |
redis-server --tls-port 16380 --port 16379 \
--tls-cert-file /home/runner/work/storage/storage/tls/redis.crt \
--tls-key-file /home/runner/work/storage/storage/tls/redis.key \
--tls-ca-cert-file /home/runner/work/storage/storage/tls/ca.crt \
--tls-auth-clients no &
- name: Setup Redis Cluster
uses: vishnudxb/redis-cluster@1.0.5
uses: vishnudxb/redis-cluster@1.0.9
with:
master1-port: 7000
master2-port: 7001
@@ -49,9 +64,13 @@ jobs:
slave1-port: 7003
slave2-port: 7004
slave3-port: 7005
sleep-duration: 10
- name: Wait for Redis to Start
run: sleep 15
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'

View File

@@ -15,14 +15,14 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

62
.github/workflows/test-rueidis.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
on:
push:
branches:
- master
- main
paths:
- 'rueidis/**'
pull_request:
paths:
- 'rueidis/**'
name: "Tests Rueidis"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.20.x
- 1.21.x
redis:
- '6.x'
- '7.x'
steps:
- name: Fetch Repository
uses: actions/checkout@v4
- name: Generate TLS certs
run: ./.github/scripts/gen-test-certs.sh
- name: Setup Redis
uses: shogo82148/actions-setup-redis@v1
with:
redis-version: ${{ matrix.redis }}
auto-start: 'false'
redis-port: '6379'
redis-tls-port: '6380'
- name: Run Redis
run: |
redis-server --tls-port 6380 --port 6379 \
--tls-cert-file /home/runner/work/storage/storage/tls/redis.crt \
--tls-key-file /home/runner/work/storage/storage/tls/redis.key \
--tls-ca-cert-file /home/runner/work/storage/storage/tls/ca.crt &
- name: Setup Redis Cluster
uses: vishnudxb/redis-cluster@1.0.9
with:
master1-port: 7000
master2-port: 7001
master3-port: 7002
slave1-port: 7003
slave2-port: 7004
slave3-port: 7005
sleep-duration: 10
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test
run: cd ./rueidis && go test ./... -v -race

View File

@@ -15,23 +15,16 @@ jobs:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
steps:
- name: Install MinIO
run: |
docker run -d -p 9000:9000 --name minio minio/minio server /data
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
export AWS_EC2_METADATA_DISABLED=true
aws --endpoint-url http://127.0.0.1:9000/ s3 mb s3://testbucket
run: docker run -d --restart always -p 9000:9000 --name storage-minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server /data
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test

39
.github/workflows/test-scylladb.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
on:
push:
branches:
- master
- main
paths:
- 'scylladb/**'
pull_request:
paths:
- 'scylladb/**'
name: "Tests ScyllaDb"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.20.x
- 1.21.x
steps:
- name: Fetch Repository
uses: actions/checkout@v4
- name: Run ScyllaDb
run: |
docker run --name scylladb -p 9042:9042 -p 19042:19042 -p 9160:9160 -p 10000:10000 -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9180:9180 -d scylladb/scylla:latest --broadcast-address 127.0.0.1 --listen-address 0.0.0.0 --broadcast-rpc-address 127.0.0.1
sleep 30 # Wait for ScyllaDb to initialize
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Run Test
run: cd ./scylladb && go test ./... -v -race

View File

@@ -14,16 +14,15 @@ jobs:
strategy:
matrix:
go-version:
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
- 1.21.x
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: Test SQLite3 - with -race check

View File

@@ -54,17 +54,21 @@ type Storage interface {
- [AzureBlob](./azureblob/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Azure+Blob%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-azureblob.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Badger](./badger/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Badger%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-badger.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Bbolt](./bbolt) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Bbolt%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-bbolt.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Coherence](./coherence/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Coherence%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-coherence.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Couchbase](./couchbase/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Couchbase%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-couchbase.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [DynamoDB](./dynamodb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+DynamoDB%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-dynamodb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Etcd](./etcd/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Etcd%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-etcd.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Memcache](./memcache/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Memcache%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-memcache.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Memory](./memory/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Local+Storage%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-memory.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Minio](./minio/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Minio%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-minio.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [MongoDB](./mongodb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Mongodb%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mongodb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [MSSQL](./mssql/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MSSQL%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mssql.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [MySQL](./mysql/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MySQL%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mysql.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Pebble](./pebble/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Pebble%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-pebble.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Postgres](./postgres/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Postgres%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-postgres.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Redis](./redis/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Redis%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-redis.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [Rueidis](./rueidis/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+rueidis%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-rueidis.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [S3](./s3/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+S3%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-s3.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [ScyllaDB](./scylladb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+scylladb%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-scylladb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>
- [SQLite3](./sqlite3/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Sqlite3%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-sqlite3.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a>

View File

@@ -11,6 +11,8 @@ title: ArangoDB
A ArangoDB storage driver using `arangodb/go-driver` and [arangodb/go-driver](https://github.com/arangodb/go-driver).
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
@@ -35,13 +37,13 @@ go mod init github.com/<user>/<repo>
```
And then install the mysql implementation:
```bash
go get github.com/gofiber/storage/arangodb
go get github.com/gofiber/storage/arangodb/v2
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/arangodb"
import "github.com/gofiber/storage/arangodb/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -7,7 +7,7 @@ import (
"github.com/arangodb/go-driver"
"github.com/arangodb/go-driver/http"
"github.com/gofiber/utils"
"github.com/gofiber/utils/v2"
)
// Storage interface that is implemented by storage providers

View File

@@ -4,51 +4,51 @@ import (
"testing"
"time"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
var testStore = New(Config{
Reset: true,
})
func Test_ARANGODB_Set(t *testing.T) {
func Test_ArangoDB_Set(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_ARANGODB_Upsert(t *testing.T) {
func Test_ArangoDB_Upsert(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_ARANGODB_Get(t *testing.T) {
func Test_ArangoDB_Get(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_ARANGODB_Set_Expiration(t *testing.T) {
func Test_ArangoDB_Set_Expiration(t *testing.T) {
var (
key = "john"
val = []byte("doe")
@@ -56,83 +56,117 @@ func Test_ARANGODB_Set_Expiration(t *testing.T) {
)
err := testStore.Set(key, val, exp)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
time.Sleep(1100 * time.Millisecond)
}
func Test_ARANGODB_Get_Expired(t *testing.T) {
var (
key = "john"
)
func Test_ArangoDB_Get_Expired(t *testing.T) {
key := "john"
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_ARANGODB_Get_NotExist(t *testing.T) {
func Test_ArangoDB_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_ARANGODB_Delete(t *testing.T) {
func Test_ArangoDB_Delete(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_ARANGODB_Reset(t *testing.T) {
var (
val = []byte("doe")
)
func Test_ArangoDB_Reset(t *testing.T) {
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_ARANGODB_Non_UTF8(t *testing.T) {
func Test_ArangoDB_Non_UTF8(t *testing.T) {
val := []byte("0xF5")
err := testStore.Set("0xF6", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("0xF6")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_ARANGODB_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
func Test_ArangoDB_Close(t *testing.T) {
require.Nil(t, testStore.Close())
}
func Test_ARANGODB_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
func Test_ArangoDB_Conn(t *testing.T) {
require.True(t, testStore.Conn() != nil)
}
func Benchmark_ArangoDB_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_ArangoDB_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_ArangoDB_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,13 +1,18 @@
module github.com/gofiber/storage/arangodb
module github.com/gofiber/storage/arangodb/v2
go 1.17
go 1.19
require (
github.com/arangodb/go-driver v1.6.0
github.com/gofiber/utils v1.1.0
github.com/arangodb/go-driver v1.6.1
github.com/gofiber/utils/v2 v2.0.0-beta.3
github.com/stretchr/testify v1.8.4
)
require (
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,54 +1,24 @@
github.com/arangodb/go-driver v1.6.0 h1:NFWj/idqXZxhFVueihMSI2R9NotNIsgvNfM/xmpekb4=
github.com/arangodb/go-driver v1.6.0/go.mod h1:HQmdGkvNMVBTE3SIPSQ8T/ZddC6iwNsfMR+dDJQxIsI=
github.com/arangodb/go-driver v1.6.1 h1:bnhrpbA4U1NU13JOWs5sWWYMtQwdjKT0+jkl8dSndyY=
github.com/arangodb/go-driver v1.6.1/go.mod h1:ywucwwi34GBxxXFWw/ym+7/66//L4K9abxk/sFJro2k=
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2LcQBbxd0ZFdbGSyRKTYMZCfBbw/pMJFOk1g=
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e/go.mod h1:mq7Shfa/CaixoDxiyAAc5jZ6CVBAyPaNQCGS7mkj4Ho=
github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4=
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
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/gofiber/utils/v2 v2.0.0-beta.3 h1:pfOhUDDVjBJpkWv6C5jaDyYLvpui7zQ97zpyFFsUOKw=
github.com/gofiber/utils/v2 v2.0.0-beta.3/go.mod h1:jsl17+MsKfwJjM3ONCE9Rzji/j8XNbwjhUVTjzgfDCo=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -11,7 +11,7 @@ title: Azure Blob
[Azure Blob storage](https://azure.microsoft.com/en-us/products/storage/blobs/#overview) is Microsoft's object storage solution for the cloud.
> NOTE: Go **1.18** or later is required. Source: [link](https://github.com/Azure/azure-sdk-for-go/blob/main/README.md)
**Note: Requires Go 1.19 and above**
### Table of Contents
@@ -44,7 +44,7 @@ go mod init github.com/<user>/<repo>
And then install the azure blob implementation:
```bash
go get github.com/gofiber/storage/azureblob
go get github.com/gofiber/storage/azureblob/v2
```
### Examples
@@ -52,7 +52,7 @@ go get github.com/gofiber/storage/azureblob
Import the storage package.
```go
import "github.com/gofiber/storage/azureblob"
import "github.com/gofiber/storage/azureblob/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -2,12 +2,12 @@ package azureblob
import (
"context"
"errors"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror"
"io"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror"
)
// Storage interface that is implemented by storage providers
@@ -107,7 +107,7 @@ func (s *Storage) Reset() error {
}
}
if errCounter > 0 {
return errors.New(fmt.Sprintf("%d errors occured while resetting", errCounter))
return fmt.Errorf("%d errors occured while resetting", errCounter)
}
return nil
}

View File

@@ -1,13 +1,17 @@
package azureblob
import (
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror"
"github.com/gofiber/fiber/v2/utils"
"os"
"testing"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror"
"github.com/stretchr/testify/require"
)
func newStore() *Storage {
return New(Config{
var testStore *Storage
func TestMain(m *testing.M) {
testStore = New(Config{
Account: "devstoreaccount1",
Container: "test",
Endpoint: "http://127.0.0.1:10000/devstoreaccount1",
@@ -15,21 +19,27 @@ func newStore() *Storage {
Account: "devstoreaccount1",
Key: "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==",
},
Reset: true,
})
code := m.Run()
_ = testStore.Close()
os.Exit(code)
}
func Test_AzureBlob_Get(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_AzureBlob_Set(t *testing.T) {
@@ -38,9 +48,8 @@ func Test_AzureBlob_Set(t *testing.T) {
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_AzureBlob_Delete(t *testing.T) {
@@ -48,13 +57,12 @@ func Test_AzureBlob_Delete(t *testing.T) {
key = "john"
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
if err != nil {
@@ -62,8 +70,8 @@ func Test_AzureBlob_Delete(t *testing.T) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_AzureBlob_Override(t *testing.T) {
@@ -71,41 +79,36 @@ func Test_AzureBlob_Override(t *testing.T) {
key = "john"
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_AzureBlob_Get_NotExist(t *testing.T) {
testStore := newStore()
result, err := testStore.Get("notexist")
if err != nil {
if bloberror.HasCode(err, bloberror.BlobNotFound) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_AzureBlob_Reset(t *testing.T) {
var (
val = []byte("doe")
)
testStore := newStore()
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
if err != nil {
@@ -113,8 +116,8 @@ func Test_AzureBlob_Reset(t *testing.T) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
if err != nil {
@@ -122,16 +125,53 @@ func Test_AzureBlob_Reset(t *testing.T) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_S3_Conn(t *testing.T) {
testStore := newStore()
utils.AssertEqual(t, true, testStore.Conn() != nil)
require.True(t, testStore.Conn() != nil)
}
func Test_AzureBlob_Close(t *testing.T) {
testStore := newStore()
utils.AssertEqual(t, nil, testStore.Close())
require.Nil(t, testStore.Close())
}
func Benchmark_AzureBlob_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_AzureBlob_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_AzureBlob_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,17 +1,18 @@
module github.com/gofiber/storage/azureblob
module github.com/gofiber/storage/azureblob/v2
go 1.18
go 1.19
require (
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1
github.com/gofiber/fiber/v2 v2.43.0
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.1
github.com/stretchr/testify v1.8.4
)
require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect
github.com/google/uuid v1.3.0 // indirect
golang.org/x/crypto v0.7.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/text v0.8.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/text v0.14.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,28 +1,31 @@
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 h1:sVW/AFBTGyJxDaMYlq0ct3jUXTtj12tQ6zE2GZUgVQw=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 h1:+5VZ72z0Qan5Bog5C+ZkgSqUbeVUd9wgtHOrIKuc5b8=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 h1:YvQv9Mz6T8oR5ypQOL6erY0Z5t71ak1uHV4QFokCOZk=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1/go.mod h1:c6WvOhtmjNUWbLfOG1qxM/q0SPvQNSVJvolm+C52dIU=
github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 h1:lGlwhPtrX6EVml1hO0ivjkUxsSyl4dsiw9qcA1k/3IQ=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1/go.mod h1:RKUqNu35KJYcVG/fqTRqmuXJZYNhYkBrnC/hX7yGbTA=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 h1:6oNBlSdi1QqM1PNW7FPA6xOGA5UNsXnkaYZz9vdPGhA=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.1 h1:AMf7YbZOZIW5b66cXNHMWWT/zkjhz5+a+k/3x40EO7E=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.1/go.mod h1:uwfk06ZBcvL/g4VHNjurPfVln9NMbsk2XIZxJ+hu81k=
github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c=
github.com/gofiber/fiber/v2 v2.43.0 h1:yit3E4kHf178B60p5CQBa/3v+WVuziWMa/G2ZNyLJB0=
github.com/gofiber/fiber/v2 v2.43.0/go.mod h1:mpS1ZNE5jU+u+BA4FbM+KKnUzJ4wzTK+FT2tG3tU+6I=
github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -11,6 +11,8 @@ title: Badger
A fast key-value DB using [dgraph-io/badger](https://github.com/dgraph-io/badger)
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
@@ -42,7 +44,7 @@ go mod init github.com/<user>/<repo>
And then install the badger implementation:
```bash
go get github.com/gofiber/storage/badger
go get github.com/gofiber/storage/badger/v2
```
### Examples
@@ -50,7 +52,7 @@ go get github.com/gofiber/storage/badger
Import the storage package.
```go
import "github.com/gofiber/storage/badger"
import "github.com/gofiber/storage/badger/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -4,7 +4,7 @@ import (
"time"
"github.com/dgraph-io/badger/v3"
"github.com/gofiber/utils"
"github.com/gofiber/utils/v2"
)
// Storage interface that is implemented by storage providers

View File

@@ -4,10 +4,12 @@ import (
"testing"
"time"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
var testStore = New()
var testStore = New(Config{
Reset: true,
})
func Test_Badger_Set(t *testing.T) {
var (
@@ -16,7 +18,7 @@ func Test_Badger_Set(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_Badger_Set_Override(t *testing.T) {
@@ -26,10 +28,10 @@ func Test_Badger_Set_Override(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_Badger_Get(t *testing.T) {
@@ -39,11 +41,11 @@ func Test_Badger_Get(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_Badger_Set_Expiration(t *testing.T) {
@@ -54,26 +56,23 @@ func Test_Badger_Set_Expiration(t *testing.T) {
)
err := testStore.Set(key, val, exp)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
time.Sleep(1100 * time.Millisecond)
}
func Test_Badger_Get_Expired(t *testing.T) {
var (
key = "john"
)
key := "john"
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Badger_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Badger_Delete(t *testing.T) {
@@ -83,43 +82,80 @@ func Test_Badger_Delete(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Badger_Reset(t *testing.T) {
var (
val = []byte("doe")
)
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Badger_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
require.Nil(t, testStore.Close())
}
func Test_Badger_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}
require.True(t, testStore.Conn() != nil)
}
func Benchmark_Badger_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_Badger_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Badger_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,8 +1,9 @@
package badger
import (
"github.com/dgraph-io/badger/v3"
"time"
"github.com/dgraph-io/badger/v3"
)
// Config defines the config for storage.

View File

@@ -1,14 +1,15 @@
package badger
import (
"github.com/dgraph-io/badger/v3"
"github.com/gofiber/utils"
"testing"
"github.com/dgraph-io/badger/v3"
"github.com/stretchr/testify/require"
)
func assertRecoveryPanic(t *testing.T) {
err := recover()
utils.AssertEqual(t, nil, err)
require.Nil(t, nil, err)
}
func Test_Badger_Only_Name(t *testing.T) {
@@ -17,7 +18,7 @@ func Test_Badger_Only_Name(t *testing.T) {
Database: "fiber.config.badger",
UseLogger: false,
})
utils.AssertEqual(t, nil, testDB.Close())
require.Nil(t, testDB.Close())
}
func Test_Badger_Options(t *testing.T) {
@@ -26,11 +27,11 @@ func Test_Badger_Options(t *testing.T) {
BadgerOptions: badger.DefaultOptions("fiber.with_options.badger"),
UseLogger: false,
})
utils.AssertEqual(t, nil, testDB.Close())
require.Nil(t, testDB.Close())
}
func Test_Empty_Config(t *testing.T) {
defer assertRecoveryPanic(t)
testDB := New(Config{})
utils.AssertEqual(t, nil, testDB.Close())
require.Nil(t, testDB.Close())
}

View File

@@ -1,27 +1,32 @@
module github.com/gofiber/storage/badger
module github.com/gofiber/storage/badger/v2
go 1.18
go 1.19
require (
github.com/dgraph-io/badger/v3 v3.2103.5
github.com/gofiber/utils v1.1.0
github.com/gofiber/utils/v2 v2.0.0-beta.3
github.com/stretchr/testify v1.8.4
)
require (
github.com/cespare/xxhash v1.1.0 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgraph-io/ristretto v0.1.1 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/glog v1.0.0 // indirect
github.com/golang/glog v1.1.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/flatbuffers v22.10.26+incompatible // indirect
github.com/klauspost/compress v1.15.12 // indirect
github.com/google/flatbuffers v23.5.26+incompatible // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/klauspost/compress v1.16.7 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opencensus.io v0.24.0 // indirect
golang.org/x/net v0.7.0 // indirect
golang.org/x/sys v0.5.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.13.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -7,8 +7,8 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -24,20 +24,21 @@ github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWa
github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
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/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
github.com/gofiber/utils/v2 v2.0.0-beta.3 h1:pfOhUDDVjBJpkWv6C5jaDyYLvpui7zQ97zpyFFsUOKw=
github.com/gofiber/utils/v2 v2.0.0-beta.3/go.mod h1:jsl17+MsKfwJjM3ONCE9Rzji/j8XNbwjhUVTjzgfDCo=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ=
github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
@@ -54,14 +55,14 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/flatbuffers v22.10.26+incompatible h1:z1QiaMyPu1x3Z6xf2u1dsLj1ZxicdGSeaLpCuIsQNZM=
github.com/google/flatbuffers v22.10.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg=
github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -72,15 +73,19 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/klauspost/compress v1.15.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM=
github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
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/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -108,8 +113,9 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -136,8 +142,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
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=
@@ -152,8 +158,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -192,9 +198,10 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -11,6 +11,7 @@ title: Bbolt
A Bbolt storage driver using [etcd-io/bbolt](https://github.com/etcd-io/bbolt). Bolt is a pure Go key/value store inspired by [Howard Chu's](https://twitter.com/hyc_symas) [LMDB project](https://www.symas.com/symas-embedded-database-lmdb). The goal of the project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
@@ -36,13 +37,13 @@ go mod init github.com/<user>/<repo>
```
And then install the s3 implementation:
```bash
go get github.com/gofiber/storage/bbolt
go get github.com/gofiber/storage/bbolt/v2
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/bbolt"
import "github.com/gofiber/storage/bbolt/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -3,7 +3,7 @@ package bbolt
import (
"time"
"github.com/gofiber/utils"
"github.com/gofiber/utils/v2"
"go.etcd.io/bbolt"
)
@@ -18,7 +18,7 @@ func New(config ...Config) *Storage {
// Set default config
cfg := configDefault(config...)
conn, err := bbolt.Open(cfg.Database, 0666, &bbolt.Options{
conn, err := bbolt.Open(cfg.Database, 0o666, &bbolt.Options{
Timeout: cfg.Timeout,
ReadOnly: cfg.ReadOnly,
})
@@ -42,7 +42,6 @@ func New(config ...Config) *Storage {
conn: conn,
bucket: cfg.Bucket,
}
}
// Get value by key

View File

@@ -1,12 +1,25 @@
package bbolt
import (
"os"
"testing"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
var testStore = New()
var testStore *Storage
func TestMain(m *testing.M) {
testStore = New(Config{
Bucket: "fiber-bucket",
Reset: true,
})
code := m.Run()
_ = testStore.Close()
os.Exit(code)
}
func Test_Bbolt_Set(t *testing.T) {
var (
@@ -15,7 +28,7 @@ func Test_Bbolt_Set(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_Bbolt_Set_Override(t *testing.T) {
@@ -25,10 +38,10 @@ func Test_Bbolt_Set_Override(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_Bbolt_Get(t *testing.T) {
@@ -38,18 +51,17 @@ func Test_Bbolt_Get(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_Bbolt_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Bbolt_Delete(t *testing.T) {
@@ -59,43 +71,80 @@ func Test_Bbolt_Delete(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Bbolt_Reset(t *testing.T) {
var (
val = []byte("doe")
)
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Bbolt_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
require.Nil(t, testStore.Close())
}
func Test_Bbolt_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
require.True(t, testStore.Conn() != nil)
}
func Benchmark_Bbolt_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_Bbolt_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Bbolt_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,10 +1,17 @@
module github.com/gofiber/storage/bbolt
module github.com/gofiber/storage/bbolt/v2
go 1.18
go 1.19
require (
github.com/gofiber/utils v1.0.1
go.etcd.io/bbolt v1.3.7
github.com/gofiber/utils/v2 v2.0.0-beta.3
github.com/stretchr/testify v1.8.4
go.etcd.io/bbolt v1.3.8
)
require golang.org/x/sys v0.4.0 // indirect
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/sys v0.11.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,10 +1,18 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/gofiber/utils/v2 v2.0.0-beta.3 h1:pfOhUDDVjBJpkWv6C5jaDyYLvpui7zQ97zpyFFsUOKw=
github.com/gofiber/utils/v2 v2.0.0-beta.3/go.mod h1:jsl17+MsKfwJjM3ONCE9Rzji/j8XNbwjhUVTjzgfDCo=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ=
go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA=
go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -1,7 +1,8 @@
package bbolt
import (
"github.com/gofiber/utils"
"errors"
"github.com/gofiber/utils/v2"
"go.etcd.io/bbolt"
)
@@ -15,6 +16,11 @@ func createBucket(cfg Config, conn *bbolt.DB) error {
func removeBucket(cfg Config, conn *bbolt.DB) error {
return conn.Update(func(tx *bbolt.Tx) error {
return tx.DeleteBucket(utils.UnsafeBytes(cfg.Bucket))
err := tx.DeleteBucket(utils.UnsafeBytes(cfg.Bucket))
if errors.Is(err, bbolt.ErrBucketNotFound) {
return nil
}
return err
})
}

106
coherence/README.md Normal file
View File

@@ -0,0 +1,106 @@
# Coherence
<!-- Copyright © 2023, Oracle and/or its affiliates. -->
A Coherence storage driver using [https://github.com/oracle/coherence-go-client](https://github.com/oracle/coherence-go-client).
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
- [Examples](#examples)
- [Config](#config)
- [Default Config](#default-config)
### Signatures
```go
func New(config ...Config) (*Storage, error)
func (s *Storage) Get(key string) ([]byte, error)
func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error
func (s *Storage) Close() error
func (s *Storage) Conn() *Session
```
### Installation
Coherence is supported on Go versions 1.19 and above:
Install the coherence implementation:
```bash
go get github.com/gofiber/storage/coherence
```
Before running or testing this implementation, you must ensure a Coherence cluster is available.
For local development, we recommend using the Coherence CE Docker image; it contains everything
necessary for the client to operate correctly.
To start a Coherence cluster using Docker, issue the following:
```bash
docker run -d -p 1408:1408 ghcr.io/oracle/coherence-ce:22.06.5
```
See the documentation [here](https://pkg.go.dev/github.com/oracle/coherence-go-client/coherence#hdr-Obtaining_a_Session) on connection options
when creating a Coherence session.
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/coherence"
```
You can use the following possibilities to create a storage:
```go
// Initialize default config, to connect to localhost:1408 using plain text
store, err := coherence.New()
// Initialize custom config to connect to a different host/port and use plaint ext.
store, err := coherence.New(coherence.Config{
Address: "my-host:myport",
})
// Initialize to connect with TLS enabled with your own tls.Config
tlsConfig := config := &tls.Config{...}
store, err := coherence.New(coherence.Config{
Address: "my-host:myport",
TLSConfig: tlsConfig,
})
```
> Note: If you create two stores using `coherence.New()` they will effectivity be idential.
> If you wish to have two separate stores, then you can use:
> ```go
> store1, err := coherence.New(Config{ScopeName: "scope1"})
> store2, err := coherence.New(Config{ScopeName: "scope2"})
> ```
### Config
```go
// Config defines configuration options for Coherence connection.
type Config struct {
// Address to connect to, defaults to "localhost:1408"
Address string
// Timeout is the default session timeout to connect to Coherence, defaults to 30s
Timeout time.Duration
// ScopeName defines a scope allowing for multiple storage sessions
ScopeName string
// Reset indicates if the store should be reset after being created
Reset bool
// TLSConfig specifies tls.Config to use when connecting, if nil then plain text is used
TLSConfig *tls.Config
}
```
### Default Config
```go
var DefaultConfig = Config{
Address: "localhost:1408",
Timeout: time.Duration(30) * time.Millisecond,
ScopeName: defaultScopeName,
Reset: false,
}
```

156
coherence/coherence.go Normal file
View File

@@ -0,0 +1,156 @@
package coherence
/*
* Copyright © 2023, Oracle and/or its affiliates.
*/
import (
"context"
"crypto/tls"
coh "github.com/oracle/coherence-go-client/coherence"
"time"
)
const (
defaultScopeName = "default-store"
defaultTimeout = time.Duration(30) * time.Second
defaultAddress = "localhost:1408"
)
// Storage represents an implementation of Coherence storage provider.
type Storage struct {
session *coh.Session
namedCache coh.NamedCache[string, []byte]
ctx context.Context
}
// Config defines configuration options for Coherence connection.
type Config struct {
// Address to connect to, defaults to "localhost:1408"
Address string
// Timeout is the default session timeout to connect to Coherence, defaults to 30s
Timeout time.Duration
// ScopeName defines a scope allowing for multiple storage sessions
ScopeName string
// Reset indicates if the store should be reset after being created
Reset bool
// TLSConfig specifies tls.Config to use when connecting, if nil then plain text is used
TLSConfig *tls.Config
}
// DefaultConfig defines default options.
var DefaultConfig = Config{
Address: defaultAddress,
Timeout: defaultTimeout,
ScopeName: defaultScopeName,
Reset: false,
}
// New returns a new [Storage] given a [Config].
func New(config ...Config) (*Storage, error) {
cfg := setupConfig(config...)
options := make([]func(session *coh.SessionOptions), 0)
// apply any config values as Coherence options
options = append(options, coh.WithAddress(cfg.Address))
if cfg.TLSConfig != nil {
options = append(options, coh.WithTLSConfig(cfg.TLSConfig))
} else {
options = append(options, coh.WithPlainText())
}
options = append(options, coh.WithRequestTimeout(cfg.Timeout))
// create the Coherence session
session, err := coh.NewSession(context.Background(), options...)
if err != nil {
return nil, err
}
store, err := newCoherenceStorage(session, cfg.ScopeName)
if err != nil {
return nil, err
}
// if Reset is true then reset the store
if cfg.Reset {
return store, store.Reset()
}
return store, nil
}
// setupConfig sets the default config.
func setupConfig(config ...Config) Config {
// if nothing provided then use the default config values
if len(config) == 0 {
return DefaultConfig
}
cfg := config[0]
// Check for any invalid default values and overwrite them
if cfg.Address == "" {
cfg.Address = DefaultConfig.Address
}
if cfg.ScopeName == "" {
cfg.ScopeName = DefaultConfig.ScopeName
}
if cfg.Timeout == 0 {
cfg.Timeout = DefaultConfig.Timeout
}
return cfg
}
// newCoherenceStorage returns a new Coherence [Storage].
func newCoherenceStorage(session *coh.Session, cacheName string) (*Storage, error) {
nc, err := coh.GetNamedCache[string, []byte](session, "fiber$"+cacheName)
if err != nil {
return nil, err
}
return &Storage{
session: session,
namedCache: nc,
ctx: context.Background(),
}, nil
}
func (s *Storage) Get(key string) ([]byte, error) {
v, err := s.namedCache.Get(s.ctx, key)
if err != nil {
return nil, err
}
if v == nil {
return nil, nil
}
return *v, nil
}
func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
_, err := s.namedCache.PutWithExpiry(s.ctx, key, val, exp)
return err
}
func (s *Storage) Delete(key string) error {
_, err := s.namedCache.Remove(s.ctx, key)
return err
}
func (s *Storage) Reset() error {
return s.namedCache.Clear(s.ctx)
}
func (s *Storage) Close() error {
s.session.Close()
return nil
}
func (s *Storage) Conn() *coh.Session {
return s.namedCache.GetSession()
}

230
coherence/coherence_test.go Normal file
View File

@@ -0,0 +1,230 @@
package coherence
/*
* Copyright © 2023, Oracle and/or its affiliates.
*/
import (
"github.com/stretchr/testify/require"
"os"
"testing"
"time"
)
var (
key1 = "key1"
key2 = "key2"
missingKey = "missing-key"
value1 = []byte("value1")
value2 = []byte("value2")
)
var testStore *Storage
func TestMain(m *testing.M) {
testStore, _ = New(Config{
Reset: true,
})
code := m.Run()
_ = testStore.Close()
os.Exit(code)
}
// newTestStore returns a new Coherence Store and ensures it is reset.
func newTestStore(t testing.TB, config ...Config) (*Storage, error) {
t.Helper()
testStore, err := New(config...)
require.NoError(t, err)
err = testStore.Reset()
return testStore, err
}
func Test_Coherence_Set_And_Get(t *testing.T) {
var val []byte
err := testStore.Set(key1, value1, 0)
require.NoError(t, err)
val, err = testStore.Get(key1)
require.NoError(t, err)
require.Equal(t, value1, val)
require.NotNil(t, testStore.Conn())
}
func Test_Coherence_Set_Override(t *testing.T) {
var val []byte
err := testStore.Set(key1, value1, 0)
require.NoError(t, err)
err = testStore.Set(key1, value2, 0)
require.NoError(t, err)
val, err = testStore.Get(key1)
require.NoError(t, err)
require.Equal(t, value2, val)
}
func Test_Coherence_Set_With_Reset(t *testing.T) {
var val []byte
err := testStore.Set(key1, value1, 0)
require.NoError(t, err)
val, err = testStore.Get(key1)
require.NoError(t, err)
require.Equal(t, value1, val)
// get a new store but reset it, so the subsequent Get will return nil
testStore2, err := newTestStore(t, Config{Reset: true})
require.NoError(t, err)
val, err = testStore2.Get(key1)
require.NoError(t, err)
require.True(t, len(val) == 0)
require.Equal(t, nil, testStore2.Close())
}
func Test_Coherence_Set_With_Expiry(t *testing.T) {
var val []byte
// set with an expiry of 5 seconds
err := testStore.Set(key1, value1, time.Duration(5)*time.Second)
require.NoError(t, err)
time.Sleep(time.Duration(6) * time.Second)
val, err = testStore.Get(key1)
require.NoError(t, err)
require.True(t, len(val) == 0)
}
func Test_Coherence_Get_Missing(t *testing.T) {
var val []byte
val, err := testStore.Get(missingKey)
require.NoError(t, err)
require.True(t, len(val) == 0)
}
func Test_Coherence_Reset(t *testing.T) {
var val []byte
err := testStore.Set(key1, value1, 0)
require.NoError(t, err)
err = testStore.Set(key2, value2, 0)
require.NoError(t, err)
// check the keys exist
val, err = testStore.Get(key1)
require.NoError(t, err)
require.Equal(t, value1, val)
val, err = testStore.Get(key2)
require.NoError(t, err)
require.Equal(t, value2, val)
// reset the store, this should remove both entries
err = testStore.Reset()
// check the keys have expired
val, err = testStore.Get(key1)
require.NoError(t, err)
require.True(t, len(val) == 0)
val, err = testStore.Get(key2)
require.NoError(t, err)
require.True(t, len(val) == 0)
}
func Test_Coherence_Set_And_Delete(t *testing.T) {
var val []byte
err := testStore.Set(key1, value1, 0)
require.NoError(t, err)
err = testStore.Delete(key1)
require.NoError(t, err)
// ensure the key has gone
val, err = testStore.Get(key1)
require.NoError(t, err)
require.True(t, len(val) == 0)
}
// TestCoherenceWithScope ensures we can create multiple session stores with multiple scopes.
func Test_Coherence_With_Scope(t *testing.T) {
var val []byte
// create two session stores with different scopes
testStore1, err := newTestStore(t, Config{ScopeName: "scope1"})
require.NoError(t, err)
testStore2, err := newTestStore(t, Config{ScopeName: "scope2"})
require.NoError(t, err)
// ensure we can put the same key with different values in each scope
err = testStore1.Set(key1, value1, 0)
require.NoError(t, err)
err = testStore2.Set(key1, value2, 0)
require.NoError(t, err)
// ensure the value of "key1" is different for each store
val, err = testStore1.Get(key1)
require.NoError(t, err)
require.Equal(t, value1, val)
val, err = testStore2.Get(key1)
require.NoError(t, err)
require.Equal(t, value2, val)
require.NoError(t, testStore1.Close())
require.NoError(t, testStore2.Close())
}
func Benchmark_Coherence_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_Coherence_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Coherence_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

26
coherence/go.mod Normal file
View File

@@ -0,0 +1,26 @@
module github.com/gofiber/storage/coherence
go 1.19
require (
github.com/oracle/coherence-go-client v1.0.3
github.com/stretchr/testify v1.8.4
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
require (
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/uuid v1.3.1 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
google.golang.org/grpc v1.58.3 // indirect
google.golang.org/protobuf v1.31.0 // indirect
)

40
coherence/go.sum Normal file
View File

@@ -0,0 +1,40 @@
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
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/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
github.com/oracle/coherence-go-client v1.0.3 h1:P8Rzgo21BAaJsKzemzMCFY9I27PdKBpr5ZqrHhZ7zPg=
github.com/oracle/coherence-go-client v1.0.3/go.mod h1:IAk8etsxzhUK6YaGzbInR1LYlh+1fiG85bGpyvzY0QY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ=
google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -11,6 +11,8 @@ title: Couchbase
A Couchbase storage driver using [couchbase/gocb](https://github.com/couchbase/gocb).
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
@@ -35,13 +37,13 @@ go mod init github.com/<user>/<repo>
```
And then install the Couchbase implementation:
```bash
go get github.com/gofiber/storage/couchbase
go get github.com/gofiber/storage/couchbase/v2
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/couchbase"
import "github.com/gofiber/storage/couchbase/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -26,7 +26,6 @@ func New(config ...Config) *Storage {
},
Transcoder: gocb.NewLegacyTranscoder(),
})
if err != nil {
panic(err)
}

View File

@@ -4,127 +4,142 @@ import (
"testing"
"time"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
func TestSetCouchbase_ShouldReturnNoError(t *testing.T) {
testStorage := New(Config{
func newTestStore(t testing.TB) *Storage {
t.Helper()
return New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
}
err := testStorage.Set("test", []byte("test"), 0)
func TestSetCouchbase_ShouldReturnNoError(t *testing.T) {
testStore := newTestStore(t)
utils.AssertEqual(t, nil, err)
err := testStore.Set("test", []byte("test"), 0)
require.NoError(t, err)
}
func TestGetCouchbase_ShouldReturnNil_WhenDocumentNotFound(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
testStore := newTestStore(t)
val, err := testStorage.Get("not_found_key")
val, err := testStore.Get("not_found_key")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, 0, len(val))
require.NoError(t, err)
require.Zero(t, len(val))
}
func TestSetAndGet_GetShouldReturn_SettedValueWithoutError(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
func TestSetAndGet_GetShouldReturn_SetValueWithoutError(t *testing.T) {
testStore := newTestStore(t)
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
utils.AssertEqual(t, nil, err)
err := testStore.Set("test", []byte("fiber_test_value"), 0)
require.NoError(t, err)
val, err := testStorage.Get("test")
val, err := testStore.Get("test")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, []byte("fiber_test_value"))
require.NoError(t, err)
require.Equal(t, val, []byte("fiber_test_value"))
}
func TestSetAndGet_GetShouldReturnNil_WhenTTLExpired(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
testStore := newTestStore(t)
err := testStorage.Set("test", []byte("fiber_test_value"), 3*time.Second)
utils.AssertEqual(t, nil, err)
err := testStore.Set("test", []byte("fiber_test_value"), 3*time.Second)
require.NoError(t, err)
time.Sleep(6 * time.Second)
val, err := testStorage.Get("test")
val, err := testStore.Get("test")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, 0, len(val))
require.NoError(t, err)
require.Zero(t, len(val))
}
func TestSetAndDelete_DeleteShouldReturn_NoError(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
testStore := newTestStore(t)
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
utils.AssertEqual(t, nil, err)
err := testStore.Set("test", []byte("fiber_test_value"), 0)
require.NoError(t, err)
err = testStorage.Delete("test")
utils.AssertEqual(t, nil, err)
err = testStore.Delete("test")
require.NoError(t, err)
_, err = testStorage.Get("test")
utils.AssertEqual(t, nil, err)
_, err = testStore.Get("test")
require.NoError(t, err)
}
func TestSetAndReset_ResetShouldReturn_NoError(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
testStore := newTestStore(t)
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
utils.AssertEqual(t, nil, err)
err := testStore.Set("test", []byte("fiber_test_value"), 0)
require.NoError(t, err)
err = testStorage.Reset()
utils.AssertEqual(t, nil, err)
err = testStore.Reset()
require.NoError(t, err)
_, err = testStorage.Get("test")
utils.AssertEqual(t, nil, err)
_, err = testStore.Get("test")
require.NoError(t, err)
}
func TestClose_CloseShouldReturn_NoError(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
testStore := newTestStore(t)
err := testStorage.Close()
utils.AssertEqual(t, nil, err)
err := testStore.Close()
require.NoError(t, err)
}
func TestGetConn_ReturnsNotNill(t *testing.T) {
testStorage := New(Config{
Username: "admin",
Password: "123456",
Host: "127.0.0.1:8091",
Bucket: "fiber_storage",
})
conn := testStorage.Conn()
utils.AssertEqual(t, true, conn != nil)
func TestGetConn_ReturnsNotNil(t *testing.T) {
testStore := newTestStore(t)
require.True(t, testStore.Conn() != nil)
}
func Benchmark_Couchbase_Set(b *testing.B) {
testStore := newTestStore(b)
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_Couchbase_Get(b *testing.B) {
testStore := newTestStore(b)
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Couchbase_SetAndDelete(b *testing.B) {
testStore := newTestStore(b)
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,14 +1,30 @@
module github.com/gofiber/storage/couchbase
module github.com/gofiber/storage/couchbase/v2
go 1.19
require (
github.com/couchbase/gocb/v2 v2.6.3
github.com/gofiber/utils v1.1.0
github.com/couchbase/gocb/v2 v2.7.0
github.com/stretchr/testify v1.8.4
)
require (
github.com/couchbase/gocbcore/v10 v10.2.3 // indirect
github.com/couchbase/gocbcore/v10 v10.3.0 // indirect
github.com/couchbase/gocbcoreps v0.1.0 // indirect
github.com/couchbase/goprotostellar v1.0.0 // indirect
github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20230515165046-68b522a21131 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,30 +1,166 @@
github.com/couchbase/gocb/v2 v2.6.3 h1:5RsMo+RRfK0mVxHLAfpBz3/tHlgXZb1WBNItLk9Ab+c=
github.com/couchbase/gocb/v2 v2.6.3/go.mod h1:yF5F6BHTZ/ZowhEuZbySbXrlI4rHd1TIhm5azOaMbJU=
github.com/couchbase/gocbcore/v10 v10.2.3 h1:PEkRSNSkKjUBXx82Ucr094+anoiCG5GleOOQZOHo6D4=
github.com/couchbase/gocbcore/v10 v10.2.3/go.mod h1:lYQIIk+tzoMcwtwU5GzPbDdqEkwkH3isI2rkSpfL0oM=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/couchbase/gocb/v2 v2.7.0 h1:zU/Eh9+RIS1TvQFiEF4JBajMm9VTjkeQssE9ov7F87c=
github.com/couchbase/gocb/v2 v2.7.0/go.mod h1:IHq/c3cnrqKq9scFQJ8OyD/xhqZ0b4mHYVH6VEMnsnw=
github.com/couchbase/gocbcore/v10 v10.3.0 h1:cu5KWP5Yq9cANw0UitpKWmb8mv9NDhC0ApIf9rMrVq8=
github.com/couchbase/gocbcore/v10 v10.3.0/go.mod h1:lYQIIk+tzoMcwtwU5GzPbDdqEkwkH3isI2rkSpfL0oM=
github.com/couchbase/gocbcoreps v0.1.0 h1:9+Qq+H/YXYn+H6f5A5MndUv40qdCwPwoJjinHolxq2g=
github.com/couchbase/gocbcoreps v0.1.0/go.mod h1:LjH33s/LNVBAwVU1Ka/YU3cLkuAyFC2dzGGiValJ5oY=
github.com/couchbase/goprotostellar v1.0.0 h1:umfH4hOxrUS/0QY1AkdoVcpp9rg7Jl+UNWzNJ3KxIHc=
github.com/couchbase/goprotostellar v1.0.0/go.mod h1:gs1eioLVOHETTFWxDY4v7Q/kRPMgqmX6t/TPcI429ls=
github.com/couchbaselabs/gocaves/client v0.0.0-20230307083111-cc3960c624b1/go.mod h1:AVekAZwIY2stsJOMWLAS/0uA/+qdp7pjO8EHnl61QkY=
github.com/couchbaselabs/gocaves/client v0.0.0-20230404095311-05e3ba4f0259 h1:2TXy68EGEzIMHOx9UvczR5ApVecwCfQZ0LjkmwMI6g4=
github.com/couchbaselabs/gocaves/client v0.0.0-20230404095311-05e3ba4f0259/go.mod h1:AVekAZwIY2stsJOMWLAS/0uA/+qdp7pjO8EHnl61QkY=
github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20230515165046-68b522a21131 h1:2EAfFswAfgYn3a05DVcegiw6DgMgn1Mv5eGz6IHt1Cw=
github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20230515165046-68b522a21131/go.mod h1:o7T431UOfFVHDNvMBUmUxpHnhivwv7BziUao/nMl81E=
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/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
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.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
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/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/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
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/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
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.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
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-20190213061140-3a22650c66bd/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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/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-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-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
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/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b h1:ZlWIi1wSK56/8hn4QcBp/j9M7Gt3U/3hZw3mC7vDICo=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
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/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

View File

@@ -13,7 +13,7 @@ A DynamoDB storage driver using [aws/aws-sdk-go-v2](https://github.com/aws/aws-s
**Note:** If config fields of credentials not given, credentials are using from the environment variables, ~/.aws/credentials, or EC2 instance role. If config fields of credentials given, credentials are using from config. Look at: [specifying credentials](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials)
....
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
@@ -43,13 +43,13 @@ go mod init github.com/<user>/<repo>
```
And then install the dynamodb implementation:
```bash
go get github.com/gofiber/storage/dynamodb
go get github.com/gofiber/storage/dynamodb/v2
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/dynamodb"
import "github.com/gofiber/storage/dynamodb/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -1,13 +1,16 @@
package dynamodb
import (
"os"
"testing"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
var testStore = New(
Config{
var testStore *Storage
func TestMain(m *testing.M) {
testStore = New(Config{
Table: "fiber_storage",
Endpoint: "http://localhost:8000/",
Region: "us-east-1",
@@ -15,8 +18,14 @@ var testStore = New(
AccessKey: "dummy",
SecretAccessKey: "dummy",
},
},
)
Reset: true,
})
code := m.Run()
_ = testStore.Close()
os.Exit(code)
}
func Test_DynamoDB_Set(t *testing.T) {
var (
@@ -25,7 +34,7 @@ func Test_DynamoDB_Set(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_DynamoDB_Set_Override(t *testing.T) {
@@ -35,10 +44,10 @@ func Test_DynamoDB_Set_Override(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_DynamoDB_Get(t *testing.T) {
@@ -48,18 +57,17 @@ func Test_DynamoDB_Get(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_DynamoDB_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_DynamoDB_Delete(t *testing.T) {
@@ -69,43 +77,80 @@ func Test_DynamoDB_Delete(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_DynamoDB_Reset(t *testing.T) {
var (
val = []byte("doe")
)
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_DynamoDB_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
require.Nil(t, testStore.Close())
}
func Test_DynamoDB_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
require.True(t, testStore.Conn() != nil)
}
func Benchmark_DynamoDB_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_DynamoDB_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_DynamoDB_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,28 +1,31 @@
module github.com/gofiber/storage/dynamodb
module github.com/gofiber/storage/dynamodb/v2
go 1.17
go 1.19
require (
github.com/aws/aws-sdk-go-v2 v1.20.0
github.com/aws/aws-sdk-go-v2/config v1.18.32
github.com/aws/aws-sdk-go-v2/credentials v1.13.31
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.35
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.1
github.com/gofiber/utils v1.1.0
github.com/aws/aws-sdk-go-v2 v1.24.0
github.com/aws/aws-sdk-go-v2/config v1.26.1
github.com/aws/aws-sdk-go-v2/credentials v1.16.12
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.12.12
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.26.6
github.com/stretchr/testify v1.8.4
)
require (
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.7 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.38 // indirect
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.15.1 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.12 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.31 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.31 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.13.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.21.1 // indirect
github.com/aws/smithy-go v1.14.0 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.18.5 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.8.10 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 // indirect
github.com/aws/smithy-go v1.19.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,43 +1,41 @@
github.com/aws/aws-sdk-go-v2 v1.20.0 h1:INUDpYLt4oiPOJl0XwZDK2OVAVf0Rzo+MGVTv9f+gy8=
github.com/aws/aws-sdk-go-v2 v1.20.0/go.mod h1:uWOr0m0jDsiWw8nnXiqZ+YG6LdvAlGYDLLf2NmHZoy4=
github.com/aws/aws-sdk-go-v2/config v1.18.32 h1:tqEOvkbTxwEV7hToRcJ1xZRjcATqwDVsWbAscgRKyNI=
github.com/aws/aws-sdk-go-v2/config v1.18.32/go.mod h1:U3ZF0fQRRA4gnbn9GGvOWLoT2EzzZfAWeKwnVrm1rDc=
github.com/aws/aws-sdk-go-v2/credentials v1.13.31 h1:vJyON3lG7R8VOErpJJBclBADiWTwzcwdkQpTKx8D2sk=
github.com/aws/aws-sdk-go-v2/credentials v1.13.31/go.mod h1:T4sESjBtY2lNxLgkIASmeP57b5j7hTQqCbqG0tWnxC4=
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.35 h1:JUj9P4aJEfkd2G4Ia7HoLiXj0v/Ma2vpzzpG/pYt3rM=
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.35/go.mod h1:8wa/3VX1KSmMPKUrXRb5Vhq13rYShhevGBc28tjywow=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.7 h1:X3H6+SU21x+76LRglk21dFRgMTJMa5QcpW+SqUf5BBg=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.7/go.mod h1:3we0V09SwcJBzNlnyovrR2wWJhWmVdqAsmVs4uronv8=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37 h1:zr/gxAZkMcvP71ZhQOcvdm8ReLjFgIXnIn0fw5AM7mo=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37/go.mod h1:Pdn4j43v49Kk6+82spO3Tu5gSeQXRsxo56ePPQAvFiA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31 h1:0HCMIkAkVY9KMgueD8tf4bRTUanzEYvhw7KkPXIMpO0=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31/go.mod h1:fTJDMe8LOFYtqiFFFeHA+SVMAwqLhoq0kcInYoLa9Js=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.38 h1:+i1DOFrW3YZ3apE45tCal9+aDKK6kNEbW6Ib7e1nFxE=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.38/go.mod h1:1/jLp0OgOaWIetycOmycW+vYTYgTZFPttJQRgsI1PoU=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.1 h1:E9giR4LylJO/iu/75Sb8golqceDcM26k7RZ8ng5MQ2k=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.1/go.mod h1:HVZN4RDNEO/u7XvWytqUBKm9BsBjt5OKVnRTW8NMMVc=
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.15.1 h1:W3+SLNmzfuquOygK5xinFnh3etTOX3Q/aFuXC0zeNDw=
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.15.1/go.mod h1:AddBz80OPyAl0VVaOzuOMA5wsUnoSXCuVj38mr4Qrd4=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.12 h1:uAiiHnWihGP2rVp64fHwzLDrswGjEjsPszwRYMiYQPU=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.12/go.mod h1:fUTHpOXqRQpXvEpDPSa3zxCc2fnpW6YnBoba+eQr+Bg=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.31 h1:L6ya7BMQ12LV6rsE1jiKm9ajsrnkRAYalatWRwFawHk=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.31/go.mod h1:tp7VzPEi+bKtSCP5fSrsZrB271L6oC8CWP3g2cZLofU=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.31 h1:auGDJ0aLZahF5SPvkJ6WcUuX7iQ7kyl2MamV7Tm8QBk=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.31/go.mod h1:3+lloe3sZuBQw1aBc5MyndvodzQlyqCZ7x1QPDHaWP4=
github.com/aws/aws-sdk-go-v2/service/sso v1.13.1 h1:DSNpSbfEgFXRV+IfEcKE5kTbqxm+MeF5WgyeRlsLnHY=
github.com/aws/aws-sdk-go-v2/service/sso v1.13.1/go.mod h1:TC9BubuFMVScIU+TLKamO6VZiYTkYoEHqlSQwAe2omw=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.1 h1:hd0SKLMdOL/Sl6Z0np1PX9LeH2gqNtBe0MhTedA8MGI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.1/go.mod h1:XO/VcyoQ8nKyKfFW/3DMsRQXsfh/052tHTWmg3xBXRg=
github.com/aws/aws-sdk-go-v2/service/sts v1.21.1 h1:pAOJj+80tC8sPVgSDHzMYD6KLWsaLQ1kZw31PTeORbs=
github.com/aws/aws-sdk-go-v2/service/sts v1.21.1/go.mod h1:G8SbvL0rFk4WOJroU8tKBczhsbhj2p/YY7qeJezJ3CI=
github.com/aws/smithy-go v1.14.0 h1:+X90sB94fizKjDmwb4vyl2cTTPXTE5E2G/1mjByb0io=
github.com/aws/smithy-go v1.14.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/aws/aws-sdk-go-v2 v1.24.0 h1:890+mqQ+hTpNuw0gGP6/4akolQkSToDJgHfQE7AwGuk=
github.com/aws/aws-sdk-go-v2 v1.24.0/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4=
github.com/aws/aws-sdk-go-v2/config v1.26.1 h1:z6DqMxclFGL3Zfo+4Q0rLnAZ6yVkzCRxhRMsiRQnD1o=
github.com/aws/aws-sdk-go-v2/config v1.26.1/go.mod h1:ZB+CuKHRbb5v5F0oJtGdhFTelmrxd4iWO1lf0rQwSAg=
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 h1:v/WgB8NxprNvr5inKIiVVrXPuuTegM+K8nncFkr1usU=
github.com/aws/aws-sdk-go-v2/credentials v1.16.12/go.mod h1:X21k0FjEJe+/pauud82HYiQbEr9jRKY3kXEIQ4hXeTQ=
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.12.12 h1:6p4l8wc8QMRSg8Yb6qfmiJpkfwyJtcljmGH6hcxz/ik=
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.12.12/go.mod h1:mzvoVQGD+ivawg984kcM2zd7oCFcknJ0uWTaR19lqEs=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 h1:w98BT5w+ao1/r5sUuiH6JkVzjowOKeOJRHERyy1vh58=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10/go.mod h1:K2WGI7vUvkIv1HoNbfBA1bvIZ+9kL3YVmWxeKuLQsiw=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 h1:v+HbZaCGmOwnTTVS86Fleq0vPzOd7tnJGbFhP0stNLs=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9/go.mod h1:Xjqy+Nyj7VDLBtCMkQYOw1QYfAEZCVLrfI0ezve8wd4=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 h1:N94sVhRACtXyVcjXxrwK1SKFIJrA9pOJ5yu2eSHnmls=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9/go.mod h1:hqamLz7g1/4EJP+GH5NBhcUMLjW+gKLQabgyz6/7WAU=
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 h1:GrSw8s0Gs/5zZ0SX+gX4zQjRnRsMJDJ2sLur1gRBhEM=
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.26.6 h1:kSdpnPOZL9NG5QHoKL5rTsdY+J+77hr+vqVMsPeyNe0=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.26.6/go.mod h1:o7TD9sjdgrl8l/g2a2IkYjuhxjPy9DMP2sWo7piaRBQ=
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.18.5 h1:ekyZDC/JMR4s/64oT9KsOnYWfGr03ebkwgHwe3iX9rA=
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.18.5/go.mod h1:T461RxBmf94zuOuIUifdy5Zim3DJTo0X4nXE3vodXQI=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.8.10 h1:h8uweImUHGgyNKrxIUwpPs6XiH0a6DJ17hSJvFLgPAo=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.8.10/go.mod h1:LZKVtMBiZfdvUWgwg61Qo6kyAmE5rn9Dw36AqnycvG8=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 h1:Nf2sHxjMJR8CSImIVCONRi4g0Su3J+TSTbS7G0pUeMU=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9/go.mod h1:idky4TER38YIjr2cADF1/ugFMKvZV7p//pVeV5LZbF0=
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 h1:ldSFWz9tEHAwHNmjx2Cvy1MjP5/L9kNoR0skc6wyOOM=
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5/go.mod h1:CaFfXLYL376jgbP7VKC96uFcU8Rlavak0UlAwk1Dlhc=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 h1:2k9KmFawS63euAkY4/ixVNsYYwrwnd5fIvgEKkfZFNM=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5/go.mod h1:W+nd4wWDVkSUIox9bacmkBP5NMFQeTJ/xqNabpzSR38=
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 h1:5UYvv8JUvllZsRnfrcMQ+hJ9jNICmcgKPAO1CER25Wg=
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5/go.mod h1:XX5gh4CB7wAs4KhcF46G6C8a2i7eupU19dcAAE+EydU=
github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM=
github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
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/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
@@ -45,6 +43,11 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -11,6 +11,8 @@ title: Etcd
A Etcd storage driver using [`etcd-io/etcd`](https://github.com/etcd-io/etcd).
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
@@ -36,13 +38,13 @@ go mod init github.com/<user>/<repo>
```
And then install the etcd implementation:
```bash
go get github.com/gofiber/storage/etcd
go get github.com/gofiber/storage/etcd/v2
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/etcd"
import "github.com/gofiber/storage/etcd/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -2,8 +2,9 @@ package etcd
import (
"context"
"go.etcd.io/etcd/client/v3"
"time"
"go.etcd.io/etcd/client/v3"
)
type Storage struct {
@@ -36,7 +37,6 @@ func (s *Storage) Get(key string) ([]byte, error) {
return nil, nil
}
item, err := s.db.Get(context.Background(), key)
if err != nil {
return nil, err
}
@@ -55,7 +55,6 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
}
lease, err := s.db.Grant(context.Background(), int64(exp.Seconds()))
if err != nil {
return err
}
@@ -83,7 +82,6 @@ func (s *Storage) Delete(key string) error {
func (s *Storage) Reset() error {
_, err := s.db.Delete(context.Background(), "", clientv3.WithPrefix())
if err != nil {
return err
}

View File

@@ -1,110 +1,132 @@
package etcd
import (
"github.com/gofiber/utils"
"os"
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestSetEtcd_ShouldReturnNoError(t *testing.T) {
testStorage := New(Config{
var testStore *Storage
func TestMain(m *testing.M) {
testStore = New(Config{
Endpoints: []string{"localhost:2379"},
})
code := m.Run()
_ = testStore.Reset()
_ = testStore.Close()
os.Exit(code)
}
func TestSetEtcd_ShouldReturnNoError(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStorage.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err := testStore.Set(key, val, 0)
require.NoError(t, err)
}
func TestGetEtcd_ShouldReturnNil_WhenDocumentNotFound(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
val, err := testStore.Get("not_found_key")
val, err := testStorage.Get("not_found_key")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, 0, len(val))
require.NoError(t, err)
require.Zero(t, len(val))
}
func TestSetAndGet_GetShouldReturn_SettedValueWithoutError(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
err := testStore.Set("test", []byte("fiber_test_value"), 0)
require.NoError(t, err)
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
utils.AssertEqual(t, nil, err)
val, err := testStore.Get("test")
val, err := testStorage.Get("test")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, []byte("fiber_test_value"))
require.NoError(t, err)
require.Equal(t, val, []byte("fiber_test_value"))
}
func TestSetAndGet_GetShouldReturnNil_WhenTTLExpired(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
err := testStorage.Set("test", []byte("fiber_test_value"), 3*time.Second)
utils.AssertEqual(t, nil, err)
err := testStore.Set("test", []byte("fiber_test_value"), 3*time.Second)
require.NoError(t, err)
time.Sleep(6 * time.Second)
val, err := testStorage.Get("test")
val, err := testStore.Get("test")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, 0, len(val))
require.NoError(t, err)
require.Zero(t, len(val))
}
func TestSetAndDelete_DeleteShouldReturn_NoError(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
err := testStore.Set("test", []byte("fiber_test_value"), 0)
require.NoError(t, err)
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
utils.AssertEqual(t, nil, err)
err = testStore.Delete("test")
require.NoError(t, err)
err = testStorage.Delete("test")
utils.AssertEqual(t, nil, err)
_, err = testStorage.Get("test")
utils.AssertEqual(t, nil, err)
_, err = testStore.Get("test")
require.NoError(t, err)
}
func TestSetAndReset_ResetShouldReturn_NoError(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
err := testStore.Set("test", []byte("fiber_test_value"), 0)
require.NoError(t, err)
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
utils.AssertEqual(t, nil, err)
err = testStore.Reset()
require.NoError(t, err)
err = testStorage.Reset()
utils.AssertEqual(t, nil, err)
_, err = testStorage.Get("test")
utils.AssertEqual(t, nil, err)
_, err = testStore.Get("test")
require.NoError(t, err)
}
func TestClose_CloseShouldReturn_NoError(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
err := testStorage.Close()
utils.AssertEqual(t, nil, err)
err := testStore.Close()
require.NoError(t, err)
}
func TestGetConn_ReturnsNotNill(t *testing.T) {
testStorage := New(Config{
Endpoints: []string{"localhost:2379"},
})
conn := testStorage.Conn()
utils.AssertEqual(t, true, conn != nil)
require.True(t, testStore.Conn() != nil)
}
func Benchmark_Etcd_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_Etcd_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Etcd_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -1,26 +1,30 @@
module github.com/gofiber/storage/etcd
module github.com/gofiber/storage/etcd/v2
go 1.19
require (
github.com/gofiber/utils v1.1.0
go.etcd.io/etcd/client/v3 v3.5.9
github.com/stretchr/testify v1.8.4
go.etcd.io/etcd/client/v3 v3.5.11
)
require (
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.24.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/sys v0.6.0 // indirect
golang.org/x/text v0.8.0 // indirect
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect
google.golang.org/grpc v1.55.0 // indirect
google.golang.org/protobuf v1.30.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.etcd.io/etcd/api/v3 v3.5.11 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.11 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.25.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,14 +1,11 @@
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
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/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
@@ -18,27 +15,23 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs=
go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k=
go.etcd.io/etcd/client/pkg/v3 v3.5.9 h1:oidDC4+YEuSIQbsR94rY9gur91UPL6DnxDCIYd2IGsE=
go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4=
go.etcd.io/etcd/client/v3 v3.5.9 h1:r5xghnU7CwbUxD/fbUtRyJGaYNfDun8sp/gTr1hew6E=
go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
go.etcd.io/etcd/api/v3 v3.5.11 h1:B54KwXbWDHyD3XYAwprxNzTe7vlhR69LuBgZnMVvS7E=
go.etcd.io/etcd/api/v3 v3.5.11/go.mod h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4=
go.etcd.io/etcd/client/pkg/v3 v3.5.11 h1:bT2xVspdiCj2910T0V+/KHcVKjkUrCZVtk8J2JF2z1A=
go.etcd.io/etcd/client/pkg/v3 v3.5.11/go.mod h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4=
go.etcd.io/etcd/client/v3 v3.5.11 h1:ajWtgoNSZJ1gmS8k+icvPtqsqEav+iUorF7b0qozgUU=
go.etcd.io/etcd/client/v3 v3.5.11/go.mod h1:a6xQUEqFJ8vztO1agJh/KQKOMfFI8og52ZconzcDJwE=
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c=
go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -48,20 +41,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/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-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@@ -70,14 +63,19 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA=
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY=
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

2
go.mod
View File

@@ -1,3 +1,3 @@
module github.com/gofiber/storage
go 1.18
go 1.19

View File

@@ -11,6 +11,8 @@ title: Memcache
A Memcache storage driver using [`bradfitz/gomemcache`](https://github.com/bradfitz/gomemcache).
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
@@ -36,7 +38,7 @@ go mod init github.com/<user>/<repo>
```
And then install the memory implementation:
```bash
go get github.com/gofiber/storage/memory
go get github.com/gofiber/storage/memory/v2
```
### Examples

View File

@@ -1,8 +1,14 @@
module github.com/gofiber/storage/memcache
module github.com/gofiber/storage/memcache/v2
go 1.17
go 1.19
require (
github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822
github.com/gofiber/utils v1.1.0
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285
github.com/stretchr/testify v1.8.4
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,4 +1,12 @@
github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822 h1:hjXJeBcAMS1WGENGqDpzvmgS43oECTx8UXq31UBu0Jw=
github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 h1:Dr+ezPI5ivhMn/3WOoB86XzMhie146DNaBbhaQWZHMY=
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -6,7 +6,6 @@ import (
"time"
mc "github.com/bradfitz/gomemcache/memcache"
"github.com/gofiber/utils"
)
// Storage interface that is implemented by storage providers
@@ -21,7 +20,7 @@ func New(config ...Config) *Storage {
cfg := configDefault(config...)
// Split comma separated servers into slice
serverList := strings.Split(utils.Trim(cfg.Servers, ' '), ",")
serverList := strings.Split(strings.TrimSpace(cfg.Servers), ",")
// Create db
db := mc.New(serverList...)

View File

@@ -1,13 +1,25 @@
package memcache
import (
"os"
"testing"
"time"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
var testStore = New()
var testStore *Storage
func TestMain(m *testing.M) {
testStore = New(Config{
Reset: true,
})
code := m.Run()
_ = testStore.Close()
os.Exit(code)
}
func Test_Memcache_Set(t *testing.T) {
var (
@@ -16,7 +28,7 @@ func Test_Memcache_Set(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_Memcache_Set_Override(t *testing.T) {
@@ -26,10 +38,10 @@ func Test_Memcache_Set_Override(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
}
func Test_Memcache_Get(t *testing.T) {
@@ -39,11 +51,11 @@ func Test_Memcache_Get(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
}
func Test_Memcache_Set_Expiration(t *testing.T) {
@@ -54,26 +66,23 @@ func Test_Memcache_Set_Expiration(t *testing.T) {
)
err := testStore.Set(key, val, exp)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
time.Sleep(1100 * time.Millisecond)
}
func Test_Memcache_Get_Expired(t *testing.T) {
var (
key = "john"
)
key := "john"
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Memcache_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Memcache_Delete(t *testing.T) {
@@ -83,43 +92,80 @@ func Test_Memcache_Delete(t *testing.T) {
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Memcache_Reset(t *testing.T) {
var (
val = []byte("doe")
)
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
}
func Test_Memcache_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
require.Nil(t, testStore.Close())
}
func Test_Memcache_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
require.True(t, testStore.Conn() != nil)
}
func Benchmark_Memcache_Set(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
require.NoError(b, err)
}
func Benchmark_Memcache_Get(b *testing.B) {
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Memcache_SetAndDelete(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

View File

@@ -12,6 +12,8 @@ title: Memory
An in-memory storage driver.
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
@@ -29,6 +31,7 @@ func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error
func (s *Storage) Close() error
func (s *Storage) Conn() map[string]entry
func (s *Storage) Keys() ([][]byte, error)
```
### Installation
@@ -38,13 +41,13 @@ go mod init github.com/<user>/<repo>
```
And then install the memory implementation:
```bash
go get github.com/gofiber/storage/memory
go get github.com/gofiber/storage/memory/v2
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/memory"
import "github.com/gofiber/storage/memory/v2"
```
You can use the following possibilities to create a storage:

View File

@@ -1,5 +1,11 @@
module github.com/gofiber/storage/memory
module github.com/gofiber/storage/memory/v2
go 1.17
go 1.19
require github.com/gofiber/utils v1.1.0
require github.com/stretchr/testify v1.8.4
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,2 +1,10 @@
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -5,12 +5,12 @@ import (
"testing"
"time"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
func checkTimeStamp(t testing.TB, expectedCurrent, actualCurrent uint32) {
// test with some buffer in front and back of the expectedCurrent time -> because of the timing on the work machine
utils.AssertEqual(t, true, actualCurrent >= expectedCurrent-1 || actualCurrent <= expectedCurrent+1)
require.True(t, actualCurrent >= expectedCurrent-1 || actualCurrent <= expectedCurrent+1)
}
func Test_TimeStampUpdater(t *testing.T) {

View File

@@ -5,7 +5,7 @@ import (
"sync/atomic"
"time"
"github.com/gofiber/storage/memory/internal"
"github.com/gofiber/storage/memory/v2/internal"
)
// Storage interface that is implemented by storage providers
@@ -141,3 +141,29 @@ func (s *Storage) Conn() map[string]entry {
defer s.mux.RUnlock()
return s.db
}
// Return all the keys
func (s *Storage) Keys() ([][]byte, error) {
s.mux.RLock()
defer s.mux.RUnlock()
if len(s.db) == 0 {
return nil, nil
}
ts := atomic.LoadUint32(&internal.Timestamp)
keys := make([][]byte, 0, len(s.db))
for key, v := range s.db {
// Filter out the expired keys
if v.expiry == 0 || v.expiry > ts {
keys = append(keys, []byte(key))
}
}
// Double check if no valid keys were found
if len(keys) == 0 {
return nil, nil
}
return keys, nil
}

View File

@@ -4,151 +4,229 @@ import (
"testing"
"time"
"github.com/gofiber/utils"
"github.com/stretchr/testify/require"
)
var testStore = New()
func Test_Storage_Memory_Set(t *testing.T) {
var (
key = "john"
val = []byte("doe")
testStore = New()
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
keys, err := testStore.Keys()
require.NoError(t, err)
require.Len(t, keys, 1)
}
func Test_Storage_Memory_Set_Override(t *testing.T) {
var (
key = "john"
val = []byte("doe")
testStore = New()
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
keys, err := testStore.Keys()
require.NoError(t, err)
require.Len(t, keys, 1)
}
func Test_Storage_Memory_Get(t *testing.T) {
var (
key = "john"
val = []byte("doe")
testStore = New()
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
require.NoError(t, err)
require.Equal(t, val, result)
keys, err := testStore.Keys()
require.NoError(t, err)
require.Len(t, keys, 1)
}
func Test_Storage_Memory_Set_Expiration(t *testing.T) {
var (
key = "john"
val = []byte("doe")
exp = 1 * time.Second
testStore = New()
key = "john"
val = []byte("doe")
exp = 1 * time.Second
)
err := testStore.Set(key, val, exp)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
time.Sleep(1100 * time.Millisecond)
}
func Test_Storage_Memory_Get_Expired(t *testing.T) {
var (
key = "john"
)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
keys, err := testStore.Keys()
require.NoError(t, err)
require.Nil(t, keys)
}
func Test_Storage_Memory_Set_Long_Expiration_with_Keys(t *testing.T) {
var (
testStore = New()
key = "john"
val = []byte("doe")
exp = 5 * time.Second
)
keys, err := testStore.Keys()
require.NoError(t, err)
require.Nil(t, keys)
err = testStore.Set(key, val, exp)
require.NoError(t, err)
time.Sleep(1100 * time.Millisecond)
keys, err = testStore.Keys()
require.NoError(t, err)
require.Len(t, keys, 1)
time.Sleep(4000 * time.Millisecond)
result, err := testStore.Get(key)
require.NoError(t, err)
require.Zero(t, len(result))
keys, err = testStore.Keys()
require.NoError(t, err)
require.Nil(t, keys)
}
func Test_Storage_Memory_Get_NotExist(t *testing.T) {
testStore := New()
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
keys, err := testStore.Keys()
require.NoError(t, err)
require.Nil(t, keys)
}
func Test_Storage_Memory_Delete(t *testing.T) {
var (
key = "john"
val = []byte("doe")
testStore = New()
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
keys, err := testStore.Keys()
require.NoError(t, err)
require.Len(t, keys, 1)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
keys, err = testStore.Keys()
require.NoError(t, err)
require.Nil(t, keys)
}
func Test_Storage_Memory_Reset(t *testing.T) {
var (
val = []byte("doe")
)
testStore := New()
val := []byte("doe")
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
keys, err := testStore.Keys()
require.NoError(t, err)
require.Len(t, keys, 2)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
require.NoError(t, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
require.NoError(t, err)
require.Zero(t, len(result))
keys, err = testStore.Keys()
require.NoError(t, err)
require.Nil(t, keys)
}
func Test_Storage_Memory_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
testStore := New()
require.Nil(t, testStore.Close())
}
func Test_Storage_Memory_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
testStore := New()
require.True(t, testStore.Conn() != nil)
}
func Benchmark_Memory_Set(b *testing.B) {
testStore := New()
b.ReportAllocs()
b.ResetTimer()
// go test -v -run=^$ -bench=Benchmark_Storage_Memory -benchmem -count=4
func Benchmark_Storage_Memory(b *testing.B) {
keyLength := 1000
keys := make([]string, keyLength)
for i := 0; i < keyLength; i++ {
keys[i] = utils.UUID()
var err error
for i := 0; i < b.N; i++ {
err = testStore.Set("john", []byte("doe"), 0)
}
value := []byte("joe")
ttl := 2 * time.Second
b.Run("fiber_memory", func(b *testing.B) {
d := New()
b.ReportAllocs()
b.ResetTimer()
for n := 0; n < b.N; n++ {
for _, key := range keys {
d.Set(key, value, ttl)
}
for _, key := range keys {
_, _ = d.Get(key)
}
for _, key := range keys {
d.Delete(key)
}
}
})
require.NoError(b, err)
}
func Benchmark_Memory_Get(b *testing.B) {
testStore := New()
err := testStore.Set("john", []byte("doe"), 0)
require.NoError(b, err)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, err = testStore.Get("john")
}
require.NoError(b, err)
}
func Benchmark_Memory_SetAndDelete(b *testing.B) {
testStore := New()
b.ReportAllocs()
b.ResetTimer()
var err error
for i := 0; i < b.N; i++ {
_ = testStore.Set("john", []byte("doe"), 0)
err = testStore.Delete("john")
}
require.NoError(b, err)
}

137
minio/README.md Normal file
View File

@@ -0,0 +1,137 @@
---
id: minio
title: Minio
---
![Release](https://img.shields.io/github/v/tag/gofiber/storage?filter=minio*)
[![Discord](https://img.shields.io/discord/704680098577514527?style=flat&label=%F0%9F%92%AC%20discord&color=00ACD7)](https://gofiber.io/discord)
![Test](https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-minio.yml?label=Tests)
![Security](https://img.shields.io/github/actions/workflow/status/gofiber/storage/gosec.yml?label=Security)
![Linter](https://img.shields.io/github/actions/workflow/status/gofiber/storage/linter.yml?label=Linter)
## Minio
A Minio storage driver using [minio/minio-go](https://github.com/minio/minio-go).
**Note: Requires Go 1.19 and above**
### Table of Contents
- [Signatures](#signatures)
- [Installation](#installation)
- [Examples](#examples)
- [Config](#config)
- [Default Config](#default-config)
### Signatures
```go
func New(config ...Config) Storage
func (s *Storage) Get(key string) ([]byte, error)
func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error
func (s *Storage) Close() error
func (s *Storage) CheckBucket() error
func (s *Storage) CreateBucket() error
func (s *Storage) RemoveBucket() error
func (s *Storage) Conn() *minio.Client
```
### Installation
Install the Minio implementation:
```bash
go get github.com/gofiber/storage/minio
```
And then run minio on Docker
```bash
docker run -d --restart always -p 9000:9000 -p 9001:9001 --name storage-minio --volume=minio:/var/lib/minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server --console-address ":9001" /var/lib/minio
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/minio"
```
You can use the following possibilities to create a storage:
```go
// Initialize default config
store := minio.New()
// Initialize custom config
store := minio.New(minio.Config{
Bucket: "fiber-bucket",
Endpoint: "localhost:9000",
Credentials: Credentials{
AccessKeyID: "minio-user",
SecretAccessKey: "minio-password",
},
})
```
### Config
```go
// Config defines the config for storage.
type Config struct {
// Bucket
// Default fiber-bucket
Bucket string
// Endpoint is a host name or an IP address
Endpoint string
// Region Set this value to override region cache
// Optional
Region string
// Token Set this value to provide x-amz-security-token (AWS S3 specific)
// Optional, Default is false
Token string
// Secure If set to true, https is used instead of http.
// Default is false
Secure bool
// Reset clears any existing keys in existing Bucket
// Optional. Default is false
Reset bool
// Credentials Minio access key and Minio secret key.
// Need to be defined
Credentials Credentials
// GetObjectOptions Options for GET requests specifying additional options like encryption, If-Match
GetObjectOptions minio.GetObjectOptions
// PutObjectOptions
// Allows user to set optional custom metadata, content headers, encryption keys and number of threads for multipart upload operation.
PutObjectOptions minio.PutObjectOptions
// ListObjectsOptions Options per to list objects
ListObjectsOptions minio.ListObjectsOptions
// RemoveObjectOptions Allows user to set options
RemoveObjectOptions minio.RemoveObjectOptions
}
```
### Default Config
The default configuration lacks Bucket, Region, and Endpoint which are all required and must be overwritten:
```go
// ConfigDefault is the default config
var ConfigDefault = Config{
Bucket: "fiber-bucket",
Endpoint: "",
Region: "",
Token: "",
Secure: false,
Reset: false,
Credentials: Credentials{},
GetObjectOptions: minio.GetObjectOptions{},
PutObjectOptions: minio.PutObjectOptions{},
ListObjectsOptions: minio.ListObjectsOptions{},
RemoveObjectOptions: minio.RemoveObjectOptions{},
}
type Credentials struct {
AccessKeyID string
SecretAccessKey string
}
```

88
minio/config.go Normal file
View File

@@ -0,0 +1,88 @@
package minio
import (
"github.com/minio/minio-go/v7"
)
// Config defines the config for storage.
type Config struct {
// Bucket
// Default fiber-bucket
Bucket string
// Endpoint is a host name or an IP address
Endpoint string
// Region Set this value to override region cache
// Optional
Region string
// Token Set this value to provide x-amz-security-token (AWS S3 specific)
// Optional, Default is false
Token string
// Secure If set to true, https is used instead of http.
// Default is false
Secure bool
// Reset clears any existing keys in existing Bucket
// Optional. Default is false
Reset bool
// Credentials Minio access key and Minio secret key.
// Need to be defined
Credentials Credentials
// GetObjectOptions Options for GET requests specifying additional options like encryption, If-Match
GetObjectOptions minio.GetObjectOptions
// PutObjectOptions
// Allows user to set optional custom metadata, content headers, encryption keys and number of threads for multipart upload operation.
PutObjectOptions minio.PutObjectOptions
// ListObjectsOptions Options per to list objects
ListObjectsOptions minio.ListObjectsOptions
// RemoveObjectOptions Allows user to set options
RemoveObjectOptions minio.RemoveObjectOptions
}
type Credentials struct {
// AccessKeyID is like user-id that uniquely identifies your account.
AccessKeyID string
// SecretAccessKey is the password to your account.
SecretAccessKey string
}
// ConfigDefault is the default config
var ConfigDefault = Config{
Bucket: "fiber-bucket",
Endpoint: "",
Region: "",
Token: "",
Secure: false,
Reset: false,
Credentials: Credentials{},
GetObjectOptions: minio.GetObjectOptions{},
PutObjectOptions: minio.PutObjectOptions{},
ListObjectsOptions: minio.ListObjectsOptions{},
RemoveObjectOptions: minio.RemoveObjectOptions{},
}
// Helper function to set default values
func configDefault(config ...Config) Config {
// Return default config if nothing provided
if len(config) < 1 {
return ConfigDefault
}
// Override default config
cfg := config[0]
// Set default values
if cfg.Bucket == "" {
cfg.Bucket = ConfigDefault.Bucket
}
return cfg
}

31
minio/go.mod Normal file
View File

@@ -0,0 +1,31 @@
module github.com/gofiber/storage/minio
go 1.19
require (
github.com/minio/minio-go/v7 v7.0.66
github.com/stretchr/testify v1.8.4
github.com/valyala/bytebufferpool v1.0.0
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/google/uuid v1.5.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.17.4 // indirect
github.com/klauspost/cpuid/v2 v2.2.6 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/minio/sha256-simd v1.0.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/rs/xid v1.5.0 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
golang.org/x/crypto v0.16.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

56
minio/go.sum Normal file
View File

@@ -0,0 +1,56 @@
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/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4=
github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc=
github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.66 h1:bnTOXOHjOqv/gcMuiVbN9o2ngRItvqE774dG9nq0Dzw=
github.com/minio/minio-go/v7 v7.0.66/go.mod h1:DHAgmyQEGdW3Cif0UooKOyrT3Vxs82zNdV6tkKhRtbs=
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

175
minio/minio.go Normal file
View File

@@ -0,0 +1,175 @@
package minio
import (
"bytes"
"context"
"errors"
"log"
"net/http"
"sync"
"time"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"github.com/valyala/bytebufferpool"
)
// Storage interface that is implemented by storage providers
type Storage struct {
minio *minio.Client
cfg Config
ctx context.Context
mu sync.Mutex
}
// New creates a new storage
func New(config ...Config) *Storage {
// Set default config
cfg := configDefault(config...)
// Minio instance
minioClient, err := minio.New(cfg.Endpoint, &minio.Options{
Creds: credentials.NewStaticV4(cfg.Credentials.AccessKeyID, cfg.Credentials.SecretAccessKey, cfg.Token),
Secure: cfg.Secure,
Region: cfg.Region,
})
if err != nil {
panic(err)
}
storage := &Storage{minio: minioClient, cfg: cfg, ctx: context.Background()}
// Reset all entries if set to true
if cfg.Reset {
if err = storage.Reset(); err != nil {
panic(err)
}
}
// check bucket
err = storage.CheckBucket()
if err != nil {
// create bucket
err = storage.CreateBucket()
if err != nil {
panic(err)
}
}
return storage
}
// Get value by key
func (s *Storage) Get(key string) ([]byte, error) {
if len(key) <= 0 {
return nil, errors.New("the key value is required")
}
// get object
object, err := s.minio.GetObject(s.ctx, s.cfg.Bucket, key, s.cfg.GetObjectOptions)
if err != nil {
return nil, err
}
// convert to byte
bb := bytebufferpool.Get()
defer bytebufferpool.Put(bb)
_, err = bb.ReadFrom(object)
if err != nil {
return nil, err
}
return bb.Bytes(), nil
}
// Set key with value
func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
if len(key) <= 0 {
return errors.New("the key value is required")
}
// create Reader
file := bytes.NewReader(val)
// set content type
s.mu.Lock()
s.cfg.PutObjectOptions.ContentType = http.DetectContentType(val)
// put object
_, err := s.minio.PutObject(s.ctx, s.cfg.Bucket, key, file, file.Size(), s.cfg.PutObjectOptions)
s.mu.Unlock()
return err
}
// Delete entry by key
func (s *Storage) Delete(key string) error {
if len(key) <= 0 {
return errors.New("the key value is required")
}
// remove
err := s.minio.RemoveObject(s.ctx, s.cfg.Bucket, key, s.cfg.RemoveObjectOptions)
return err
}
// Reset all entries, including unexpired
func (s *Storage) Reset() error {
objectsCh := make(chan minio.ObjectInfo)
// Send object names that are needed to be removed to objectsCh
go func() {
defer close(objectsCh)
// List all objects from a bucket-name with a matching prefix.
for object := range s.minio.ListObjects(s.ctx, s.cfg.Bucket, s.cfg.ListObjectsOptions) {
if object.Err != nil {
log.Println(object.Err)
}
objectsCh <- object
}
}()
opts := minio.RemoveObjectsOptions{
GovernanceBypass: true,
}
for err := range s.minio.RemoveObjects(s.ctx, s.cfg.Bucket, objectsCh, opts) {
log.Println("Error detected during deletion: ", err)
}
return nil
}
// Close the storage
func (s *Storage) Close() error {
return nil
}
// CheckBucket Check to see if bucket already exists
func (s *Storage) CheckBucket() error {
exists, err := s.minio.BucketExists(s.ctx, s.cfg.Bucket)
if !exists || err != nil {
return errors.New("the specified bucket does not exist")
}
return nil
}
// CreateBucket Bucket not found so Make a new bucket
func (s *Storage) CreateBucket() error {
return s.minio.MakeBucket(s.ctx, s.cfg.Bucket, minio.MakeBucketOptions{Region: s.cfg.Region})
}
// RemoveBucket Bucket remove if bucket is empty
func (s *Storage) RemoveBucket() error {
return s.minio.RemoveBucket(s.ctx, s.cfg.Bucket)
}
// Conn Return minio client
func (s *Storage) Conn() *minio.Client {
return s.minio
}

Some files were not shown because too many files have changed in this diff Show More