Compare commits

...

379 Commits

Author SHA1 Message Date
RW
7e7d4f371b Merge pull request #656 from gofiber/dependabot/go_modules/mssql/github.com/microsoft/go-mssqldb-0.18.0
Bump github.com/microsoft/go-mssqldb from 0.17.0 to 0.18.0 in /mssql
2022-12-06 08:19:33 +01:00
RW
bf28559433 Merge pull request #647 from gofiber/dependabot/go_modules/mysql/github.com/go-sql-driver/mysql-1.7.0
Bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0 in /mysql
2022-12-06 08:15:33 +01:00
dependabot[bot]
8915ac5932 Bump github.com/microsoft/go-mssqldb from 0.17.0 to 0.18.0 in /mssql
Bumps [github.com/microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/microsoft/go-mssqldb/releases)
- [Commits](https://github.com/microsoft/go-mssqldb/compare/v0.17.0...v0.18.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>
2022-12-06 07:09:55 +00:00
dependabot[bot]
fd4fac3adf Bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0 in /mysql
Bumps [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/go-sql-driver/mysql/releases)
- [Changelog](https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-sql-driver/mysql/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: github.com/go-sql-driver/mysql
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 07:07:51 +00:00
RW
8aa8fbeefc Merge pull request #652 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.43
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.42 to 1.11.43 in /s3
2022-12-06 08:01:26 +01:00
dependabot[bot]
bf983c20f9 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.42 to 1.11.43.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.42...feature/s3/manager/v1.11.43)

---
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>
2022-12-06 06:52:40 +00:00
RW
13e08cef5a Merge pull request #654 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.29.5
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.29.4 to 1.29.5 in /s3
2022-12-06 07:51:48 +01:00
dependabot[bot]
c1af83c69d 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.29.4 to 1.29.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.29.4...service/s3/v1.29.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>
2022-12-06 06:44:29 +00:00
RW
b68751d060 Merge pull request #645 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.7
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.6 to 1.10.7 in /dynamodb
2022-12-05 09:43:48 +01:00
dependabot[bot]
6c4deabb76 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.6 to 1.10.7.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/voiceid/v1.10.6...service/voiceid/v1.10.7)

---
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>
2022-12-05 08:33:09 +00:00
RW
77503ea5d8 Merge pull request #650 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.17.8
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.17.7 to 1.17.8 in /dynamodb
2022-12-05 09:32:47 +01:00
dependabot[bot]
d89901cc12 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.17.7 to 1.17.8.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.7...config/v1.17.8)

---
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>
2022-12-05 08:21:30 +00:00
RW
335fab6bdf Merge pull request #646 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.4
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.3 to 1.18.4 in /dynamodb
2022-12-05 09:20:32 +01:00
dependabot[bot]
0f10913b8b 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.3 to 1.18.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.3...config/v1.18.4)

---
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>
2022-12-05 07:51:45 +00:00
RW
26a210373f Merge pull request #653 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.4
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.3 to 1.18.4 in /s3
2022-12-05 08:51:31 +01:00
RW
213f994147 Merge pull request #649 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.4
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.3 to 1.13.4 in /dynamodb
2022-12-05 08:51:07 +01:00
dependabot[bot]
588a599ecb Bump github.com/aws/aws-sdk-go-v2/config from 1.18.3 to 1.18.4 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.3 to 1.18.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.3...config/v1.18.4)

---
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>
2022-12-05 07:09:28 +00:00
dependabot[bot]
c08a1ff422 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.3 to 1.13.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.13.3...service/mq/v1.13.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>
2022-12-05 07:02:59 +00:00
RW
a21499405c Merge pull request #641 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.42
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.41 to 1.11.42 in /s3
2022-11-28 10:02:26 +01:00
dependabot[bot]
43150c5fea 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.41 to 1.11.42.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.41...feature/s3/manager/v1.11.42)

---
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>
2022-11-28 08:49:42 +00:00
RW
41bbe83912 Merge pull request #644 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.3
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.2 to 1.18.3 in /s3
2022-11-28 09:48:54 +01:00
dependabot[bot]
4b6d204e22 Bump github.com/aws/aws-sdk-go-v2/config from 1.18.2 to 1.18.3 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.2 to 1.18.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.2...config/v1.18.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>
2022-11-28 08:32:52 +00:00
RW
1190344d37 Merge pull request #639 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.6
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.5 to 1.10.6 in /dynamodb
2022-11-28 09:32:25 +01:00
RW
0ab3d410b2 Merge pull request #640 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.3
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.2 to 1.18.3 in /dynamodb
2022-11-28 09:31:59 +01:00
dependabot[bot]
4a7266f166 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.2 to 1.18.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.2...config/v1.18.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>
2022-11-28 07:54:39 +00:00
RW
866bd8730b Merge pull request #643 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.13.3
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.2 to 1.13.3 in /s3
2022-11-28 08:53:57 +01:00
dependabot[bot]
4f5088e8da 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.2 to 1.13.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.13.2...service/mq/v1.13.3)

---
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>
2022-11-28 07:38:24 +00:00
dependabot[bot]
50cf5a78b1 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.5 to 1.10.6.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/voiceid/v1.10.5...service/voiceid/v1.10.6)

---
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>
2022-11-28 07:38:23 +00:00
RW
aee8189852 Merge pull request #642 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.29.4
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.29.3 to 1.29.4 in /s3
2022-11-28 08:37:49 +01:00
RW
c906c8ae1c Merge pull request #638 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.17.7
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.17.6 to 1.17.7 in /dynamodb
2022-11-28 08:37:41 +01:00
dependabot[bot]
3c69d1c1da 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.17.6 to 1.17.7.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.6...config/v1.17.7)

---
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>
2022-11-28 07:33:37 +00:00
RW
cc691bdbd6 Merge pull request #637 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.3
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.2 to 1.13.3 in /dynamodb
2022-11-28 08:32:49 +01:00
dependabot[bot]
f8ddd21b97 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.29.3 to 1.29.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.29.3...service/s3/v1.29.4)

---
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>
2022-11-28 07:06:53 +00:00
dependabot[bot]
1a3961f00d 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.2 to 1.13.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.13.2...service/mq/v1.13.3)

---
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>
2022-11-28 07:01:36 +00:00
M. Efe Çetin
6c0e70cefb change dependabot interval of s3 & dynamodb 2022-11-20 19:09:44 +03:00
RW
accf8d2c15 Merge pull request #636 from gofiber/deprecate-go1415
Deprecate support for go 1.14 and go 1.15
2022-11-20 16:59:31 +01:00
gaby
9677f3549e Cleanup mongodb go.mod 2022-11-20 05:47:31 -08:00
gaby
2f911653ec Update readme file 2022-11-20 05:38:09 -08:00
gaby
bc8bb06e3c Remove 1.16 from bbolt and ristretto 2022-11-20 05:21:44 -08:00
RW
d19802b57a Update security.yml 2022-11-20 14:14:51 +01:00
RW
cbfbd984d3 Update linter.yml 2022-11-20 14:14:37 +01:00
gaby
a3b1139001 Breakdown local storage tests into separate files. Fix go.sum files 2022-11-20 04:59:16 -08:00
gaby
5a40e781c1 Deprecate support for go 1.14 and go 1.15 2022-11-20 04:20:05 -08:00
RW
e819b50e03 Merge pull request #634 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.41
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.40 to 1.11.41 in /s3
2022-11-18 08:31:09 +01:00
dependabot[bot]
57394e68cd 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.40 to 1.11.41.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.40...feature/s3/manager/v1.11.41)

---
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>
2022-11-18 07:28:34 +00:00
RW
959e491679 Merge pull request #633 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.2
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.1 to 1.18.2 in /s3
2022-11-18 08:27:54 +01:00
dependabot[bot]
84a36d2015 Bump github.com/aws/aws-sdk-go-v2/config from 1.18.1 to 1.18.2 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.1 to 1.18.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.1...config/v1.18.2)

---
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>
2022-11-18 07:14:47 +00:00
RW
d004699f2d Merge pull request #631 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.2
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.1 to 1.18.2 in /dynamodb
2022-11-18 08:11:09 +01:00
dependabot[bot]
5622ef89d5 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.1 to 1.18.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.1...config/v1.18.2)

---
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>
2022-11-18 07:03:05 +00:00
RW
9a88efd8df Merge pull request #626 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.1
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.0 to 1.18.1 in /dynamodb
2022-11-17 10:16:18 +01:00
dependabot[bot]
7793d2a375 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.0 to 1.18.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.0...config/v1.18.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>
2022-11-17 09:09:00 +00:00
RW
d6f24b53b6 Merge pull request #623 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.4
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.3 to 1.10.4 in /dynamodb
2022-11-17 10:06:47 +01:00
dependabot[bot]
fb038e2f23 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.3 to 1.10.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.10.3...service/voiceid/v1.10.4)

---
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>
2022-11-17 08:46:08 +00:00
RW
ff49c86eea Merge pull request #627 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.40
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.39 to 1.11.40 in /s3
2022-11-17 09:45:44 +01:00
RW
20885d936c Merge pull request #625 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.1
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.0 to 1.13.1 in /dynamodb
2022-11-17 09:45:20 +01:00
dependabot[bot]
0380c686df 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.0 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/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.13.0...config/v1.13.1)

---
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>
2022-11-17 08:26:44 +00:00
dependabot[bot]
f0840fb5c8 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.39 to 1.11.40.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.39...feature/s3/manager/v1.11.40)

---
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>
2022-11-17 08:26:39 +00:00
RW
2bb1e01c17 Merge pull request #628 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.18.1
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.0 to 1.18.1 in /s3
2022-11-17 09:25:53 +01:00
dependabot[bot]
396549add5 Bump github.com/aws/aws-sdk-go-v2/config from 1.18.0 to 1.18.1 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.0...config/v1.18.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>
2022-11-17 08:01:17 +00:00
RW
164dbec004 Merge pull request #630 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.13.1
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.0 to 1.13.1 in /s3
2022-11-17 09:00:04 +01:00
dependabot[bot]
63f3884abb 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.0 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/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.13.0...config/v1.13.1)

---
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>
2022-11-17 07:50:14 +00:00
RW
55fb9917ff Update dependabot_automerge.yml 2022-11-17 08:49:30 +01:00
René Werner
2bba6b2afd optimize dependabot_automerge.yml 2022-11-14 11:38:47 +01:00
RW
df568c139f Merge pull request #590 from 1k-off/main
Support for azure blob storage
2022-11-14 11:29:55 +01:00
RW
a4c75f4d23 Merge pull request #619 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.18.0
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.11 to 1.18.0 in /dynamodb
2022-11-14 10:31:53 +01:00
dependabot[bot]
ab96148ba7 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.17.11 to 1.18.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.11...config/v1.18.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>
2022-11-14 09:22:54 +00:00
RW
3a2dcee0b3 Merge pull request #620 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.39
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.38 to 1.11.39 in /s3
2022-11-14 10:21:53 +01:00
RW
42a0064a70 Merge pull request #618 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.13.0
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.24 to 1.13.0 in /dynamodb
2022-11-14 10:13:45 +01:00
dependabot[bot]
668c9cc6ad 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.38 to 1.11.39.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.38...feature/s3/manager/v1.11.39)

---
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>
2022-11-14 08:55:28 +00:00
dependabot[bot]
aa1d482357 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.12.24 to 1.13.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.24...v1.13.0)

---
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>
2022-11-14 08:55:17 +00:00
RW
f450f56bf3 Merge pull request #622 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.13.0
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.24 to 1.13.0 in /s3
2022-11-14 09:54:35 +01:00
RW
9222956861 Update README.md 2022-11-14 09:51:33 +01:00
dependabot[bot]
d8ee898ba0 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.12.24 to 1.13.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.24...v1.13.0)

---
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>
2022-11-14 08:44:53 +00:00
René Werner
9d6194668c refresh redis test certificate 2022-11-14 09:25:55 +01:00
RW
2a795ed473 Merge pull request #617 from leonklingele/fix-and-optimize-memory-storage
Fix and optimize memory storage
2022-11-14 09:22:29 +01:00
Leon Klingele
117838fd0e memory: move costly operations outside of locked area 2022-11-14 03:20:20 +01:00
Leon Klingele
318b2fc04c memory: ensure to never delete non-expired items
This fixes a TOCTOU problem between a mutex rlock and a mutex lock.
2022-11-14 03:19:31 +01:00
Leon Klingele
0aa08303bc memory: cache timestamp 2022-11-14 03:18:42 +01:00
RW
a1556f322a Merge pull request #609 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.3
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.2 to 1.10.3 in /dynamodb
2022-11-11 09:08:37 +01:00
dependabot[bot]
6c27f7f186 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.2 to 1.10.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.10.2...config/v1.10.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>
2022-11-11 07:59:07 +00:00
RW
ee54c946b0 Merge pull request #613 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.38
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.37 to 1.11.38 in /s3
2022-11-11 08:58:02 +01:00
RW
0b9349c8bd Merge pull request #610 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.17.4
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.17.3 to 1.17.4 in /dynamodb
2022-11-11 08:22:27 +01:00
RW
24611ce162 Merge pull request #611 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.11
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.10 to 1.17.11 in /dynamodb
2022-11-11 08:21:58 +01:00
dependabot[bot]
1469483e15 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.37 to 1.11.38.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.37...feature/s3/manager/v1.11.38)

---
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>
2022-11-11 07:21:07 +00:00
dependabot[bot]
5eba92a47b 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.17.10 to 1.17.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.10...config/v1.17.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>
2022-11-11 07:08:28 +00:00
dependabot[bot]
999159cfb7 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.17.3 to 1.17.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.3...config/v1.17.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>
2022-11-11 07:08:03 +00:00
kosar
da27e01fe6 Merge branch 'main' into main 2022-11-05 21:55:28 +02:00
RW
b9f4a4fada Update README.md 2022-11-04 08:36:29 +01:00
RW
533803d845 Update README.md 2022-11-04 08:34:17 +01:00
kosar
c790bf75df Fixed gosec error after resolving conflicts 2022-11-04 01:46:22 +02:00
kosar
c15a219ee8 Merge branch 'main' into main 2022-11-04 01:25:09 +02:00
M. Efe Çetin
155e4d36f7 add vulncheck workflow 2022-11-03 19:14:09 +03:00
RW
b4dea997f0 Merge pull request #587 from gandaldf/mssql-support
Add support to MSSQL
2022-11-03 16:48:41 +01:00
gandaldf
bc92dbd3c3 Update to microsoft/go-mssqldb driver 2022-11-03 16:10:11 +01:00
RW
dcc812364e Merge pull request #607 from gofiber/dependabot/github_actions/dependabot/fetch-metadata-1.3.5
Bump dependabot/fetch-metadata from 1.3.4 to 1.3.5
2022-11-03 08:25:15 +01:00
dependabot[bot]
ae0c3cfe6f Bump dependabot/fetch-metadata from 1.3.4 to 1.3.5
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.4...v1.3.5)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-03 07:19:10 +00:00
RW
d5342ec28a Merge pull request #606 from gofiber/dependabot/go_modules/mongodb/go.mongodb.org/mongo-driver-1.11.0
Bump go.mongodb.org/mongo-driver from 1.10.4 to 1.11.0 in /mongodb
2022-11-03 08:09:14 +01:00
dependabot[bot]
f7239431b3 Bump go.mongodb.org/mongo-driver from 1.10.4 to 1.11.0 in /mongodb
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.10.4 to 1.11.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.10.4...v1.11.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>
2022-11-03 07:02:39 +00:00
gandaldf
800e2db645 Some cleanups 2022-11-02 14:45:01 +01:00
Diego Parisi
420291805e Merge branch 'gofiber:main' into mssql-support 2022-11-02 13:53:18 +01:00
RW
cdaf9129ee Merge pull request #605 from gofiber/dependabot/go_modules/mongodb/go.mongodb.org/mongo-driver-1.10.4
Bump go.mongodb.org/mongo-driver from 1.10.3 to 1.10.4 in /mongodb
2022-11-02 08:17:16 +01:00
dependabot[bot]
125ee5f155 Bump go.mongodb.org/mongo-driver from 1.10.3 to 1.10.4 in /mongodb
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.10.3 to 1.10.4.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.10.3...v1.10.4)

---
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>
2022-11-02 07:12:00 +00:00
Diego Parisi
c752b57508 Merge branch 'gofiber:main' into mssql-support 2022-11-02 00:28:30 +01:00
RW
a63192c702 Merge pull request #602 from gofiber/dependabot/go_modules/sqlite3/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /sqlite3
2022-11-01 10:51:16 +01:00
RW
c790785827 Merge pull request #596 from gofiber/dependabot/go_modules/postgres/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /postgres
2022-11-01 10:51:07 +01:00
dependabot[bot]
25bf058c15 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /postgres
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 08:29:53 +00:00
dependabot[bot]
debea836ad Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /sqlite3
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 08:29:41 +00:00
RW
4ba1e265d9 Merge pull request #600 from gofiber/dependabot/go_modules/mongodb/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /mongodb
2022-11-01 09:29:22 +01:00
RW
82a7c7c87e Merge pull request #594 from gofiber/dependabot/go_modules/mysql/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /mysql
2022-11-01 09:29:11 +01:00
RW
4791605f49 Merge pull request #599 from gofiber/dependabot/go_modules/redis/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /redis
2022-11-01 09:29:02 +01:00
dependabot[bot]
fb2da5d153 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /redis
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 07:16:03 +00:00
dependabot[bot]
9f74d3e4a8 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /mysql
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 07:15:55 +00:00
dependabot[bot]
e2196eb28a Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /mongodb
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 07:15:48 +00:00
RW
f23189e030 Merge pull request #595 from gofiber/dependabot/go_modules/memory/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /memory
2022-11-01 08:15:34 +01:00
RW
a37e0cc3b0 Merge pull request #597 from gofiber/dependabot/go_modules/dynamodb/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /dynamodb
2022-11-01 08:15:25 +01:00
RW
8cd43b2951 Merge pull request #598 from gofiber/dependabot/go_modules/arangodb/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /arangodb
2022-11-01 08:15:16 +01:00
RW
fd6f711788 Merge pull request #601 from gofiber/dependabot/go_modules/badger/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /badger
2022-11-01 08:15:05 +01:00
RW
b48047ea41 Merge pull request #603 from gofiber/dependabot/go_modules/ristretto/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /ristretto
2022-11-01 08:14:53 +01:00
RW
939d9b0eeb Merge pull request #593 from gofiber/dependabot/go_modules/memcache/github.com/gofiber/utils-1.0.1
Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /memcache
2022-11-01 08:14:38 +01:00
dependabot[bot]
4da7a8a588 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /ristretto
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:30:37 +00:00
dependabot[bot]
6d96c2fe32 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /badger
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:08:24 +00:00
dependabot[bot]
a04596a8b5 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /dynamodb
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:08:22 +00:00
dependabot[bot]
23d0362d9b Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /arangodb
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:08:22 +00:00
dependabot[bot]
35acbea01c Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /memory
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:08:21 +00:00
dependabot[bot]
f201d3a103 Bump github.com/gofiber/utils from 0.1.2 to 1.0.1 in /memcache
Bumps [github.com/gofiber/utils](https://github.com/gofiber/utils) from 0.1.2 to 1.0.1.
- [Release notes](https://github.com/gofiber/utils/releases)
- [Commits](https://github.com/gofiber/utils/compare/v0.1.2...v1.0.1)

---
updated-dependencies:
- dependency-name: github.com/gofiber/utils
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:08:20 +00:00
kosar
43ac34f7f3 Added test for the Conn method, changed azurite credentials to default
Signed-off-by: kosar <bogdan.kosarevskyi@gmail.com>
2022-10-30 03:47:26 +03:00
Diego Parisi
9006b23eef Merge branch 'gofiber:main' into mssql-support 2022-10-29 10:21:16 +02:00
Diego Parisi
d8daf4eb86 Update dependabot.yml 2022-10-28 23:20:36 +02:00
kosar
42106d8ab4 Fixed readme
Signed-off-by: kosar <bogdan.kosarevskyi@gmail.com>
2022-10-28 17:20:28 +03:00
kosar
934395fb24 Added Conn method and dependabot deps
Signed-off-by: kosar <bogdan.kosarevskyi@gmail.com>
2022-10-28 17:18:30 +03:00
kosar
caca820b8c Added azure blob storage
Signed-off-by: kosar <bogdan.kosarevskyi@gmail.com>
2022-10-27 23:03:10 +03:00
Diego Parisi
98413e412a Add MSSQL badge 2022-10-27 19:48:21 +02:00
Diego Parisi
c8041d6397 Fix database name for Ubuntu 2022-10-27 14:05:48 +02:00
RW
dca8f183e4 Merge pull request #589 from gofiber/dependabot/go_modules/sqlite3/github.com/mattn/go-sqlite3-1.14.16
Bump github.com/mattn/go-sqlite3 from 1.14.15 to 1.14.16 in /sqlite3
2022-10-27 09:14:15 +02:00
dependabot[bot]
659ab6b298 Bump github.com/mattn/go-sqlite3 from 1.14.15 to 1.14.16 in /sqlite3
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.15 to 1.14.16.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.15...v1.14.16)

---
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>
2022-10-27 07:08:31 +00:00
Diego Parisi
08e41d81a0 Fix healtcheck MSSQL 2022-10-26 15:38:07 +02:00
gandaldf
4b651548b3 Merge remote-tracking branch 'origin/mssql-support' into mssql-support 2022-10-26 14:53:25 +02:00
gandaldf
d43a56df50 Fix MSSQL workflow 2022-10-26 14:53:09 +02:00
Diego Parisi
c3e230d024 Merge branch 'gofiber:main' into mssql-support 2022-10-26 13:28:36 +02:00
RW
987a93083e Merge pull request #588 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.2
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.1 to 1.10.2 in /dynamodb
2022-10-26 09:14:55 +02:00
dependabot[bot]
368027dc04 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.1 to 1.10.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.10.1...config/v1.10.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>
2022-10-26 07:08:58 +00:00
gandaldf
4711dd9713 Update security workflow 2022-10-25 18:46:38 +02:00
gandaldf
b886afa98f Fix MSSQL workflow 2022-10-25 18:38:37 +02:00
gandaldf
b10af3a02c Add MSSQL workflow 2022-10-25 18:31:32 +02:00
gandaldf
1f2c29fd9a Add support to MSSQL 2022-10-25 17:08:35 +02:00
RW
66d62ec7cb Merge pull request #585 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.37
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.35 to 1.11.37 in /s3
2022-10-25 12:31:36 +02:00
RW
e3e1f7a5ed Merge pull request #578 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.17.3
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.17.2 to 1.17.3 in /dynamodb
2022-10-25 12:24:47 +02:00
dependabot[bot]
98c27d105b 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.35 to 1.11.37.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.35...feature/s3/manager/v1.11.37)

---
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>
2022-10-25 09:31:04 +00:00
dependabot[bot]
84e6895b43 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.17.2 to 1.17.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.2...config/v1.17.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>
2022-10-25 09:31:04 +00:00
RW
5e419ced93 Merge pull request #583 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.12.23
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.22 to 1.12.23 in /s3
2022-10-25 11:30:26 +02:00
RW
fa82c71195 Merge pull request #579 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.10
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.8 to 1.17.10 in /dynamodb
2022-10-25 11:30:01 +02:00
dependabot[bot]
47b223f56a 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.12.22 to 1.12.23.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.22...credentials/v1.12.23)

---
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>
2022-10-25 07:53:09 +00:00
dependabot[bot]
fe408d135e 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.17.8 to 1.17.10.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.8...config/v1.17.10)

---
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>
2022-10-25 07:52:07 +00:00
RW
501fd5d574 Merge pull request #581 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.12.23
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.22 to 1.12.23 in /dynamodb
2022-10-25 09:51:03 +02:00
dependabot[bot]
954b019951 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.12.22 to 1.12.23.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.22...credentials/v1.12.23)

---
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>
2022-10-25 07:26:19 +00:00
RW
4b0b7156c8 Merge pull request #580 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.17.1
Bump github.com/aws/aws-sdk-go-v2 from 1.17.0 to 1.17.1 in /dynamodb
2022-10-25 09:25:18 +02:00
dependabot[bot]
0ca08d620b Bump github.com/aws/aws-sdk-go-v2 from 1.17.0 to 1.17.1 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.17.0 to 1.17.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.17.0...v1.17.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>
2022-10-25 07:11:48 +00:00
RW
4b33392dfb Merge pull request #570 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.12.22
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.21 to 1.12.22 in /dynamodb
2022-10-24 12:53:35 +02:00
dependabot[bot]
d6a1b45f1f 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.12.21 to 1.12.22.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.21...credentials/v1.12.22)

---
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>
2022-10-24 09:57:35 +00:00
RW
6f502bb885 Merge pull request #576 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.17.9
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.8 to 1.17.9 in /s3
2022-10-24 11:57:02 +02:00
RW
c920e92115 Merge pull request #572 from gofiber/dependabot/github_actions/lewagon/wait-on-check-action-1.2.0
Bump lewagon/wait-on-check-action from 1.1.2 to 1.2.0
2022-10-24 11:56:43 +02:00
dependabot[bot]
2998ca898b Bump github.com/aws/aws-sdk-go-v2/config from 1.17.8 to 1.17.9 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.17.8 to 1.17.9.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.8...config/v1.17.9)

---
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>
2022-10-24 08:08:39 +00:00
RW
01c4e9fa39 Merge pull request #569 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.1
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.10.0 to 1.10.1 in /dynamodb
2022-10-24 10:07:24 +02:00
dependabot[bot]
9a830af2d8 Bump lewagon/wait-on-check-action from 1.1.2 to 1.2.0
Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.1.2 to 1.2.0.
- [Release notes](https://github.com/lewagon/wait-on-check-action/releases)
- [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.1.2...v1.2.0)

---
updated-dependencies:
- dependency-name: lewagon/wait-on-check-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 08:04:59 +00:00
dependabot[bot]
4cdb9c09a1 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.0 to 1.10.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.10.0...config/v1.10.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>
2022-10-24 07:36:03 +00:00
RW
922fbd8dd1 Merge pull request #571 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.17.2
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.17.1 to 1.17.2 in /dynamodb
2022-10-24 09:35:04 +02:00
RW
d58b2097ce Merge pull request #568 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.17.0
Bump github.com/aws/aws-sdk-go-v2 from 1.16.16 to 1.17.0 in /dynamodb
2022-10-24 09:24:46 +02:00
dependabot[bot]
d8f916f077 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.17.1 to 1.17.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.1...config/v1.17.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>
2022-10-24 07:12:43 +00:00
dependabot[bot]
d379039ef4 Bump github.com/aws/aws-sdk-go-v2 from 1.16.16 to 1.17.0 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.16 to 1.17.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.16...v1.17.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>
2022-10-24 07:11:34 +00:00
RW
a53bde5913 Merge pull request #567 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.35
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.34 to 1.11.35 in /s3
2022-10-20 10:53:11 +02:00
dependabot[bot]
21b2e44742 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.34 to 1.11.35.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.34...feature/s3/manager/v1.11.35)

---
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>
2022-10-20 08:09:56 +00:00
RW
6ef891d8a0 Merge pull request #566 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.28.0
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.27.11 to 1.28.0 in /s3
2022-10-20 10:08:53 +02:00
dependabot[bot]
23be295830 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.27.11 to 1.28.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.27.11...service/s3/v1.28.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>
2022-10-20 08:02:17 +00:00
René Werner
6ded9c0f75 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	memory/memory_test.go
2022-10-19 16:06:42 +02:00
René Werner
dd752c6046 change test names for the memory tests 2022-10-19 16:05:56 +02:00
RW
20ba96f664 Merge pull request #547 from DGivney/main
[Feat] Allow reuse of an existing db connection when creating a MySQL storage driver
2022-10-19 12:12:28 +02:00
RW
e8a33f952c Merge pull request #554 from gofiber/improve_performance_for_memory_storage
Increase performance for the memory storage
2022-10-19 11:50:36 +02:00
René Werner
c850eaff51 increase performance for the memory storage 2022-10-19 11:42:09 +02:00
Juan Calderon-Perez
2bd20cfa5a Merge pull request #549 from YashKumarVerma/patch-2
docs: add missing )
2022-10-14 01:00:51 -04:00
Yash Kumar Verma
2ee234e829 docs: add missing ) 2022-10-14 07:42:29 +05:30
DGivney
1137fb9036 Improve MYSQL New method test cases 2022-10-10 20:33:09 +11:00
DGivney
a9dc413939 Close the connections after testing MYSQL Store 2022-10-10 18:15:49 +11:00
DGivney
825eb938c2 Add test case for MYSQL New method 2022-10-10 17:57:16 +11:00
DGivney
e5eb169055 Allow reuse of an existing db connection when creating a MySQL Store 2022-10-10 16:50:34 +11:00
RW
4e6f1c95ff Merge pull request #544 from gaby/redis-pool
Support for configuring Redis connection pool size
2022-10-05 13:43:27 +02:00
RW
c010712741 Merge pull request #545 from gofiber/dependabot/go_modules/arangodb/github.com/arangodb/go-driver-1.4.0
Bump github.com/arangodb/go-driver from 1.3.3 to 1.4.0 in /arangodb
2022-10-05 13:37:09 +02:00
RW
161724ceae Merge pull request #546 from gofiber/dependabot/go_modules/mongodb/go.mongodb.org/mongo-driver-1.10.3
Bump go.mongodb.org/mongo-driver from 1.10.2 to 1.10.3 in /mongodb
2022-10-05 09:34:51 +02:00
dependabot[bot]
6627d9d1ee Bump go.mongodb.org/mongo-driver from 1.10.2 to 1.10.3 in /mongodb
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.10.2 to 1.10.3.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.10.2...v1.10.3)

---
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>
2022-10-05 07:26:20 +00:00
dependabot[bot]
d533947dca Bump github.com/arangodb/go-driver from 1.3.3 to 1.4.0 in /arangodb
Bumps [github.com/arangodb/go-driver](https://github.com/arangodb/go-driver) from 1.3.3 to 1.4.0.
- [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.3.3...v1.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 07:26:13 +00:00
Juan Calderon-Perez
595b1917f3 Add support for Redis connection pool size 2022-10-05 00:14:23 -04:00
RW
f112c6ddff Merge pull request #543 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.34
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.33 to 1.11.34 in /s3
2022-10-03 10:12:14 +02:00
dependabot[bot]
070dec8c74 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.33 to 1.11.34.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.33...feature/s3/manager/v1.11.34)

---
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>
2022-10-03 08:06:45 +00:00
RW
8125d5ae39 Merge pull request #542 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.12.21
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.20 to 1.12.21 in /s3
2022-10-03 10:06:07 +02:00
RW
45e450a3d8 Merge pull request #540 from gofiber/dependabot/github_actions/dependabot/fetch-metadata-1.3.4
Bump dependabot/fetch-metadata from 1.3.3 to 1.3.4
2022-10-03 10:05:43 +02:00
dependabot[bot]
737624d914 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.12.20 to 1.12.21.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.20...credentials/v1.12.21)

---
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>
2022-10-03 07:53:11 +00:00
dependabot[bot]
1401f6b804 Bump dependabot/fetch-metadata from 1.3.3 to 1.3.4
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.3...v1.3.4)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 07:52:33 +00:00
RW
8c679bf3a2 Merge pull request #537 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.10.0
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.19 to 1.10.0 in /dynamodb
2022-10-03 09:26:56 +02:00
dependabot[bot]
fc7eb4fd27 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.9.19 to 1.10.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.9.19...v1.10.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>
2022-10-03 07:17:59 +00:00
RW
7486445385 Merge pull request #538 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.8
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.7 to 1.17.8 in /dynamodb
2022-10-03 09:17:11 +02:00
dependabot[bot]
dfdfd7fbf3 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.17.7 to 1.17.8.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.7...config/v1.17.8)

---
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>
2022-10-03 07:10:18 +00:00
RW
87862b1ac6 Merge pull request #533 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.33
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.32 to 1.11.33 in /s3
2022-09-21 10:45:01 +02:00
dependabot[bot]
bbfc356c01 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.32 to 1.11.33.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.32...feature/s3/manager/v1.11.33)

---
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>
2022-09-21 08:32:43 +00:00
RW
d8d446b1a5 Merge pull request #534 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.17.7
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.6 to 1.17.7 in /s3
2022-09-21 10:32:02 +02:00
dependabot[bot]
6ba900f18c Bump github.com/aws/aws-sdk-go-v2/config from 1.17.6 to 1.17.7 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.17.6 to 1.17.7.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.6...config/v1.17.7)

---
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>
2022-09-21 08:28:48 +00:00
RW
dc7bef5d10 Merge pull request #535 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.27.11
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.27.10 to 1.27.11 in /s3
2022-09-21 10:27:56 +02:00
dependabot[bot]
dff3b2aa26 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.27.10 to 1.27.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.27.10...service/s3/v1.27.11)

---
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>
2022-09-21 08:11:41 +00:00
RW
560664ab5a Merge pull request #536 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.16.16
Bump github.com/aws/aws-sdk-go-v2 from 1.16.15 to 1.16.16 in /s3
2022-09-21 10:10:55 +02:00
RW
68c1b99eac Merge pull request #532 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.12.20
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.19 to 1.12.20 in /s3
2022-09-21 10:10:31 +02:00
dependabot[bot]
998df25440 Bump github.com/aws/aws-sdk-go-v2 from 1.16.15 to 1.16.16 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.15 to 1.16.16.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.15...v1.16.16)

---
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>
2022-09-21 07:48:17 +00:00
dependabot[bot]
b59617e2a6 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.12.19 to 1.12.20.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.19...credentials/v1.12.20)

---
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>
2022-09-21 07:47:05 +00:00
RW
c6162ed666 Merge pull request #529 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.7
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.6 to 1.17.7 in /dynamodb
2022-09-21 09:46:00 +02:00
dependabot[bot]
31f94813cf 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.17.6 to 1.17.7.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.6...config/v1.17.7)

---
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>
2022-09-21 07:37:50 +00:00
RW
1f256f5391 Merge pull request #530 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.12.20
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.19 to 1.12.20 in /dynamodb
2022-09-21 09:37:07 +02:00
dependabot[bot]
a299404c1b 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.12.19 to 1.12.20.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.19...credentials/v1.12.20)

---
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>
2022-09-21 07:27:46 +00:00
RW
72b47afe1e Merge pull request #527 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.19
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.18 to 1.9.19 in /dynamodb
2022-09-21 09:27:02 +02:00
dependabot[bot]
ce744287b7 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.9.18 to 1.9.19.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.18...feature/dynamodb/attributevalue/v1.9.19)

---
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>
2022-09-21 07:08:33 +00:00
RW
9f14918a5a Merge pull request #525 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.18
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.17 to 1.9.18 in /dynamodb
2022-09-16 09:20:33 +02:00
dependabot[bot]
11aacc8bd1 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.9.17 to 1.9.18.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.17...feature/dynamodb/attributevalue/v1.9.18)

---
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>
2022-09-16 07:14:02 +00:00
RW
01da118ae2 Merge pull request #521 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.32
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.31 to 1.11.32 in /s3
2022-09-15 10:21:15 +02:00
RW
94d968b7f7 Merge pull request #519 from gofiber/dependabot/github_actions/lewagon/wait-on-check-action-1.1.2
Bump lewagon/wait-on-check-action from 1.0.0 to 1.1.2
2022-09-15 10:21:05 +02:00
dependabot[bot]
57c24a378b 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.31 to 1.11.32.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.31...feature/s3/manager/v1.11.32)

---
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>
2022-09-15 07:53:14 +00:00
dependabot[bot]
fdea0f9267 Bump lewagon/wait-on-check-action from 1.0.0 to 1.1.2
Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.0.0 to 1.1.2.
- [Release notes](https://github.com/lewagon/wait-on-check-action/releases)
- [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.0.0...v1.1.2)

---
updated-dependencies:
- dependency-name: lewagon/wait-on-check-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-15 07:52:37 +00:00
RW
58364534e9 Merge pull request #518 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.6
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.5 to 1.17.6 in /dynamodb
2022-09-15 09:50:57 +02:00
dependabot[bot]
bc10416921 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.17.5 to 1.17.6.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.5...config/v1.17.6)

---
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>
2022-09-15 07:43:23 +00:00
RW
c30115270c Merge pull request #516 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.17
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.16 to 1.9.17 in /dynamodb
2022-09-15 09:42:37 +02:00
dependabot[bot]
2c315e1ce7 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.9.16 to 1.9.17.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.16...service/memorydb/v1.9.17)

---
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>
2022-09-15 07:29:27 +00:00
RW
ff64bffed1 Merge pull request #514 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.12.19
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.18 to 1.12.19 in /dynamodb
2022-09-15 09:28:48 +02:00
dependabot[bot]
34200e124b 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.12.18 to 1.12.19.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.18...credentials/v1.12.19)

---
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>
2022-09-15 07:10:36 +00:00
RW
20a6c8a79b Update dependabot_automerge.yml 2022-09-14 15:46:35 +02:00
RW
d2569fbe93 Update dependabot_automerge.yml 2022-09-12 08:00:11 +02:00
René Werner
bf76d31f6c update dependabot_automerge.yml 2022-09-11 13:19:28 +02:00
René Werner
551c37101c try to fix memory problem within the sqlite race condition check in the tests on windows 2022-09-07 15:31:57 +02:00
RW
23f59994f8 Update release-drafter.yml 2022-09-07 14:35:50 +02:00
RW
109c6b6f4f Update release-drafter.yml 2022-09-07 13:01:32 +02:00
RW
fc6b3c841b Merge pull request #512 from gofiber/dependabot/go_modules/mongodb/go.mongodb.org/mongo-driver-1.10.2
Bump go.mongodb.org/mongo-driver from 1.10.1 to 1.10.2 in /mongodb
2022-09-07 09:13:03 +02:00
RW
0b3e720b84 Merge pull request #511 from gofiber/dependabot/go_modules/postgres/github.com/lib/pq-1.10.7
Bump github.com/lib/pq from 1.10.6 to 1.10.7 in /postgres
2022-09-07 09:11:10 +02:00
dependabot[bot]
7bcf46ac24 Bump go.mongodb.org/mongo-driver from 1.10.1 to 1.10.2 in /mongodb
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.10.1...v1.10.2)

---
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>
2022-09-07 07:07:58 +00:00
dependabot[bot]
0b31353707 Bump github.com/lib/pq from 1.10.6 to 1.10.7 in /postgres
Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.6 to 1.10.7.
- [Release notes](https://github.com/lib/pq/releases)
- [Commits](https://github.com/lib/pq/compare/v1.10.6...v1.10.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 07:07:50 +00:00
RW
872f038e0b Merge pull request #509 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.31
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.30 to 1.11.31 in /s3
2022-09-05 19:18:51 +02:00
dependabot[bot]
b08cc03b22 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.30 to 1.11.31.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.30...feature/s3/manager/v1.11.31)

---
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>
2022-09-05 17:10:30 +00:00
RW
328c5ce28f Merge pull request #508 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.17.5
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.4 to 1.17.5 in /s3
2022-09-05 19:06:05 +02:00
dependabot[bot]
3e54ad6cac Bump github.com/aws/aws-sdk-go-v2/config from 1.17.4 to 1.17.5 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.17.4 to 1.17.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.4...config/v1.17.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>
2022-09-05 17:02:27 +00:00
RW
7990d6d708 Merge pull request #507 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/credentials-1.12.18
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.17 to 1.12.18 in /s3
2022-09-05 18:39:48 +02:00
dependabot[bot]
95f32bf522 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.12.17 to 1.12.18.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.17...credentials/v1.12.18)

---
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>
2022-09-05 16:34:09 +00:00
RW
95f98b0c41 Merge pull request #504 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.5
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.4 to 1.17.5 in /dynamodb
2022-09-05 18:33:35 +02:00
dependabot[bot]
b0af7b2d2e 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.17.4 to 1.17.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.4...config/v1.17.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>
2022-09-05 16:32:11 +00:00
RW
51f7507c86 Merge pull request #506 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.16.14
Bump github.com/aws/aws-sdk-go-v2 from 1.16.13 to 1.16.14 in /s3
2022-09-05 16:49:15 +02:00
dependabot[bot]
0965ae08a9 Bump github.com/aws/aws-sdk-go-v2 from 1.16.13 to 1.16.14 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.13 to 1.16.14.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.13...v1.16.14)

---
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>
2022-09-05 14:38:17 +00:00
RW
2e6aade129 Merge pull request #503 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2-1.16.14
Bump github.com/aws/aws-sdk-go-v2 from 1.16.13 to 1.16.14 in /dynamodb
2022-09-05 16:35:21 +02:00
RW
7d29b5bbf0 Merge pull request #501 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.16
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.15 to 1.9.16 in /dynamodb
2022-09-05 16:27:02 +02:00
dependabot[bot]
6666191087 Bump github.com/aws/aws-sdk-go-v2 from 1.16.13 to 1.16.14 in /dynamodb
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.13 to 1.16.14.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.13...v1.16.14)

---
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>
2022-09-05 14:26:40 +00:00
dependabot[bot]
43b37e9b7e 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.9.15 to 1.9.16.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.15...service/memorydb/v1.9.16)

---
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>
2022-09-05 14:25:54 +00:00
RW
6c53e5e46e Merge pull request #500 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.30
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.29 to 1.11.30 in /s3
2022-09-01 10:10:10 +02:00
dependabot[bot]
d178fca7df 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.29 to 1.11.30.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.29...feature/s3/manager/v1.11.30)

---
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>
2022-09-01 07:55:29 +00:00
RW
230c3a6c5b Merge pull request #497 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/config-1.17.4
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.3 to 1.17.4 in /s3
2022-09-01 09:54:46 +02:00
dependabot[bot]
9b85e40cc6 Bump github.com/aws/aws-sdk-go-v2/config from 1.17.3 to 1.17.4 in /s3
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.17.3 to 1.17.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.3...config/v1.17.4)

---
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>
2022-09-01 07:49:28 +00:00
RW
e38e2dcbba Merge pull request #496 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.16.13
Bump github.com/aws/aws-sdk-go-v2 from 1.16.12 to 1.16.13 in /s3
2022-09-01 09:48:46 +02:00
dependabot[bot]
a5d0a37b49 Bump github.com/aws/aws-sdk-go-v2 from 1.16.12 to 1.16.13 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.12 to 1.16.13.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.12...v1.16.13)

---
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>
2022-09-01 07:48:18 +00:00
RW
808d103448 Merge pull request #492 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.15
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.14 to 1.9.15 in /dynamodb
2022-09-01 09:18:15 +02:00
dependabot[bot]
30e0b8afa8 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.9.14 to 1.9.15.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.14...service/memorydb/v1.9.15)

---
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>
2022-09-01 07:15:39 +00:00
RW
da887624a4 Merge pull request #491 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.4
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.3 to 1.17.4 in /dynamodb
2022-09-01 09:14:48 +02:00
dependabot[bot]
5eb8d57c09 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.17.3 to 1.17.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.3...config/v1.17.4)

---
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>
2022-09-01 07:11:53 +00:00
RW
89493b1be0 Merge pull request #488 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.29
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.27 to 1.11.29 in /s3
2022-08-31 09:59:39 +02:00
dependabot[bot]
7ad1f0f105 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.27 to 1.11.29.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.27...feature/s3/manager/v1.11.29)

---
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>
2022-08-31 07:43:29 +00:00
RW
ffa78322a4 Merge pull request #487 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/service/s3-1.27.7
Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.27.5 to 1.27.7 in /s3
2022-08-31 09:42:50 +02:00
dependabot[bot]
ad9cf6da5d 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.27.5 to 1.27.7.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.27.5...service/s3/v1.27.7)

---
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>
2022-08-31 07:39:15 +00:00
RW
a5a18bb80b Merge pull request #486 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2-1.16.12
Bump github.com/aws/aws-sdk-go-v2 from 1.16.11 to 1.16.12 in /s3
2022-08-31 09:38:29 +02:00
dependabot[bot]
81764f4072 Bump github.com/aws/aws-sdk-go-v2 from 1.16.11 to 1.16.12 in /s3
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.11 to 1.16.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.11...v1.16.12)

---
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>
2022-08-31 07:38:00 +00:00
RW
327c871825 Merge pull request #483 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.14
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.13 to 1.9.14 in /dynamodb
2022-08-31 09:12:09 +02:00
dependabot[bot]
4126450357 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.9.13 to 1.9.14.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.13...service/memorydb/v1.9.14)

---
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>
2022-08-31 07:09:33 +00:00
RW
8e81d7cded Merge pull request #482 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.3
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.2 to 1.17.3 in /dynamodb
2022-08-31 09:08:49 +02:00
dependabot[bot]
94977c4028 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.17.2 to 1.17.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.2...config/v1.17.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>
2022-08-31 07:07:49 +00:00
RW
278f9d748a Merge pull request #480 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/config-1.17.2
Bump github.com/aws/aws-sdk-go-v2/config from 1.17.1 to 1.17.2 in /dynamodb
2022-08-30 09:40:19 +02:00
dependabot[bot]
d5f9d825aa 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.17.1 to 1.17.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.1...config/v1.17.2)

---
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>
2022-08-30 07:33:47 +00:00
RW
3a4eb3934d Merge pull request #481 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.13
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.12 to 1.9.13 in /dynamodb
2022-08-30 09:33:09 +02:00
dependabot[bot]
d0b6aa2131 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.9.12 to 1.9.13.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.12...service/memorydb/v1.9.13)

---
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>
2022-08-30 07:23:45 +00:00
RW
310758fc7a Merge pull request #478 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/credentials-1.12.15
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.14 to 1.12.15 in /dynamodb
2022-08-30 09:23:06 +02:00
dependabot[bot]
c1ab36765b 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.12.14 to 1.12.15.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.14...credentials/v1.12.15)

---
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>
2022-08-30 07:15:39 +00:00
RW
f24af60e42 Merge pull request #477 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.16.1
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.16.0 to 1.16.1 in /dynamodb
2022-08-30 09:14:54 +02:00
dependabot[bot]
7d0bbde770 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.16.0 to 1.16.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.0...v1.16.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>
2022-08-30 07:13:28 +00:00
RW
efffcc135b Merge pull request #473 from gofiber/dependabot/go_modules/sqlite3/github.com/mattn/go-sqlite3-1.14.15
Bump github.com/mattn/go-sqlite3 from 1.14.14 to 1.14.15 in /sqlite3
2022-08-23 18:38:57 +02:00
dependabot[bot]
1b233673bb Bump github.com/mattn/go-sqlite3 from 1.14.14 to 1.14.15 in /sqlite3
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.14 to 1.14.15.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.14...v1.14.15)

---
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>
2022-08-23 16:36:47 +00:00
RW
07bde5f757 Merge pull request #471 from gofiber/dependabot/go_modules/s3/github.com/aws/aws-sdk-go-v2/feature/s3/manager-1.11.27
Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager from 1.11.26 to 1.11.27 in /s3
2022-08-23 14:17:53 +02:00
RW
ce174aed64 Merge pull request #474 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue-1.9.12
Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue from 1.9.11 to 1.9.12 in /dynamodb
2022-08-23 14:11:30 +02:00
dependabot[bot]
cff33471cf 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.9.11 to 1.9.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.11...service/memorydb/v1.9.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>
2022-08-23 12:10:38 +00:00
RW
e211b33874 Merge pull request #475 from gofiber/dependabot/go_modules/dynamodb/github.com/aws/aws-sdk-go-v2/service/dynamodb-1.16.0
Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.15.13 to 1.16.0 in /dynamodb
2022-08-23 14:09:55 +02:00
dependabot[bot]
05c149e84f 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.26 to 1.11.27.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.26...feature/s3/manager/v1.11.27)

---
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>
2022-08-23 12:06:56 +00:00
dependabot[bot]
bf50899345 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.15.13 to 1.16.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.13...v1.16.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>
2022-08-23 12:06:37 +00:00
Juan Calderon-Perez
b2f8339751 Support for automerging dependabot PR's (#476)
* Create dependabot_automerge.yml

* Bump dependabot metadata to 1.3.3
2022-08-23 13:48:52 +02:00
dependabot[bot]
e0435cd1a0 Bump github.com/aws/aws-sdk-go-v2/credentials in /s3 (#472)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.12.13 to 1.12.14.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.13...credentials/v1.12.14)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:04:15 +02:00
dependabot[bot]
d03bf4584c Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3 (#467)
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.25 to 1.11.26.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.25...feature/s3/manager/v1.11.26)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 09:27:21 +02:00
dependabot[bot]
e40f7b86df Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#468)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.16.1 to 1.17.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.1...config/v1.17.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 09:27:07 +02:00
Juan Calderon-Perez
3a8b8d4f71 Add Conn() support to all storage drivers. (#451)
* Add DB() support for Redis driver

* Added support for DB() to all drivers

* Fixed typo in README and Lint issue

* Fix lint issue with ristretto db

* Fix lint issue with bbolt db

* Rename DB() to Conn()

* Replace all instances of _DB with _Conn

* Update all the README files

* Return ArangoDB Client instead of DB
2022-08-15 07:58:13 +02:00
Kalissaac
c38c925975 Add Postgres and MySQL connection strings (#429)
* Add ConnectionURI to Postgres

* Add ConnectionURI to MySQL

* Update Postgres sample db name
2022-08-15 07:48:29 +02:00
dependabot[bot]
d27ddd4739 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3 (#460)
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.24 to 1.11.25.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.24...feature/s3/manager/v1.11.25)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 11:43:06 +02:00
dependabot[bot]
0aec65bb77 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#456)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.9.10 to 1.9.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.10...service/memorydb/v1.9.11)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 11:05:15 +02:00
dependabot[bot]
671a3e4a04 Bump github.com/aws/aws-sdk-go-v2/config from 1.16.0 to 1.16.1 in /s3 (#463)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.16.0 to 1.16.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.0...v1.16.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 11:05:08 +02:00
dependabot[bot]
cbc4d3d251 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#457)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.16.0 to 1.16.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.0...v1.16.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 10:27:21 +02:00
dependabot[bot]
fe8cc5f97c Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3 (#464)
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.27.4 to 1.27.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.27.4...service/s3/v1.27.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 10:27:04 +02:00
dependabot[bot]
af3630ee22 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3 (#453)
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.22 to 1.11.24.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.22...feature/s3/manager/v1.11.24)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-11 10:28:00 +02:00
dependabot[bot]
602260698d Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3 (#448)
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.27.3 to 1.27.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.27.3...service/s3/v1.27.4)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-11 09:33:25 +02:00
dependabot[bot]
ad27e8bcbb Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#452)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.16 to 1.16.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.16...v1.16.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-11 09:31:46 +02:00
dependabot[bot]
d4ddc46c29 Bump github.com/aws/aws-sdk-go-v2/config from 1.15.16 to 1.15.17 in /s3 (#450)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.16 to 1.15.17.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.16...config/v1.15.17)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 12:33:43 +02:00
dependabot[bot]
ac29a7e86c Bump github.com/aws/aws-sdk-go-v2 from 1.16.9 to 1.16.10 in /dynamodb (#443)
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.9 to 1.16.10.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.9...v1.16.10)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 09:23:44 +02:00
dependabot[bot]
daa2dc7ee4 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#441)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.9.9 to 1.9.10.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.9...service/memorydb/v1.9.10)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 09:23:32 +02:00
dependabot[bot]
1e822400d5 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#430)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.9.8 to 1.9.9.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/memorydb/v1.9.8...service/memorydb/v1.9.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 12:22:03 +02:00
dependabot[bot]
57f7bb86d5 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb (#432)
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.15.10 to 1.15.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.10...config/v1.15.11)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 12:10:49 +02:00
dependabot[bot]
ba65508bc9 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3 (#438)
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.11.21 to 1.11.22.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.11.21...feature/s3/manager/v1.11.22)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 11:15:19 +02:00
dependabot[bot]
30e23d86d0 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#434)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.15 to 1.15.16.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.15...config/v1.15.16)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 11:14:58 +02:00
dependabot[bot]
7c79c78623 Bump github.com/aws/aws-sdk-go-v2/credentials in /s3 (#435)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.12.10 to 1.12.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.10...credentials/v1.12.11)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 11:14:41 +02:00
dependabot[bot]
caf28d82f7 Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb (#431)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.12.10 to 1.12.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.12.10...credentials/v1.12.11)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 11:14:17 +02:00
dependabot[bot]
28ae1f71fb Bump github.com/aws/aws-sdk-go-v2 from 1.16.8 to 1.16.9 in /s3 (#439)
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.8 to 1.16.9.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.8...v1.16.9)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-09 11:13:42 +02:00
dependabot[bot]
bdea86b669 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /s3 (#428)
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.9.1 to 1.11.21.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.9.1...feature/s3/manager/v1.11.21)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 19:35:59 +02:00
dependabot[bot]
2ec5a2cf70 Bump github.com/aws/aws-sdk-go-v2/config from 1.13.1 to 1.15.15 in /s3 (#427)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.13.1 to 1.15.15.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.13.1...config/v1.15.15)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 17:55:48 +02:00
dependabot[bot]
841d5eaedd Bump github.com/aws/aws-sdk-go-v2/service/s3 in /s3 (#426)
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.24.1 to 1.27.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.24.1...service/s3/v1.27.2)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 16:03:03 +02:00
dependabot[bot]
9ee4838edf Bump github.com/aws/aws-sdk-go-v2/credentials in /s3 (#422)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.8.0 to 1.12.10.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.8.0...credentials/v1.12.10)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 15:48:22 +02:00
dependabot[bot]
12203cbbe8 Bump github.com/mattn/go-sqlite3 from 1.14.13 to 1.14.14 in /sqlite3 (#397)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.13 to 1.14.14.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.13...v1.14.14)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 15:32:09 +02:00
dependabot[bot]
e2ce496727 Bump actions/checkout from 2 to 3 (#421)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [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/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 15:31:46 +02:00
dependabot[bot]
4c11a63573 Bump reviewdog/action-golangci-lint from 1 to 2 (#420)
Bumps [reviewdog/action-golangci-lint](https://github.com/reviewdog/action-golangci-lint) from 1 to 2.
- [Release notes](https://github.com/reviewdog/action-golangci-lint/releases)
- [Commits](https://github.com/reviewdog/action-golangci-lint/compare/v1...v2)

---
updated-dependencies:
- dependency-name: reviewdog/action-golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 15:03:28 +02:00
dependabot[bot]
725abe0123 Bump github/codeql-action from 1 to 2 (#423)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 14:57:12 +02:00
dependabot[bot]
81c40a28df Bump actions/setup-go from 2 to 3 (#424)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...v3)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 14:51:02 +02:00
wernerr
2465b14c41 try to fix memory problem within the sqlite race condition check in the tests on windows 2022-08-03 14:36:59 +02:00
wernerr
d002c1076e try to fix memory problem within the sqlite race condition check in the tests on windows 2022-08-03 14:33:32 +02:00
wernerr
c3e5299489 try to fix memory problem within the sqlite race condition check in the tests on windows 2022-08-03 14:25:17 +02:00
wernerr
2d113619b3 improve dependabot.yml 2022-08-03 14:11:37 +02:00
wernerr
2fdd8600ad improve dependabot.yml 2022-08-03 13:43:57 +02:00
wernerr
dbc7a0636d improve dependabot.yml 2022-08-03 13:21:14 +02:00
wernerr
382fd19d57 improve dependabot.yml 2022-08-03 13:19:21 +02:00
wernerr
364ffb1dda improve test workflow 2022-08-03 13:17:25 +02:00
dependabot[bot]
b787cedd82 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#415)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.7 to 1.15.15.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.7...config/v1.15.15)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 10:14:51 +02:00
dependabot[bot]
2dd7251e59 Bump github.com/arangodb/go-driver from 1.3.2 to 1.3.3 in /arangodb (#413)
Bumps [github.com/arangodb/go-driver](https://github.com/arangodb/go-driver) from 1.3.2 to 1.3.3.
- [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.3.2...v1.3.3)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 10:14:36 +02:00
dependabot[bot]
b6574fdbfa Bump go.mongodb.org/mongo-driver from 1.9.1 to 1.10.1 in /mongodb (#419)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.9.1 to 1.10.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.9.1...v1.10.1)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 10:14:17 +02:00
dependabot[bot]
adcd9c09c3 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#414)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.9.2 to 1.9.8.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.9.2...service/memorydb/v1.9.8)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 09:05:51 +02:00
Ishan Tyagi
e8a6d1b229 Added a default value for timeout while opening a boltDB. (#383)
* Added a default value for timeout while opening a boltDB.

* Updated the README.md
2022-08-03 08:49:27 +02:00
wernerr
6d96fb56af add caching layer for the test actions 2022-05-23 11:23:34 +02:00
dependabot[bot]
6fd94ebd5a Bump github.com/arangodb/go-driver from 1.3.1 to 1.3.2 in /arangodb (#376)
Bumps [github.com/arangodb/go-driver](https://github.com/arangodb/go-driver) from 1.3.1 to 1.3.2.
- [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.3.1...v1.3.2)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 13:21:36 +02:00
dependabot[bot]
0c0027d11d Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#378)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.9.1...v1.9.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 12:44:12 +02:00
dependabot[bot]
07d3c6b7c1 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#379)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.6 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/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.6...config/v1.15.7)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 11:51:39 +02:00
dependabot[bot]
8be14c8950 Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb (#377)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](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)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [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/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 09:50:03 +02:00
dependabot[bot]
2f13554ac3 Bump github.com/aws/aws-sdk-go-v2 from 1.16.3 to 1.16.4 in /dynamodb (#381)
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.16.3 to 1.16.4.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.3...v1.16.4)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 09:08:03 +02:00
RW
3d96c04300 redis action setup for 7 is giving errors
https://github.com/shogo82148/actions-setup-redis
2022-05-18 08:28:30 +02:00
dependabot[bot]
debcd26997 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#374)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.4...config/v1.15.6)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-17 08:35:45 +02:00
dependabot[bot]
96284ee8b7 Bump github.com/lib/pq from 1.10.5 to 1.10.6 in /postgres (#373)
Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.5 to 1.10.6.
- [Release notes](https://github.com/lib/pq/releases)
- [Commits](https://github.com/lib/pq/compare/v1.10.5...v1.10.6)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-17 08:09:45 +02:00
dependabot[bot]
a1f5f8b1b0 Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb (#375)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](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/main/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/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-17 08:09:28 +02:00
dependabot[bot]
6ea9ef03b5 Bump github.com/mattn/go-sqlite3 from 1.14.12 to 1.14.13 in /sqlite3 (#372)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.12 to 1.14.13.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.12...v1.14.13)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-13 19:10:26 +02:00
dependabot[bot]
663d7da0e7 Bump go.mongodb.org/mongo-driver from 1.9.0 to 1.9.1 in /mongodb (#370)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.9.0...v1.9.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 07:34:47 +02:00
dependabot[bot]
3432c9df7b Bump go.mongodb.org/mongo-driver from 1.8.4 to 1.9.0 in /mongodb (#359)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.8.4...v1.9.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-01 12:10:16 +02:00
dependabot[bot]
46d63d36ec Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#368)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.9.0...v1.9.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-01 11:49:13 +02:00
dependabot[bot]
035b445a98 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb (#365)
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](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/main/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/service/dynamodb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-01 11:33:45 +02:00
dependabot[bot]
ef2bde0f4a Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#369)
Bumps [github.com/aws/aws-sdk-go-v2/config](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/main/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/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-01 11:07:53 +02:00
Infinite Sea Inc
b2e9530bc7 allow hosts with prefix "/" , without escaping (#363)
* allow hosts with prefix "/" , without escaping

* add comment and fix code style

* fix bug

* Remove duplicate format call

* Update lib/pq

* try to fix goSec setup error

Co-authored-by: RW <rene@gofiber.io>
Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
2022-05-01 11:07:09 +02:00
wernerr
bd65618ff5 try to fix goSec setup error 2022-05-01 10:26:58 +02:00
Alexander Dunin
6420cf2823 Copypasta in docs/comments with the right default port in redis adapter (#364)
* Update config.go

* Update README.md
2022-04-26 00:43:50 +03:00
dependabot[bot]
2f656df41c Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#361)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.8.3 to 1.9.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.8.3...v1.9.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-19 10:56:18 -04:00
dependabot[bot]
83339bc156 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#356)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.8.0 to 1.8.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.8.0...config/v1.8.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 10:00:57 +02:00
dependabot[bot]
e464f894c6 Bump github.com/arangodb/go-driver from 1.3.0 to 1.3.1 in /arangodb (#342)
Bumps [github.com/arangodb/go-driver](https://github.com/arangodb/go-driver) from 1.3.0 to 1.3.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.3.0...v1.3.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 09:28:53 +02:00
dependabot[bot]
a5b31b013b Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#355)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.15.0 to 1.15.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.15.0...config/v1.15.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 09:28:29 +02:00
dependabot[bot]
0dd7781663 Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb (#354)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.10.0 to 1.11.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.10.0...v1.11.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 08:07:48 +02:00
dependabot[bot]
771b96b211 Bump github.com/aws/aws-sdk-go-v2 from 1.15.0 to 1.16.0 in /dynamodb (#345)
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.15.0...v1.16.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 07:31:37 +01:00
dependabot[bot]
aeda350995 Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb (#347)
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.15.0 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/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.15.0...config/v1.15.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 07:31:24 +01:00
dependabot[bot]
551f99d5d2 Bump github.com/arangodb/go-driver from 1.2.1 to 1.3.0 in /arangodb (#340)
Bumps [github.com/arangodb/go-driver](https://github.com/arangodb/go-driver) from 1.2.1 to 1.3.0.
- [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.2.1...v1.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-18 10:04:28 +01:00
dependabot[bot]
2aa051f366 Bump github.com/go-redis/redis/v8 from 8.11.4 to 8.11.5 in /redis (#341)
Bumps [github.com/go-redis/redis/v8](https://github.com/go-redis/redis) from 8.11.4 to 8.11.5.
- [Release notes](https://github.com/go-redis/redis/releases)
- [Changelog](https://github.com/go-redis/redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-redis/redis/compare/v8.11.4...v8.11.5)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-18 10:04:19 +01:00
dependabot[bot]
7d95149519 Bump github.com/aws/aws-sdk-go-v2/config in /dynamodb (#339)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.13.1 to 1.15.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.13.1...v1.15.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-09 08:26:56 +01:00
dependabot[bot]
1c100fe50a Bump github.com/aws/aws-sdk-go-v2/credentials in /dynamodb (#336)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.8.0 to 1.10.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.8.0...v1.10.0)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 09:33:01 +01:00
dependabot[bot]
395ea51b28 Bump github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue (#337)
Bumps [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) from 1.6.0 to 1.8.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.6.0...v1.8.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 09:10:03 +01:00
dependabot[bot]
d327e9b0dd Bump github.com/aws/aws-sdk-go-v2/service/dynamodb in /dynamodb (#335)
Bumps [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) from 1.13.0 to 1.15.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.13.0...v1.15.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 08:29:55 +01:00
dependabot[bot]
5cbf98de49 Bump go.mongodb.org/mongo-driver from 1.8.3 to 1.8.4 in /mongodb (#334)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.8.3...v1.8.4)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 08:29:28 +01:00
dependabot[bot]
22444f8aa9 Bump github.com/mattn/go-sqlite3 from 1.14.11 to 1.14.12 in /sqlite3 (#333)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.11 to 1.14.12.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.11...v1.14.12)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 08:29:20 +01:00
M. Efe Çetin
cc5ccf062b 🚀 feature: add bbolt implementation (#321)
* Update CI/CD tests.

* Add Bbolt db.

* Add README.

* Add actions.

* Drop go1.14 & go1.15 for bbolt.

* Add support for go1.16

* Update config.go

Co-authored-by: wernerr <rene.werner@verivox.com>
2022-02-10 15:45:13 +01:00
M. Efe Çetin
315f14ce58 🔥 Make DynamoDB Production-Ready [🎌 breaking change] (#323)
* Update CI/CD tests.

* Update aws-sdk-go to v2, add unit tests, remove warning test, make config better.

* add action

Co-authored-by: wernerr <rene.werner@verivox.com>
2022-02-10 15:44:59 +01:00
wernerr
f9eaa6ae4d stabilize ristretto tests
bug already communicated
2022-02-10 15:23:44 +01:00
dependabot[bot]
2be6e0cc10 Bump github.com/aws/aws-sdk-go from 1.42.48 to 1.42.50 in /dynamodb (#327)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.48 to 1.42.50.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.48...v1.42.50)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-10 14:23:04 +01:00
dependabot[bot]
5b444c36df Bump github.com/aws/aws-sdk-go from 1.42.46 to 1.42.48 in /dynamodb (#325)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.46 to 1.42.48.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.46...v1.42.48)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-08 08:42:04 +01:00
M. Efe Çetin
61fa9709f2 🔥 several updates for s3 (#322)
* updates for s3.

* fix linter
2022-02-04 21:53:36 +01:00
Paul Cento
45cc6b9dcd 🚀 Add S3 Implementation (#227)
* implement basic s3 operations

* add request timeout contexts

* remove close channel

* update Config comments

* fix README

* stuff

* set config options in s3.Storage

* add s3 workflow for github actions

* Bump SDK to aws/aws-sdk-go-v2

* update

* Add missing README.

* Add security workflows for s3.

* Add tests for S3

* update

update

update

update

update

update

update

update

update

update

update

update

update

update

* update

* Code reviews.

Co-authored-by: Paul Cento <prscento@uwaterloo.ca>
Co-authored-by: Alex Bakker <abakks@hotmail.com>
Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
2022-02-04 12:41:26 +01:00
dependabot[bot]
e7293b3841 Bump github.com/mattn/go-sqlite3 from 1.14.10 to 1.14.11 in /sqlite3 (#319)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.10 to 1.14.11.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.10...v1.14.11)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-04 10:02:37 +01:00
dependabot[bot]
69b0b5a26f Bump github.com/aws/aws-sdk-go from 1.42.45 to 1.42.46 in /dynamodb (#320)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.45 to 1.42.46.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.45...v1.42.46)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-04 10:01:47 +01:00
dependabot[bot]
edb920dc05 Bump github.com/aws/aws-sdk-go from 1.42.38 to 1.42.45 in /dynamodb (#318)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.38 to 1.42.45.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.38...v1.42.45)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-03 16:10:11 +01:00
dependabot[bot]
df9fdcbaf9 Bump go.mongodb.org/mongo-driver from 1.8.2 to 1.8.3 in /mongodb (#317)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.8.2 to 1.8.3.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.8.2...v1.8.3)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-03 16:10:03 +01:00
115 changed files with 4373 additions and 900 deletions

View File

@@ -2,111 +2,104 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
labels:
- "🤖 Dependencies"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/" # Location of package manifests directory: "/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/arangodb/" # Location of package manifests directory: "/arangodb/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/badger/" # Location of package manifests directory: "/badger/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/dynamodb/" # Location of package manifests directory: "/dynamodb/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "weekly"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/memcache/" # Location of package manifests directory: "/memcache/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/memory/" # Location of package manifests directory: "/memory/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/mongodb/" # Location of package manifests directory: "/mongodb/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/mysql/" # Location of package manifests directory: "/mysql/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/postgres/" # Location of package manifests directory: "/postgres/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/redis/" # Location of package manifests directory: "/redis/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/sqlite3/" # Location of package manifests directory: "/sqlite3/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/ristretto/" # Location of package manifests directory: "/ristretto/" # Location of package manifests
default_labels: labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/s3/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "weekly"
- package-ecosystem: "gomod"
directory: "/bbolt/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/azureblob/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
directory: "/mssql/" # Location of package manifests
labels:
- "🤖 Dependencies" - "🤖 Dependencies"
schedule: schedule:
interval: "daily" interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"

View File

@@ -16,6 +16,7 @@ categories:
- '📒 Documentation' - '📒 Documentation'
change-template: '- $TITLE (#$NUMBER)' change-template: '- $TITLE (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
sort-by: 'title'
version-resolver: version-resolver:
major: major:
labels: labels:
@@ -90,4 +91,6 @@ autolabeler:
template: | template: |
$CHANGES $CHANGES
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
Thank you $CONTRIBUTORS for making this update possible. Thank you $CONTRIBUTORS for making this update possible.

View File

@@ -16,7 +16,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
# We must fetch at least the immediate parents so that if this is # We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head. # a pull request then we can checkout the head.
@@ -29,7 +29,7 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v1 uses: github/codeql-action/init@v2
# Override language selection by uncommenting this and choosing your languages # Override language selection by uncommenting this and choosing your languages
with: with:
languages: go languages: go
@@ -37,7 +37,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -51,4 +51,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@v2

View File

@@ -0,0 +1,41 @@
name: Dependabot auto-merge
on:
pull_request
permissions:
contents: write
pull-requests: write
jobs:
wait_for_checks:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Wait for check is finished
uses: lewagon/wait-on-check-action@v1.2.0
id: wait_for_checks
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
running-workflow-name: wait_for_checks
check-regexp: Tests
repo-token: ${{ secrets.PR_TOKEN }}
wait-interval: 10
dependabot:
needs: [wait_for_checks]
name: Dependabot auto-merge
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1.3.5
with:
github-token: "${{ secrets.PR_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
if: ${{steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch'}}
run: |
gh pr review --approve "$PR_URL"
gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.PR_TOKEN}}

View File

@@ -1,12 +1,17 @@
on: [push, pull_request] on:
push:
branches:
- master
- main
pull_request:
name: Linter name: Linter
jobs: jobs:
Golint: Golint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch Repository - name: Fetch Repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Run Golint - name: Run Golint
uses: reviewdog/action-golangci-lint@v1 uses: reviewdog/action-golangci-lint@v2
with: with:
golangci_lint_flags: "--tests=false" golangci_lint_flags: "--tests=false"

View File

@@ -1,64 +1,85 @@
on: [ push, pull_request ] on:
name: Security push:
jobs: branches:
Gosec: - master
runs-on: ubuntu-latest - main
steps: pull_request:
- name: Fetch Repository name: Security
uses: actions/checkout@v2 jobs:
- name: Install Go Gosec:
uses: actions/setup-go@v2 runs-on: ubuntu-latest
with: steps:
go-version: '^1.17.6' - name: Fetch Repository
- name: Install Gosec uses: actions/checkout@v3
run: | - name: Install Go
export PATH=${PATH}:`go env GOPATH`/bin uses: actions/setup-go@v3
go get -u github.com/securego/gosec/v2/cmd/gosec with:
- name: Run Gosec (root) go-version: '^1.17.6'
working-directory: . - name: Install Gosec
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal -exclude-dir=arangodb -exclude-dir=badger -exclude-dir=dynamodb -exclude-dir=memcache -exclude-dir=memory -exclude-dir=mongodb -exclude-dir=mysql -exclude-dir=postgres -exclude-dir=redis -exclude-dir=ristretto -exclude-dir=sqlite3 ./..." run: |
# ----- export PATH=${PATH}:`go env GOPATH`/bin
- name: Run Gosec (arangodb) go install github.com/securego/gosec/v2/cmd/gosec@latest
working-directory: ./arangodb - name: Run Gosec (root)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: .
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal -exclude-dir=arangodb -exclude-dir=badger -exclude-dir=dynamodb -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 ./..."
- name: Run Gosec (badger) # -----
working-directory: ./badger - name: Run Gosec (arangodb)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./arangodb
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (dynamodb) # -----
working-directory: ./dynamodb - name: Run Gosec (badger)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./badger
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (memcache) # -----
working-directory: ./memcache - name: Run Gosec (dynamodb)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./dynamodb
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (memory) # -----
working-directory: ./memory - name: Run Gosec (memcache)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./memcache
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (mongodb) # -----
working-directory: ./mongodb - name: Run Gosec (memory)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./memory
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (mysql) # -----
working-directory: ./mysql - name: Run Gosec (mongodb)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./mongodb
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (postgres) # -----
working-directory: ./postgres - name: Run Gosec (mysql)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./mysql
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (redis) # -----
working-directory: ./redis - name: Run Gosec (postgres)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./postgres
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (sqlite3) # -----
working-directory: ./sqlite3 - name: Run Gosec (redis)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./redis
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
- name: Run Gosec (ristretto) # -----
working-directory: ./ristretto - name: Run Gosec (sqlite3)
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..." working-directory: ./sqlite3
# ----- run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
# -----
- name: Run Gosec (s3)
working-directory: ./s3
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
# -----
- name: Run Gosec (ristretto)
working-directory: ./ristretto
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
# -----
- name: Run Gosec (bbolt)
working-directory: ./bbolt
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
# -----
- name: Run Gosec (azureblob)
working-directory: ./azureblob
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
# -----
- name: Run Gosec (mssql)
working-directory: ./mssql
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
# -----

View File

@@ -1,33 +1,51 @@
'on': on:
- push push:
- pull_request branches:
name: ArangoDB - master
- main
pull_request:
name: "Tests ArangoDB"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
arangodb: arangodb:
image: 'arangodb:latest' image: 'arangodb:latest'
env: env:
ARANGO_NO_AUTH: 1 ARANGO_NO_AUTH: 1
ports: ports:
- '8529:8529' - '8529:8529'
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest steps:
steps: - name: Install Go
- name: Install Go uses: actions/setup-go@v3
uses: actions/setup-go@v1 with:
with: go-version: '${{ matrix.go-version }}'
go-version: '${{ matrix.go-version }}' - name: Setup Golang caches
- name: Fetch Repository uses: actions/cache@v3
uses: actions/checkout@v2 with:
- name: Run Test # In order:
run: cd ./arangodb && go test ./... -v -race # * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./arangodb && go test ./... -v -race

46
.github/workflows/test-azureblob.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests Azure Blob"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
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: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./azureblob && go test ./... -v -race

44
.github/workflows/test-badger.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests Badger"
jobs:
Tests:
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
runs-on: '${{ matrix.platform }}'
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Test Badger
run: cd ./badger && go test ./... -v -race

43
.github/workflows/test-bbolt.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests Bbolt"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./bbolt && go mod tidy && go test ./... -v -race

49
.github/workflows/test-dynamodb.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests DynamoDB"
jobs:
Tests:
runs-on: ubuntu-latest
services:
mongo:
image: 'amazon/dynamodb-local:latest'
ports:
- '8000:8000'
strategy:
matrix:
go-version:
- 1.16.x
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./dynamodb && go test ./... -v -race

View File

@@ -1,31 +1,49 @@
'on': on:
- push push:
- pull_request branches:
name: Memcache - master
- main
pull_request:
name: "Tests Memcache"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
mongo: mongo:
image: 'memcached:latest' image: 'memcached:latest'
ports: ports:
- '11211:11211' - '11211:11211'
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest steps:
steps: - name: Install Go
- name: Install Go uses: actions/setup-go@v3
uses: actions/setup-go@v1 with:
with: go-version: '${{ matrix.go-version }}'
go-version: '${{ matrix.go-version }}' - name: Setup Golang caches
- name: Fetch Repository uses: actions/cache@v3
uses: actions/checkout@v2 with:
- name: Run Test # In order:
run: cd ./memcache && go test ./... -v -race # * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./memcache && go test ./... -v -race

View File

@@ -1,31 +1,49 @@
'on': on:
- push push:
- pull_request branches:
name: MongoDB - master
- main
pull_request:
name: "Tests Mongodb"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
mongo: mongo:
image: 'mongo:latest' image: 'mongo:latest'
ports: ports:
- '27017:27017' - '27017:27017'
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest steps:
steps: - name: Install Go
- name: Install Go uses: actions/setup-go@v3
uses: actions/setup-go@v1 with:
with: go-version: '${{ matrix.go-version }}'
go-version: '${{ matrix.go-version }}' - name: Setup Golang caches
- name: Fetch Repository uses: actions/cache@v3
uses: actions/checkout@v2 with:
- name: Run Test # In order:
run: cd ./mongodb && go test ./... -v -race # * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./mongodb && go test ./... -v -race

65
.github/workflows/test-mssql.yml vendored Normal file
View File

@@ -0,0 +1,65 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests MSSQL"
jobs:
Tests:
runs-on: ubuntu-latest
services:
mssql:
image: 'mcmoe/mssqldocker:v2019.CU4.0'
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
strategy:
matrix:
go-version:
- 1.16.x
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./mssql && go test ./... -v -race
env:
MSSQL_DATABASE: master
MSSQL_USERNAME: sa
MSSQL_PASSWORD: MsSql!1234

View File

@@ -1,43 +1,61 @@
'on': on:
- push push:
- pull_request branches:
name: MySQL - master
- main
pull_request:
name: "Tests MySQL"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
mysql: mysql:
image: 'mysql:latest' image: 'mysql:latest'
env: env:
MYSQL_DATABASE: fiber MYSQL_DATABASE: fiber
MYSQL_USER: username MYSQL_USER: username
MYSQL_PASSWORD: password MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password MYSQL_ROOT_PASSWORD: password
ports: ports:
- '3306:3306' - '3306:3306'
options: >- options: >-
--health-cmd "mysqladmin ping" --health-interval 10s --health-timeout --health-cmd "mysqladmin ping" --health-interval 10s --health-timeout
5s --health-retries 5 5s --health-retries 5
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest steps:
steps: - name: Install Go
- name: Install Go uses: actions/setup-go@v3
uses: actions/setup-go@v1 with:
with: go-version: '${{ matrix.go-version }}'
go-version: '${{ matrix.go-version }}' - name: Setup Golang caches
- name: Fetch Repository uses: actions/cache@v3
uses: actions/checkout@v2 with:
- name: Run Test # In order:
run: cd ./mysql && go test ./... -v -race # * Module download cache
env: # * Build cache (Linux)
MYSQL_USERNAME: username # * Build cache (Mac)
MYSQL_PASSWORD: password # * Build cache (Windows)
MYSQL_DATABASE: fiber path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./mysql && go test ./... -v -race
env:
MYSQL_USERNAME: username
MYSQL_PASSWORD: password
MYSQL_DATABASE: fiber

View File

@@ -1,42 +1,60 @@
'on': on:
- push push:
- pull_request branches:
name: Postgres - master
- main
pull_request:
name: "Tests Postgres"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
postgres: postgres:
image: 'postgres:latest' image: 'postgres:latest'
ports: ports:
- '5432:5432' - '5432:5432'
env: env:
POSTGRES_DB: fiber POSTGRES_DB: fiber
POSTGRES_USER: username POSTGRES_USER: username
POSTGRES_PASSWORD: password POSTGRES_PASSWORD: password
options: >- options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5 --health-retries 5
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest steps:
steps: - name: Install Go
- name: Install Go uses: actions/setup-go@v3
uses: actions/setup-go@v1 with:
with: go-version: '${{ matrix.go-version }}'
go-version: '${{ matrix.go-version }}' - name: Setup Golang caches
- name: Fetch Repository uses: actions/cache@v3
uses: actions/checkout@v2 with:
- name: Run Test # In order:
run: cd ./postgres && go test ./... -v -race # * Module download cache
env: # * Build cache (Linux)
POSTGRES_DATABASE: fiber # * Build cache (Mac)
POSTGRES_USERNAME: username # * Build cache (Windows)
POSTGRES_PASSWORD: password path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./postgres && go test ./... -v -race
env:
POSTGRES_DATABASE: fiber
POSTGRES_USERNAME: username
POSTGRES_PASSWORD: password

View File

@@ -1,43 +1,62 @@
'on': on:
- push push:
- pull_request branches:
name: Redis - master
- main
pull_request:
name: "Tests Redis"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest steps:
steps: - name: Fetch Repository
- name: Fetch Repository uses: actions/checkout@v3
uses: actions/checkout@v2
- name: Setup Redis - name: Setup Redis
uses: shogo82148/actions-setup-redis@v1 uses: shogo82148/actions-setup-redis@v1
with: with:
redis-version: 'latest' redis-version: '6.x'
auto-start: 'false' auto-start: 'false'
redis-port: '6379' redis-port: '6379'
redis-tls-port: '6380' redis-tls-port: '6380'
- name: Run Redis - name: Run Redis
run: | run: |
redis-server --tls-port 6380 --port 6379 \ redis-server --tls-port 6380 --port 6379 \
--tls-cert-file ./redis/tests/tls/redis.crt \ --tls-cert-file ./redis/tests/tls/redis.crt \
--tls-key-file ./redis/tests/tls/redis.key \ --tls-key-file ./redis/tests/tls/redis.key \
--tls-ca-cert-file ./redis/tests/tls/ca.crt& --tls-ca-cert-file ./redis/tests/tls/ca.crt&
- name: Install Go - name: Install Go
uses: actions/setup-go@v1 uses: actions/setup-go@v3
with: with:
go-version: '${{ matrix.go-version }}' go-version: '${{ matrix.go-version }}'
- name: Run Test - name: Setup Golang caches
run: cd ./redis && go test ./... -v -race uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Run Test
run: cd ./redis && go test ./... -v -race

View File

@@ -1,24 +1,43 @@
'on': on:
- push push:
- pull_request branches:
name: Ristretto - master
- main
pull_request:
name: "Tests Ristretto"
jobs: jobs:
Tests: Tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.16.x - 1.18.x
- 1.17.x - 1.19.x
platform: platform:
- ubuntu-latest - ubuntu-latest
- windows-latest - windows-latest
steps: steps:
- name: Install Go - name: Install Go
uses: actions/setup-go@v1 uses: actions/setup-go@v3
with: with:
go-version: '${{ matrix.go-version }}' go-version: '${{ matrix.go-version }}'
- name: Fetch Repository - name: Setup Golang caches
uses: actions/checkout@v2 uses: actions/cache@v3
- name: Run Test with:
run: cd ./ristretto && go mod tidy && go test ./... -v -race # In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./ristretto && go mod tidy && go test ./... -v -race

53
.github/workflows/test-s3.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests S3"
jobs:
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.16.x
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
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
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Run Test
run: cd ./s3 && go test ./... -v -race

49
.github/workflows/test-sqlite3.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
on:
push:
branches:
- master
- main
pull_request:
name: "Tests Sqlite3"
jobs:
Tests:
strategy:
matrix:
go-version:
- 1.16.x
- 1.18.x
- 1.19.x
platform:
- ubuntu-latest
- windows-latest
runs-on: '${{ matrix.platform }}'
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.go-version }}'
- name: Setup Golang caches
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Test SQLite3 - with -race check
if: runner.os != 'Windows'
run: cd ./sqlite3 && go test ./... -v -race
- name: Test SQLite3 - without -race check
if: runner.os == 'Windows'
run: cd ./sqlite3 && go test ./... -v

View File

@@ -1,30 +1,45 @@
'on': on:
- push push:
- pull_request branches:
name: Local Storage - master
- main
pull_request:
name: "Tests Local Storage"
jobs: jobs:
Tests: Tests:
strategy: strategy:
matrix: matrix:
go-version: go-version:
- 1.14.x - 1.16.x
- 1.15.x - 1.18.x
- 1.16.x - 1.19.x
- 1.17.x platform:
platform: - ubuntu-latest
- ubuntu-latest - windows-latest
- windows-latest runs-on: '${{ matrix.platform }}'
runs-on: '${{ matrix.platform }}' steps:
steps: - name: Install Go
- name: Install Go uses: actions/setup-go@v3
uses: actions/setup-go@v1 with:
with: go-version: '${{ matrix.go-version }}'
go-version: '${{ matrix.go-version }}' - name: Setup Golang caches
- name: Fetch Repository uses: actions/cache@v3
uses: actions/checkout@v2 with:
- name: Test Badger # In order:
run: cd ./badger && go test ./... -v -race # * Module download cache
- name: Test Memory # * Build cache (Linux)
run: cd ./memory && go test ./... -v -race # * Build cache (Mac)
- name: Test SQLite3 # * Build cache (Windows)
run: cd ./sqlite3 && go test ./... -v -race path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
~\AppData\Local\go-build
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Fetch Repository
uses: actions/checkout@v3
- name: Test Memory
run: cd ./memory && go test ./... -v -race

19
.github/workflows/vulncheck.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
on: [push, pull_request_target]
name: Vulnerability Check
jobs:
Security:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Fetch Repository
uses: actions/checkout@v3
- name: Install Govulncheck
run: |
export GO111MODULE=on
export PATH=${PATH}:`go env GOPATH`/bin
go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Run Govulncheck
run: "`go env GOPATH`/bin/govulncheck ./..."

177
README.md
View File

@@ -1,83 +1,94 @@
<p align="center">
<p align="center"> <!-- <a href="https://gofiber.io">
<!-- <a href="https://gofiber.io"> <img alt="Fiber" height="125" src="https://raw.githubusercontent.com/gofiber/docs/master/static/fiber_v2_logo.svg">
<img alt="Fiber" height="125" src="https://raw.githubusercontent.com/gofiber/docs/master/static/fiber_v2_logo.svg"> </a>
</a> <br> -->
<br> -->
# 📦 Storage
# 📦 Storage
<a href="https://pkg.go.dev/github.com/gofiber/storage?tab=doc">
<a href="https://pkg.go.dev/github.com/gofiber/storage?tab=doc"> <img src="https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7&style=flat">
<img src="https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7&style=flat"> </a>
</a> <a href="https://goreportcard.com/report/github.com/gofiber/storage">
<a href="https://goreportcard.com/report/github.com/gofiber/storage"> <img src="https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B">
<img src="https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B"> </a>
</a> <a href="https://gocover.io/github.com/gofiber/storage">
<a href="https://gocover.io/github.com/gofiber/storage"> <img src="https://img.shields.io/badge/%F0%9F%94%8E%20gocover-97.8%25-75C46B.svg?style=flat">
<img src="https://img.shields.io/badge/%F0%9F%94%8E%20gocover-97.8%25-75C46B.svg?style=flat"> </a>
</a> <a href="https://gofiber.io/discord">
<a href="https://gofiber.io/discord"> <img src="https://img.shields.io/discord/704680098577514527?style=flat&label=%F0%9F%92%AC%20discord&color=00ACD7">
<img src="https://img.shields.io/discord/704680098577514527?style=flat&label=%F0%9F%92%AC%20discord&color=00ACD7"> </a>
</a> </p>
</p>
Premade storage drivers that implement the [`Storage`](https://github.com/gofiber/storage/blob/main/storage.go) interface, designed to be used with various [Fiber middlewares](https://github.com/gofiber/fiber/tree/master/middleware).
Premade storage drivers that implement the [`Storage`](https://github.com/gofiber/storage/blob/main/storage.go) interface, designed to be used with various [Fiber middlewares](https://github.com/gofiber/fiber/tree/master/middleware).
```go
```go // Storage interface for communicating with different database/key-value
// Storage interface for communicating with different database/key-value // providers. Visit https://github.com/gofiber/storage for more info.
// providers. Visit https://github.com/gofiber/storage for more info. type Storage interface {
type Storage interface { // Get gets the value for the given key.
// Get gets the value for the given key. // `nil, nil` is returned when the key does not exist
// `nil, nil` is returned when the key does not exist Get(key string) ([]byte, error)
Get(key string) ([]byte, error)
// Set stores the given value for the given key along
// Set stores the given value for the given key along // with an expiration value, 0 means no expiration.
// with an expiration value, 0 means no expiration. // Empty key or value will be ignored without an error.
// Empty key or value will be ignored without an error. Set(key string, val []byte, exp time.Duration) error
Set(key string, val []byte, exp time.Duration) error
// Delete deletes the value for the given key.
// Delete deletes the value for the given key. // It returns no error if the storage does not contain the key,
// It returns no error if the storage does not contain the key, Delete(key string) error
Delete(key string) error
// Reset resets the storage and delete all keys.
// Reset resets the storage and delete all keys. Reset() error
Reset() error
// Close closes the storage and will stop any running garbage
// Close closes the storage and will stop any running garbage // collectors and open connections.
// collectors and open connections. Close() error
Close() error }
} ```
```
## 📑 Storage Implementations
## 📑 Storage Implementations
* [ArangoDB](/arangodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+ArangoDB%22">
* [ArangoDB](/arangodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22ArangoDB%22"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20ArangoDB?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/ArangoDB?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [AzureBlob](/azureblob) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Azure+Blob%22">
* [Badger](/badger) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Local+Storage%22"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Azure%20Blob?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Local%20Storage?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [Badger](/badger) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Badger%22">
* [DynamoDB](/dynamodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22DynamoDB%22"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Badger?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/DynamoDB?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [Bbolt](/bbolt) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Bbolt%22">
* [Memcache](/memcache) <a href="https://github.com/gofiber/storage/actions?query=workflow%3AMemcache"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Bbolt?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Memcache?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [DynamoDB](/dynamodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+DynamoDB%22">
* [Memory](/memory) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Local+Storage%22"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20DynamoDB?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Local%20Storage?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [Memcache](/memcache) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Memcache%22">
* [MongoDB](/mongodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3AMongoDB"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Memcache?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/MongoDB?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [Memory](/memory) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Local+Storage%22">
* [MySQL](/mysql) <a href="https://github.com/gofiber/storage/actions?query=workflow%3AMySQL"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Local%20Storage?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/MySQL?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [MongoDB](/mongodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Mongodb%22">
* [Postgres](/postgres) <a href="https://github.com/gofiber/storage/actions?query=workflow%3APostgres"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Mongodb?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Postgres?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [MSSQL](/mssql) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MSSQL%22">
* [Redis](/redis) <a href="https://github.com/gofiber/storage/actions?query=workflow%3ARedis"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20MSSQL?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Redis?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [MySQL](/mysql) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MySQL%22">
* [SQLite3](/sqlite3) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Local+Storage%22"> <img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20MySQL?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Local%20Storage?label=%F0%9F%A7%AA%20&style=flat&color=75C46B"> </a>
</a> * [Postgres](/postgres) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Postgres%22">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Postgres?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
</a>
* [Redis](/redis) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Redis%22">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Redis?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
</a>
* [SQLite3](/sqlite3) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Sqlite3%22">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Sqlite3?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
</a>
* [S3](/s3) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+S3%22">
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20S3?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
</a>

View File

@@ -16,6 +16,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() driver.Client
``` ```
### Installation ### Installation
ArangoDB is tested on the 2 last (1.14/1.15) [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet: ArangoDB is tested on the 2 last (1.14/1.15) [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:

View File

@@ -246,3 +246,8 @@ func (s *Storage) gc() {
} }
} }
} }
// Return database client
func (s *Storage) Conn() driver.Client {
return s.client
}

View File

@@ -132,3 +132,7 @@ func Test_ARANGODB_Non_UTF8(t *testing.T) {
func Test_ARANGODB_Close(t *testing.T) { func Test_ARANGODB_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_ARANGODB_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -1,8 +1,8 @@
module github.com/gofiber/storage/arangodb module github.com/gofiber/storage/arangodb
go 1.14 go 1.16
require ( require (
github.com/arangodb/go-driver v1.2.1 github.com/arangodb/go-driver v1.4.0
github.com/gofiber/utils v0.1.2 github.com/gofiber/utils v1.0.1
) )

View File

@@ -1,5 +1,5 @@
github.com/arangodb/go-driver v1.2.1 h1:HREDHhDmzdIWxHmfkfTESbYUnRjESjPh4WUuXq7FZa8= github.com/arangodb/go-driver v1.4.0 h1:uNCbVYkr5ZP3hIVUP6wqjOVyhMYOL9NDmR762tIeYP0=
github.com/arangodb/go-driver v1.2.1/go.mod h1:zdDkJJnCj8DAkfbtIjIXnsTrWIiy6VhP3Vy14p+uQeY= github.com/arangodb/go-driver v1.4.0/go.mod h1:5GAx3XvK72DJPhJgyjZOtYAGc4SpY7rZDb3LyhCvLcQ=
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2LcQBbxd0ZFdbGSyRKTYMZCfBbw/pMJFOk1g= 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/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e/go.mod h1:mq7Shfa/CaixoDxiyAAc5jZ6CVBAyPaNQCGS7mkj4Ho=
github.com/coreos/go-iptables v0.4.3/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= github.com/coreos/go-iptables v0.4.3/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
@@ -7,8 +7,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= 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/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/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= 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/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/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -33,7 +33,6 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
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/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 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

103
azureblob/README.md Normal file
View File

@@ -0,0 +1,103 @@
# 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)
### 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) Conn() *azblob.Client
```
### Installation
Azure blob storage driver is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
```bash
go mod init github.com/<user>/<repo>
```
And then install the azure blob implementation:
```bash
go get github.com/gofiber/storage/azureblob
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/azureblob"
```
You can use the following possibilities to create a storage:
```go
// Initialize default config
store := azureblob.New()
// Initialize custom config
store := azureblob.New(azureblob.Config{
Account: "test",
Container: "test",
Credentials: Credentials{
Account: "test",
Key: "YXp1cml0ZWtleQo=",
},
})
```
### Config
```go
type Config struct {
// Storage account name.
Account string
// Container name.
Container string
// Storage endpoint.
// Optional. Default: "https://STORAGEACCOUNTNAME.blob.core.windows.net"
Endpoint string
// Request timeout.
// Optional. Default is 0 (no timeout)
RequestTimeout time.Duration
// Reset clears any existing keys in existing container.
// Optional. Default is false
Reset bool
// Credentials overrides AWS access key and AWS secret access key. Not recommended.
// Optional. Default is Credentials{}
Credentials Credentials
// The maximum number of times requests that encounter retryable failures should be attempted.
// Optional. Default is 3
MaxAttempts int
}
```
### Default Config
```go
var ConfigDefault = Config{
Account: "",
Container: "",
Endpoint: "",
RequestTimeout: 0,
Reset: false,
MaxAttempts: 3,
}
```

138
azureblob/azureblob.go Normal file
View File

@@ -0,0 +1,138 @@
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"
)
// Storage interface that is implemented by storage providers
type Storage struct {
client *azblob.Client
container string
requestTimeout time.Duration
}
// New creates a new storage
func New(config ...Config) *Storage {
// Set default config
cfg := configure(config...)
// Set the azure credentials
cred, err := azblob.NewSharedKeyCredential(cfg.Credentials.Account, cfg.Credentials.Key)
handleError(err)
client, err := azblob.NewClientWithSharedKeyCredential(cfg.Endpoint, cred, nil)
handleError(err)
_, err = client.CreateContainer(context.TODO(), cfg.Container, nil)
if err != nil {
if !bloberror.HasCode(err, bloberror.ContainerAlreadyExists) {
panic(fmt.Sprintf("invalid config:, %v", err))
}
}
storage := &Storage{
client: client,
container: cfg.Container,
requestTimeout: cfg.RequestTimeout,
}
// Reset all entries if set to true
if cfg.Reset {
if err := storage.Reset(); err != nil {
panic(err)
}
}
return storage
}
// Get value by key
func (s *Storage) Get(key string) ([]byte, error) {
if len(key) <= 0 {
return nil, nil
}
ctx, cancel := s.requestContext()
defer cancel()
resp, err := s.client.DownloadStream(ctx, s.container, key, nil)
if err != nil {
return []byte{}, err
}
data, err := io.ReadAll(resp.Body)
return data, err
}
// Set key with value
func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
if len(key) <= 0 {
return nil
}
ctx, cancel := s.requestContext()
defer cancel()
_, err := s.client.UploadBuffer(ctx, s.container, key, val, nil)
return err
}
// Delete entry by key
func (s *Storage) Delete(key string) error {
if len(key) <= 0 {
return nil
}
ctx, cancel := s.requestContext()
defer cancel()
_, err := s.client.DeleteBlob(ctx, s.container, key, nil)
return err
}
// Reset all entries
func (s *Storage) Reset() error {
ctx, cancel := s.requestContext()
defer cancel()
//_, err := s.client.DeleteContainer(ctx, s.container, nil)
//return err
pager := s.client.NewListBlobsFlatPager(s.container, nil)
errCounter := 0
for pager.More() {
resp, err := pager.NextPage(ctx)
if err != nil {
errCounter = errCounter + 1
}
for _, v := range resp.Segment.BlobItems {
_, err = s.client.DeleteBlob(ctx, s.container, *v.Name, nil)
if err != nil {
errCounter = errCounter + 1
}
}
}
if errCounter > 0 {
return errors.New(fmt.Sprintf("%d errors occured while resetting", errCounter))
}
return nil
}
// Conn returns storage client
func (s *Storage) Conn() *azblob.Client {
return s.client
}
// Close the storage connextion
func (s *Storage) Close() error {
return nil
}
// Context for making requests will timeout if a non-zero timeout is configured
func (s *Storage) requestContext() (context.Context, context.CancelFunc) {
if s.requestTimeout > 0 {
return context.WithTimeout(context.Background(), s.requestTimeout)
}
return context.Background(), func() {}
}
// handleError is a helper to panic on error
func handleError(err error) {
if err != nil {
panic(fmt.Sprintf("invalid config:, %v", err))
}
}

137
azureblob/azureblob_test.go Normal file
View File

@@ -0,0 +1,137 @@
package azureblob
import (
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror"
"github.com/gofiber/fiber/v2/utils"
"testing"
)
func newStore() *Storage {
return New(Config{
Account: "devstoreaccount1",
Container: "test",
Endpoint: "http://127.0.0.1:10000/devstoreaccount1",
Credentials: Credentials{
Account: "devstoreaccount1",
Key: "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==",
},
})
}
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)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
}
func Test_AzureBlob_Set(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_AzureBlob_Delete(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
if err != nil {
if bloberror.HasCode(err, bloberror.BlobNotFound) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_AzureBlob_Override(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, 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)
}
func Test_AzureBlob_Reset(t *testing.T) {
var (
val = []byte("doe")
)
testStore := newStore()
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
result, err := testStore.Get("john1")
if err != nil {
if bloberror.HasCode(err, bloberror.BlobNotFound) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
result, err = testStore.Get("john2")
if err != nil {
if bloberror.HasCode(err, bloberror.BlobNotFound) {
err = nil
}
}
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_S3_Conn(t *testing.T) {
testStore := newStore()
utils.AssertEqual(t, true, testStore.Conn() != nil)
}
func Test_AzureBlob_Close(t *testing.T) {
testStore := newStore()
utils.AssertEqual(t, nil, testStore.Close())
}

80
azureblob/config.go Normal file
View File

@@ -0,0 +1,80 @@
package azureblob
import (
"errors"
"fmt"
"time"
)
// Config defines the config for storage.
type Config struct {
// Storage account name.
Account string
// Container name.
Container string
// Storage endpoint.
// Optional. Default: "https://STORAGEACCOUNTNAME.blob.core.windows.net"
Endpoint string
// Request timeout.
// Optional. Default is 0 (no timeout)
RequestTimeout time.Duration
// Reset clears any existing keys in existing container.
// Optional. Default is false
Reset bool
// Credentials overrides AWS access key and AWS secret access key. Not recommended.
// Optional. Default is Credentials{}
Credentials Credentials
// The maximum number of times requests that encounter retryable failures should be attempted.
// Optional. Default is 3
MaxAttempts int
}
// Credentials are the azure storage account access keys
type Credentials struct {
Account string
Key string
}
// ConfigDefault is the default config
var ConfigDefault = Config{
Account: "",
Container: "",
Endpoint: "",
RequestTimeout: 0,
Reset: false,
MaxAttempts: 3,
}
// Helper function to set default values
func configure(config ...Config) Config {
// Return default config if nothing provided
if len(config) < 1 {
return ConfigDefault
}
// Override default config
cfg := config[0]
valid, err := validateConfig(cfg)
if err != nil || !valid {
panic(fmt.Sprintf("invalid config:, %v", err))
}
if cfg.Endpoint == "" {
cfg.Endpoint = "https://" + cfg.Account + ".blob.core.windows.net"
}
return cfg
}
func validateConfig(config Config) (bool, error) {
if config.Credentials.Account == "" || config.Credentials.Key == "" {
err := errors.New("credentials must not be empty")
return false, err
}
if config.Account == "" || config.Container == "" {
err := errors.New("invalid account information provided")
return false, err
}
if config.Account != config.Credentials.Account {
err := errors.New("account configuration mismatch")
return false, err
}
return true, nil
}

16
azureblob/go.mod Normal file
View File

@@ -0,0 +1,16 @@
module github.com/gofiber/storage/azureblob
go 1.18
require (
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.5.1
github.com/gofiber/fiber/v2 v2.40.0
)
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.1 // indirect
github.com/google/uuid v1.3.0 // indirect
golang.org/x/net v0.2.0 // indirect
golang.org/x/text v0.4.0 // indirect
)

27
azureblob/go.sum Normal file
View File

@@ -0,0 +1,27 @@
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.1 h1:Oj853U9kG+RLTCQXpjvOnrv0WaZHxgmZz1TlLywgOPY=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.1/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.5.1 h1:BMTdr+ib5ljLa9MxTJK8x/Ds0MbBb4MfuW5BL0zMJnI=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.5.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/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.40.0 h1:fdU7w5hT6PLL7jiWIhtQ+S/k5WEFYoUZidptlPu8GBo=
github.com/gofiber/fiber/v2 v2.40.0/go.mod h1:Gko04sLksnHbzLSRBFWPFdzM9Ws9pRxvvIaohJK1dsk=
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/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI=
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.0.0-20220511200225-c6db032c6c88 h1:Tgea0cVUD0ivh5ADBX4WwuI12DUd2to3nCYe2eayMIw=
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=

View File

@@ -19,6 +19,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *badger.DB
``` ```
### Installation ### Installation

View File

@@ -123,3 +123,8 @@ func (s *Storage) gc() {
} }
} }
} }
// Return database client
func (s *Storage) Conn() *badger.DB {
return s.db
}

View File

@@ -119,3 +119,7 @@ func Test_Badger_Reset(t *testing.T) {
func Test_Badger_Close(t *testing.T) { func Test_Badger_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_Badger_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -1,20 +1,27 @@
module github.com/gofiber/storage/badger module github.com/gofiber/storage/badger
go 1.14 go 1.18
require ( require (
github.com/dgraph-io/badger/v3 v3.2103.4
github.com/gofiber/utils v1.0.1
)
require (
github.com/cespare/xxhash v1.1.0 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/dgraph-io/badger/v3 v3.2103.2 github.com/dgraph-io/ristretto v0.1.1 // indirect
github.com/gofiber/utils v0.1.2 github.com/dustin/go-humanize v1.0.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/glog v1.0.0 // indirect github.com/golang/glog v1.0.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // 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.2 // indirect
github.com/golang/snappy v0.0.4 // indirect github.com/golang/snappy v0.0.4 // indirect
github.com/google/flatbuffers v2.0.5+incompatible // indirect github.com/google/flatbuffers v22.10.26+incompatible // indirect
github.com/klauspost/compress v1.13.6 // indirect github.com/klauspost/compress v1.15.12 // indirect
github.com/kr/pretty v0.2.0 // indirect github.com/pkg/errors v0.9.1 // indirect
go.opencensus.io v0.23.0 // indirect go.opencensus.io v0.24.0 // indirect
golang.org/x/net v0.0.0-20220107192237-5cfca573fb4d // indirect golang.org/x/net v0.2.0 // indirect
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect golang.org/x/sys v0.2.0 // indirect
google.golang.org/protobuf v1.27.1 // indirect google.golang.org/protobuf v1.28.1 // indirect
) )

View File

@@ -18,10 +18,10 @@ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwc
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= github.com/dgraph-io/badger/v3 v3.2103.4 h1:WE1B07YNTTJTtG9xjBcSW2wn0RJLyiV99h959RKZqM4=
github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= github.com/dgraph-io/badger/v3 v3.2103.4/go.mod h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw=
github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=
github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= 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 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= 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 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
@@ -31,8 +31,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= 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/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/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= 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 v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
@@ -60,8 +60,8 @@ github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 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 v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/flatbuffers v2.0.5+incompatible h1:ANsW0idDAXIY+mNHzIHxWRfabV2x5LUEEIIWcwsYgB8= github.com/google/flatbuffers v22.10.26+incompatible h1:z1QiaMyPu1x3Z6xf2u1dsLj1ZxicdGSeaLpCuIsQNZM=
github.com/google/flatbuffers v2.0.5+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/flatbuffers v22.10.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.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.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -77,13 +77,10 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= 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/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.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.15.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs=
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= 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/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/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -105,17 +102,21 @@ github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb6
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/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/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.6.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/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= 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/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-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-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -135,8 +136,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-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-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.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20220107192237-5cfca573fb4d h1:62NvYBuaanGXR2ZOfwDFkhhl6X1DUgf8qg3GuQvxZsE= golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.0.0-20220107192237-5cfca573fb4d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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-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-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -150,15 +151,11 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 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-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -195,13 +192,13 @@ 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.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-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.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1/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 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/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.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/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-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

93
bbolt/README.md Normal file
View File

@@ -0,0 +1,93 @@
# 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.
### 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) Conn() *bbolt.DB
```
### Installation
Bbolt is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
```bash
go mod init github.com/<user>/<repo>
```
And then install the s3 implementation:
```bash
go get github.com/gofiber/storage/bbolt
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/bbolt"
```
You can use the following possibilities to create a storage:
```go
// Initialize default config
store := bbolt.New()
// Initialize custom config
store := bbolt.New(bbolt.Config{
Database: "my_database.db",
Bucket: "my-bucket",
Reset: false,
})
```
### Config
```go
// Config defines the config for storage.
type Config struct {
// Database path
//
// Optional. Default is "fiber.db"
Database string
// Bbolt bucket name
//
// Optional. Default is "fiber_storage"
Bucket string
// Timeout is the amount of time to wait to obtain a file lock.
// Only available on Darwin and Linux.
//
// Optional. Default is 60 * time.Second.
Timeout time.Duration
// Open database in read-only mode.
//
// Optional. Default is false
ReadOnly bool
// Reset clears any existing keys in existing Bucket
//
// Optional. Default is false
Reset bool
}
```
### Default Config
```go
// ConfigDefault is the default config
var ConfigDefault = Config{
Database: "fiber.db",
Bucket: "fiber_storage",
Timeout: 60 * time.Second,
ReadOnly: false,
Reset: false,
}
```

111
bbolt/bbolt.go Normal file
View File

@@ -0,0 +1,111 @@
package bbolt
import (
"time"
"github.com/gofiber/utils"
"go.etcd.io/bbolt"
)
// Storage interface that is implemented by storage providers
type Storage struct {
conn *bbolt.DB
bucket string
}
// New creates a new storage
func New(config ...Config) *Storage {
// Set default config
cfg := configDefault(config...)
conn, err := bbolt.Open(cfg.Database, 0666, &bbolt.Options{
Timeout: cfg.Timeout,
ReadOnly: cfg.ReadOnly,
})
if err != nil {
panic(err)
}
// Reset bucket if field selected
if cfg.Reset {
if err := removeBucket(cfg, conn); err != nil {
panic(err)
}
}
// Create bucket if not exists
if err := createBucket(cfg, conn); err != nil {
panic(err)
}
return &Storage{
conn: conn,
bucket: cfg.Bucket,
}
}
// Get value by key
func (s *Storage) Get(key string) ([]byte, error) {
if len(key) <= 0 {
return nil, nil
}
var value []byte
err := s.conn.View(func(tx *bbolt.Tx) error {
b := tx.Bucket(utils.UnsafeBytes(s.bucket))
value = b.Get(utils.UnsafeBytes(key))
return nil
})
return value, err
}
// Set key with value
func (s *Storage) Set(key string, value []byte, exp time.Duration) error {
if len(key) <= 0 || len(value) <= 0 {
return nil
}
return s.conn.Update(func(tx *bbolt.Tx) error {
b := tx.Bucket(utils.UnsafeBytes(s.bucket))
return b.Put(utils.UnsafeBytes(key), value)
})
}
// Delete entry by key
func (s *Storage) Delete(key string) error {
if len(key) <= 0 {
return nil
}
return s.conn.Update(func(tx *bbolt.Tx) error {
b := tx.Bucket(utils.UnsafeBytes(s.bucket))
return b.Delete(utils.UnsafeBytes(key))
})
}
// Reset all entries
func (s *Storage) Reset() error {
return s.conn.Update(func(tx *bbolt.Tx) error {
b := tx.Bucket(utils.UnsafeBytes(s.bucket))
return b.ForEach(func(k, _ []byte) error {
return b.Delete(k)
})
})
}
// Close the database
func (s *Storage) Close() error {
return s.conn.Close()
}
// Return database client
func (s *Storage) Conn() *bbolt.DB {
return s.conn
}

101
bbolt/bbolt_test.go Normal file
View File

@@ -0,0 +1,101 @@
package bbolt
import (
"testing"
"github.com/gofiber/utils"
)
var testStore = New()
func Test_Bbolt_Set(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_Bbolt_Set_Override(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_Bbolt_Get(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(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)
}
func Test_Bbolt_Delete(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_Bbolt_Reset(t *testing.T) {
var (
val = []byte("doe")
)
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_Bbolt_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
}
func Test_Bbolt_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

63
bbolt/config.go Normal file
View File

@@ -0,0 +1,63 @@
package bbolt
import "time"
// Config defines the config for storage.
type Config struct {
// Database path
//
// Optional. Default is "fiber.db"
Database string
// Bbolt bucket name
//
// Optional. Default is "fiber_storage"
Bucket string
// Timeout is the amount of time to wait to obtain a file lock.
// Only available on Darwin and Linux.
//
// Optional. Default is set to 60 * time.Second.
Timeout time.Duration
// Open database in read-only mode.
//
// Optional. Default is false
ReadOnly bool
// Reset clears any existing keys in existing Bucket
//
// Optional. Default is false
Reset bool
}
// ConfigDefault is the default config
var ConfigDefault = Config{
Database: "fiber.db",
Bucket: "fiber_storage",
Timeout: 60 * time.Second,
ReadOnly: false,
Reset: false,
}
// 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.Database == "" {
cfg.Database = ConfigDefault.Database
}
if cfg.Bucket == "" {
cfg.Bucket = ConfigDefault.Bucket
}
return cfg
}

10
bbolt/go.mod Normal file
View File

@@ -0,0 +1,10 @@
module github.com/gofiber/storage/bbolt
go 1.18
require (
github.com/gofiber/utils v1.0.1
go.etcd.io/bbolt v1.3.6
)
require golang.org/x/sys v0.2.0 // indirect

7
bbolt/go.sum Normal file
View File

@@ -0,0 +1,7 @@
github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

20
bbolt/utils.go Normal file
View File

@@ -0,0 +1,20 @@
package bbolt
import (
"github.com/gofiber/utils"
"go.etcd.io/bbolt"
)
func createBucket(cfg Config, conn *bbolt.DB) error {
return conn.Update(func(tx *bbolt.Tx) error {
_, err := tx.CreateBucketIfNotExists(utils.UnsafeBytes(cfg.Bucket))
return err
})
}
func removeBucket(cfg Config, conn *bbolt.DB) error {
return conn.Update(func(tx *bbolt.Tx) error {
return tx.DeleteBucket(utils.UnsafeBytes(cfg.Bucket))
})
}

View File

@@ -1,4 +1,7 @@
# DynamoDB is still in development, do not use in production! # DynamoDB
A DynamoDB storage driver using [aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2).
**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)
.... ....
@@ -20,6 +23,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *awsdynamodb.Client
``` ```
### Installation ### Installation
@@ -60,28 +64,70 @@ type Config struct {
// Optional ("fiber_storage" by default). // Optional ("fiber_storage" by default).
Table string Table string
// AWS access key ID (part of the credentials).
// Optional (read from shared credentials file or environment variable if not set).
// Environment variable: "AWS_ACCESS_KEY_ID".
AWSaccessKeyID string
// AWS secret access key (part of the credentials).
// Optional (read from shared credentials file or environment variable if not set).
// Environment variable: "AWS_SECRET_ACCESS_KEY".
AWSsecretAccessKey string
// CustomEndpoint allows you to set a custom DynamoDB service endpoint. // CustomEndpoint allows you to set a custom DynamoDB service endpoint.
// This is especially useful if you're running a "DynamoDB local" Docker container for local testing. // This is especially useful if you're running a "DynamoDB local" Docker container for local testing.
// Typical value for the Docker container: "http://localhost:8000". // Typical value for the Docker container: "http://localhost:8000".
// See https://hub.docker.com/r/amazon/dynamodb-local/. // See https://hub.docker.com/r/amazon/dynamodb-local/.
// Optional ("" by default) // Optional ("" by default)
CustomEndpoint string Endpoint string
// Credentials overrides AWS access key and AWS secret access key. Not recommended.
//
// Optional. Default is Credentials{}
Credentials Credentials
// The maximum number of times requests that encounter retryable failures should be attempted.
//
// Optional. Default is 3
MaxAttempts int
// Reset clears any existing keys in existing Bucket
//
// Optional. Default is false
Reset bool
// ReadCapacityUnits of the table.
// Only required when the table doesn't exist yet and is created by gokv.
// Optional (5 by default, which is the same default value as when creating a table in the web console)
// 25 RCUs are included in the free tier (across all tables).
// For example calculations, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/HowItWorks.ProvisionedThroughput.
// For limits, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/Limits.md#capacity-units-and-provisioned-throughput.md#provisioned-throughput.
ReadCapacityUnits int64
// ReadCapacityUnits of the table.
// Only required when the table doesn't exist yet and is created by gokv.
// Optional (5 by default, which is the same default value as when creating a table in the web console)
// 25 RCUs are included in the free tier (across all tables).
// For example calculations, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/HowItWorks.ProvisionedThroughput.
// For limits, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/Limits.md#capacity-units-and-provisioned-throughput.md#provisioned-throughput.
WriteCapacityUnits int64
// If the table doesn't exist yet, gokv creates it.
// If WaitForTableCreation is true, gokv will block until the table is created, with a timeout of 15 seconds.
// If the table still doesn't exist after 15 seconds, an error is returned.
// If WaitForTableCreation is false, gokv returns the client immediately.
// In the latter case you need to make sure that you don't read from or write to the table before it's created,
// because otherwise you will get ResourceNotFoundException errors.
// Optional (true by default).
WaitForTableCreation *bool
} }
type Credentials struct {
AccessKey string
SecretAccessKey string
}
``` ```
### Default Config ### Default Config
```go ```go
var ConfigDefault = Config{ var ConfigDefault = Config{
Table: "fiber_storage", Table: "fiber_storage",
Credentials: Credentials{},
MaxAttempts: 3,
Reset: false,
ReadCapacityUnits: 5,
WriteCapacityUnits: 5,
WaitForTableCreation: aws.Bool(true),
} }
``` ```

View File

@@ -1,6 +1,6 @@
package dynamodb package dynamodb
import "github.com/aws/aws-sdk-go/aws" import "github.com/aws/aws-sdk-go-v2/aws"
// Config defines the config for storage. // Config defines the config for storage.
type Config struct { type Config struct {
@@ -15,22 +15,27 @@ type Config struct {
// Optional ("fiber_storage" by default). // Optional ("fiber_storage" by default).
Table string Table string
// AWS access key ID (part of the credentials).
// Optional (read from shared credentials file or environment variable if not set).
// Environment variable: "AWS_ACCESS_KEY_ID".
AWSaccessKeyID string
// AWS secret access key (part of the credentials).
// Optional (read from shared credentials file or environment variable if not set).
// Environment variable: "AWS_SECRET_ACCESS_KEY".
AWSsecretAccessKey string
// CustomEndpoint allows you to set a custom DynamoDB service endpoint. // CustomEndpoint allows you to set a custom DynamoDB service endpoint.
// This is especially useful if you're running a "DynamoDB local" Docker container for local testing. // This is especially useful if you're running a "DynamoDB local" Docker container for local testing.
// Typical value for the Docker container: "http://localhost:8000". // Typical value for the Docker container: "http://localhost:8000".
// See https://hub.docker.com/r/amazon/dynamodb-local/. // See https://hub.docker.com/r/amazon/dynamodb-local/.
// Optional ("" by default) // Optional ("" by default)
CustomEndpoint string Endpoint string
// Credentials overrides AWS access key and AWS secret access key. Not recommended.
//
// Optional. Default is Credentials{}
Credentials Credentials
// The maximum number of times requests that encounter retryable failures should be attempted.
//
// Optional. Default is 3
MaxAttempts int
// Reset clears any existing keys in existing Bucket
//
// Optional. Default is false
Reset bool
// ReadCapacityUnits of the table. // ReadCapacityUnits of the table.
// Only required when the table doesn't exist yet and is created by gokv. // Only required when the table doesn't exist yet and is created by gokv.
@@ -38,14 +43,16 @@ type Config struct {
// 25 RCUs are included in the free tier (across all tables). // 25 RCUs are included in the free tier (across all tables).
// For example calculations, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/HowItWorks.ProvisionedThroughput. // For example calculations, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/HowItWorks.ProvisionedThroughput.
// For limits, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/Limits.md#capacity-units-and-provisioned-throughput.md#provisioned-throughput. // For limits, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/Limits.md#capacity-units-and-provisioned-throughput.md#provisioned-throughput.
readCapacityUnits int64 ReadCapacityUnits int64
// ReadCapacityUnits of the table. // ReadCapacityUnits of the table.
// Only required when the table doesn't exist yet and is created by gokv. // Only required when the table doesn't exist yet and is created by gokv.
// Optional (5 by default, which is the same default value as when creating a table in the web console) // Optional (5 by default, which is the same default value as when creating a table in the web console)
// 25 RCUs are included in the free tier (across all tables). // 25 RCUs are included in the free tier (across all tables).
// For example calculations, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/HowItWorks.ProvisionedThroughput. // For example calculations, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/HowItWorks.ProvisionedThroughput.
// For limits, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/Limits.md#capacity-units-and-provisioned-throughput.md#provisioned-throughput. // For limits, see https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/c420420a59040c5b3dd44a6e59f7c9e55fc922ef/doc_source/Limits.md#capacity-units-and-provisioned-throughput.md#provisioned-throughput.
writeCapacityUnits int64 WriteCapacityUnits int64
// If the table doesn't exist yet, gokv creates it. // If the table doesn't exist yet, gokv creates it.
// If WaitForTableCreation is true, gokv will block until the table is created, with a timeout of 15 seconds. // If WaitForTableCreation is true, gokv will block until the table is created, with a timeout of 15 seconds.
// If the table still doesn't exist after 15 seconds, an error is returned. // If the table still doesn't exist after 15 seconds, an error is returned.
@@ -53,15 +60,23 @@ type Config struct {
// In the latter case you need to make sure that you don't read from or write to the table before it's created, // In the latter case you need to make sure that you don't read from or write to the table before it's created,
// because otherwise you will get ResourceNotFoundException errors. // because otherwise you will get ResourceNotFoundException errors.
// Optional (true by default). // Optional (true by default).
waitForTableCreation *bool WaitForTableCreation *bool
}
type Credentials struct {
AccessKey string
SecretAccessKey string
} }
// ConfigDefault is the default config // ConfigDefault is the default config
var ConfigDefault = Config{ var ConfigDefault = Config{
Table: "fiber_storage", Table: "fiber_storage",
readCapacityUnits: 5, Credentials: Credentials{},
writeCapacityUnits: 5, MaxAttempts: 3,
waitForTableCreation: aws.Bool(true), Reset: false,
ReadCapacityUnits: 5,
WriteCapacityUnits: 5,
WaitForTableCreation: aws.Bool(true),
} }
// configDefault is a helper function to set default values // configDefault is a helper function to set default values
@@ -78,5 +93,18 @@ func configDefault(config ...Config) Config {
if cfg.Table == "" { if cfg.Table == "" {
cfg.Table = ConfigDefault.Table cfg.Table = ConfigDefault.Table
} }
if cfg.MaxAttempts == 0 {
cfg.MaxAttempts = ConfigDefault.MaxAttempts
}
if cfg.ReadCapacityUnits == 0 {
cfg.ReadCapacityUnits = ConfigDefault.ReadCapacityUnits
}
if cfg.WriteCapacityUnits == 0 {
cfg.WriteCapacityUnits = ConfigDefault.WriteCapacityUnits
}
if cfg.WaitForTableCreation == nil {
cfg.WaitForTableCreation = ConfigDefault.WaitForTableCreation
}
return cfg return cfg
} }

View File

@@ -3,90 +3,23 @@ package dynamodb
import ( import (
"context" "context"
"errors" "errors"
"fmt"
"time" "time"
"github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go-v2/aws/retry"
"github.com/aws/aws-sdk-go/aws/credentials" awsconfig "github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go-v2/credentials"
awsdynamodb "github.com/aws/aws-sdk-go/service/dynamodb" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue"
awsdynamodb "github.com/aws/aws-sdk-go-v2/service/dynamodb"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
) )
// Storage interface that is implemented by storage providers // Storage interface that is implemented by storage providers
type Storage struct { type Storage struct {
db *awsdynamodb.DynamoDB db *awsdynamodb.Client
table string table string
} requestTimeout time.Duration
// New creates a new storage
func New(config Config) *Storage {
// Set default config
cfg := configDefault(config)
// Create db
var creds *credentials.Credentials
if (cfg.AWSaccessKeyID != "" && cfg.AWSsecretAccessKey == "") || (cfg.AWSaccessKeyID == "" && cfg.AWSsecretAccessKey != "") {
panic("[DynamoDB] You need to set BOTH AWSaccessKeyID AND AWSsecretAccessKey")
} else if cfg.AWSaccessKeyID != "" {
// Due to the previous check we can be sure that in this case AWSsecretAccessKey is not empty as well.
creds = credentials.NewStaticCredentials(cfg.AWSaccessKeyID, cfg.AWSsecretAccessKey, "")
}
// Set database options
opt := aws.NewConfig()
if cfg.Region != "" {
opt = opt.WithRegion(cfg.Region)
}
if creds != nil {
opt = opt.WithCredentials(creds)
}
if cfg.CustomEndpoint != "" {
opt = opt.WithEndpoint(cfg.CustomEndpoint)
}
sessionOpt := session.Options{
SharedConfigState: session.SharedConfigEnable,
}
// ...but allow overwrite of region and credentials if they are set in the options.
sessionOpt.Config.MergeIn(opt)
session, err := session.NewSessionWithOptions(sessionOpt)
if err != nil {
panic(err)
}
svc := awsdynamodb.New(session)
timeoutCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
describeTableInput := awsdynamodb.DescribeTableInput{
TableName: &cfg.Table,
}
_, err = svc.DescribeTableWithContext(timeoutCtx, &describeTableInput)
if err != nil {
awsErr, ok := err.(awserr.Error)
if !ok {
panic(err)
} else if awsErr.Code() == awsdynamodb.ErrCodeResourceNotFoundException {
err = createTable(cfg.Table, cfg.readCapacityUnits, cfg.writeCapacityUnits, *cfg.waitForTableCreation, describeTableInput, svc)
if err != nil {
panic(err)
}
} else {
panic(err)
}
}
// Create storage
store := &Storage{
db: svc,
table: cfg.Table,
}
// Start garbage collector
//go store.gc()
return store
} }
// "k" is used as table column name for the key. // "k" is used as table column name for the key.
@@ -95,126 +28,182 @@ var keyAttrName = "k"
// "v" is used as table column name for the value. // "v" is used as table column name for the value.
var valAttrName = "v" var valAttrName = "v"
type table struct {
K string
V []byte
}
// New creates a new storage
func New(config Config) *Storage {
// Set default config
cfg := configDefault(config)
awscfg, err := returnAWSConfig(cfg)
if err != nil {
panic(fmt.Sprintf("unable to load SDK config, %v", err))
}
// Create db
sess := awsdynamodb.NewFromConfig(awscfg)
timeoutCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
describeTableInput := awsdynamodb.DescribeTableInput{
TableName: &cfg.Table,
}
// Create storage
store := &Storage{
db: sess,
table: cfg.Table,
}
// Create table
_, err = sess.DescribeTable(timeoutCtx, &describeTableInput)
if err != nil {
var rnfe *types.ResourceNotFoundException
if errors.As(err, &rnfe) {
err := store.createTable(cfg, describeTableInput)
if err != nil {
panic(err)
}
} else {
panic(err)
}
}
return store
}
// Get value by key // Get value by key
func (s *Storage) Get(key string) ([]byte, error) { func (s *Storage) Get(key string) ([]byte, error) {
k := make(map[string]*awsdynamodb.AttributeValue) ctx, cancel := s.requestContext()
k[keyAttrName] = &awsdynamodb.AttributeValue{ defer cancel()
S: &key,
k := make(map[string]types.AttributeValue)
k[keyAttrName] = &types.AttributeValueMemberS{
Value: key,
} }
getItemInput := awsdynamodb.GetItemInput{ getItemInput := awsdynamodb.GetItemInput{
TableName: &s.table, TableName: &s.table,
Key: k, Key: k,
} }
getItemOutput, err := s.db.GetItem(&getItemInput) getItemOutput, err := s.db.GetItem(ctx, &getItemInput)
if err != nil { if err != nil {
var rnfe *types.ResourceNotFoundException
if errors.As(err, &rnfe) {
return nil, nil
}
return nil, err return nil, err
} else if getItemOutput.Item == nil { } else if getItemOutput.Item == nil {
return nil, nil return nil, nil
} }
attributeVal := getItemOutput.Item[valAttrName]
if attributeVal == nil { item := &table{}
return nil, nil err = attributevalue.UnmarshalMap(getItemOutput.Item, &item)
}
return attributeVal.B, nil return item.V, err
} }
// Set key with value
// Set key with value // Set key with value
func (s *Storage) Set(key string, val []byte, exp time.Duration) error { func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
ctx, cancel := s.requestContext()
defer cancel()
// Ain't Nobody Got Time For That // Ain't Nobody Got Time For That
if len(key) <= 0 || len(val) <= 0 { if len(key) <= 0 || len(val) <= 0 {
return nil return nil
} }
item := make(map[string]*awsdynamodb.AttributeValue)
item[keyAttrName] = &awsdynamodb.AttributeValue{ item := make(map[string]types.AttributeValue)
S: &key, item[keyAttrName] = &types.AttributeValueMemberS{
Value: key,
} }
item[valAttrName] = &awsdynamodb.AttributeValue{ item[valAttrName] = &types.AttributeValueMemberB{
B: val, Value: val,
} }
putItemInput := awsdynamodb.PutItemInput{ putItemInput := awsdynamodb.PutItemInput{
TableName: &s.table, TableName: &s.table,
Item: item, Item: item,
} }
_, err := s.db.PutItem(&putItemInput)
_, err := s.db.PutItem(ctx, &putItemInput)
return err return err
} }
// Delete entry by key // Delete entry by key
func (s *Storage) Delete(key string) error { func (s *Storage) Delete(key string) error {
ctx, cancel := s.requestContext()
defer cancel()
// Ain't Nobody Got Time For That // Ain't Nobody Got Time For That
if len(key) <= 0 { if len(key) <= 0 {
return nil return nil
} }
k := make(map[string]*awsdynamodb.AttributeValue)
k[keyAttrName] = &awsdynamodb.AttributeValue{ k := make(map[string]types.AttributeValue)
S: &key, k[keyAttrName] = &types.AttributeValueMemberS{
Value: key,
} }
deleteItemInput := awsdynamodb.DeleteItemInput{ deleteItemInput := awsdynamodb.DeleteItemInput{
TableName: &s.table, TableName: &s.table,
Key: k, Key: k,
} }
_, err := s.db.DeleteItem(&deleteItemInput)
_, err := s.db.DeleteItem(ctx, &deleteItemInput)
return err return err
} }
// Reset all entries, including unexpired // Reset all entries, including unexpired
func (s *Storage) Reset() error { func (s *Storage) Reset() error {
ctx, cancel := s.requestContext()
defer cancel()
deleteTableInput := awsdynamodb.DeleteTableInput{ deleteTableInput := awsdynamodb.DeleteTableInput{
TableName: &s.table, TableName: &s.table,
} }
_, err := s.db.DeleteTable(&deleteTableInput) _, err := s.db.DeleteTable(ctx, &deleteTableInput)
return err return err
} }
// Close the database // Close the database
func (s *Storage) Close() error { func (s *Storage) Close() error {
// In the DynamoDB implementation this doesn't have any effect.
return nil return nil
} }
// GC deletes all expired entries func (s *Storage) createTable(cfg Config, describeTableInput awsdynamodb.DescribeTableInput) error {
// func (s *Storage) gc() { ctx, cancel := s.requestContext()
// ticker := time.NewTicker(s.gcInterval) defer cancel()
// defer ticker.Stop()
// for {
// select {
// case <-s.done:
// return
// case t := <-ticker.C:
// _, _ = s.db.Exec(s.sqlGC, t.Unix())
// }
// }
// }
func createTable(tableName string, readCapacityUnits, writeCapacityUnits int64, waitForTableCreation bool, describeTableInput awsdynamodb.DescribeTableInput, svc *awsdynamodb.DynamoDB) error {
keyAttrType := "S" // For "string" keyAttrType := "S" // For "string"
keyType := "HASH" // As opposed to "RANGE" keyType := "HASH" // As opposed to "RANGE"
createTableInput := awsdynamodb.CreateTableInput{ createTableInput := awsdynamodb.CreateTableInput{
TableName: &tableName, TableName: &s.table,
AttributeDefinitions: []*awsdynamodb.AttributeDefinition{{ AttributeDefinitions: []types.AttributeDefinition{{
AttributeName: &keyAttrName, AttributeName: &keyAttrName,
AttributeType: &keyAttrType, AttributeType: types.ScalarAttributeType(keyAttrType),
}}, }},
KeySchema: []*awsdynamodb.KeySchemaElement{{ KeySchema: []types.KeySchemaElement{{
AttributeName: &keyAttrName, AttributeName: &keyAttrName,
KeyType: &keyType, KeyType: types.KeyType(keyType),
}}, }},
ProvisionedThroughput: &awsdynamodb.ProvisionedThroughput{ ProvisionedThroughput: &types.ProvisionedThroughput{
ReadCapacityUnits: &readCapacityUnits, ReadCapacityUnits: &cfg.ReadCapacityUnits,
WriteCapacityUnits: &writeCapacityUnits, WriteCapacityUnits: &cfg.WriteCapacityUnits,
}, },
} }
_, err := svc.CreateTable(&createTableInput) _, err := s.db.CreateTable(ctx, &createTableInput)
if err != nil { if err != nil {
return err return err
} }
// If configured (true by default), block until the table is created. // If configured (true by default), block until the table is created.
// Typical table creation duration is 10 seconds. // Typical table creation duration is 10 seconds.
if waitForTableCreation { if *cfg.WaitForTableCreation {
for try := 1; try < 16; try++ { for try := 1; try < 16; try++ {
describeTableOutput, err := svc.DescribeTable(&describeTableInput) describeTableOutput, err := s.db.DescribeTable(ctx, &describeTableInput)
if err != nil || *describeTableOutput.Table.TableStatus == "CREATING" { if err != nil || describeTableOutput.Table.TableStatus == "CREATING" {
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
} else { } else {
break break
@@ -222,14 +211,61 @@ func createTable(tableName string, readCapacityUnits, writeCapacityUnits int64,
} }
// Last try (16th) after 15 seconds of waiting. // Last try (16th) after 15 seconds of waiting.
// Now handle error as such. // Now handle error as such.
describeTableOutput, err := svc.DescribeTable(&describeTableInput) describeTableOutput, err := s.db.DescribeTable(ctx, &describeTableInput)
if err != nil { if err != nil {
return errors.New("The DynamoDB table couldn't be created") return errors.New("dynamodb: the table couldn't be created")
} }
if *describeTableOutput.Table.TableStatus == "CREATING" { if describeTableOutput.Table.TableStatus == "CREATING" {
return errors.New("The DynamoDB table took too long to be created") return errors.New("dynamodb: the table took too long to be created")
} }
} }
return nil return nil
} }
// Context for making requests will timeout if a non-zero timeout is configured
func (s *Storage) requestContext() (context.Context, context.CancelFunc) {
if s.requestTimeout > 0 {
return context.WithTimeout(context.Background(), s.requestTimeout)
}
return context.Background(), func() {}
}
func returnAWSConfig(cfg Config) (aws.Config, error) {
endpoint := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) {
if cfg.Endpoint != "" {
return aws.Endpoint{
PartitionID: "aws",
URL: cfg.Endpoint,
SigningRegion: cfg.Region,
HostnameImmutable: true,
}, nil
}
return aws.Endpoint{}, &aws.EndpointNotFoundError{}
})
if cfg.Credentials != (Credentials{}) {
credentials := credentials.NewStaticCredentialsProvider(cfg.Credentials.AccessKey, cfg.Credentials.SecretAccessKey, "")
return awsconfig.LoadDefaultConfig(context.TODO(),
awsconfig.WithRegion(cfg.Region),
awsconfig.WithEndpointResolverWithOptions(endpoint),
awsconfig.WithCredentialsProvider(credentials),
awsconfig.WithRetryer(func() aws.Retryer {
return retry.AddWithMaxAttempts(retry.NewStandard(), cfg.MaxAttempts)
}),
)
}
return awsconfig.LoadDefaultConfig(context.TODO(),
awsconfig.WithRegion(cfg.Region),
awsconfig.WithEndpointResolverWithOptions(endpoint),
awsconfig.WithRetryer(func() aws.Retryer {
return retry.AddWithMaxAttempts(retry.NewStandard(), cfg.MaxAttempts)
}),
)
}
// Return database client
func (s *Storage) Conn() *awsdynamodb.Client {
return s.db
}

View File

@@ -1 +1,111 @@
package dynamodb package dynamodb
import (
"testing"
"github.com/gofiber/utils"
)
var testStore = New(
Config{
Table: "fiber_storage",
Endpoint: "http://localhost:8000/",
Region: "us-east-1",
Credentials: Credentials{
AccessKey: "dummy",
SecretAccessKey: "dummy",
},
},
)
func Test_DynamoDB_Set(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_DynamoDB_Set_Override(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_DynamoDB_Get(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(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)
}
func Test_DynamoDB_Delete(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_DynamoDB_Reset(t *testing.T) {
var (
val = []byte("doe")
)
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_DynamoDB_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
}
func Test_DynamoDB_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -1,5 +1,12 @@
module github.com/gofiber/storage/dynamodb module github.com/gofiber/storage/dynamodb
go 1.14 go 1.16
require github.com/aws/aws-sdk-go v1.42.38 require (
github.com/aws/aws-sdk-go-v2 v1.17.2
github.com/aws/aws-sdk-go-v2/config v1.18.4
github.com/aws/aws-sdk-go-v2/credentials v1.13.4
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.7
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8
github.com/gofiber/utils v1.0.1
)

View File

@@ -1,24 +1,50 @@
github.com/aws/aws-sdk-go v1.42.38 h1:/fNQTB4ZUQOa8+cfX7C7F0zyXRdiN1jGKKXt3+5nmzM= github.com/aws/aws-sdk-go-v2 v1.17.2 h1:r0yRZInwiPBNpQ4aDy/Ssh3ROWsGtKDwar2JS8Lm+N8=
github.com/aws/aws-sdk-go v1.42.38/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= github.com/aws/aws-sdk-go-v2 v1.17.2/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
github.com/aws/aws-sdk-go-v2/config v1.18.4 h1:VZKhr3uAADXHStS/Gf9xSYVmmaluTUfkc0dcbPiDsKE=
github.com/aws/aws-sdk-go-v2/config v1.18.4/go.mod h1:EZxMPLSdGAZ3eAmkqXfYbRppZJTzFTkv8VyEzJhKko4=
github.com/aws/aws-sdk-go-v2/credentials v1.13.4 h1:nEbHIyJy7mCvQ/kzGG7VWHSBpRB4H6sJy3bWierWUtg=
github.com/aws/aws-sdk-go-v2/credentials v1.13.4/go.mod h1:/Cj5w9LRsNTLSwexsohwDME32OzJ6U81Zs33zr2ZWOM=
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.7 h1:CyuByiiCA4lPfU8RaHJh2wIYYn0hkFlOkMfWkVY67Mc=
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.7/go.mod h1:pAMtgCPVxcKohC/HNI6nLwLeW007eYl3T+pq7yTMV3o=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20 h1:tpNOglTZ8kg9T38NpcGBxudqfUAwUzyUnLQ4XSd0CHE=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20/go.mod h1:d9xFpWd3qYwdIXM0fvu7deD08vvdRXyc/ueV+0SqaWE=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.26 h1:5WU31cY7m0tG+AiaXuXGoMzo2GBQ1IixtWa8Yywsgco=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.26/go.mod h1:2E0LdbJW6lbeU4uxjum99GZzI0ZjDpAb0CoSCM0oeEY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.20 h1:WW0qSzDWoiWU2FS5DbKpxGilFVlCEJPwx4YtjdfI0Jw=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.20/go.mod h1:/+6lSiby8TBFpTVXZgKiN/rCfkYXEGvhlM4zCgPpt7w=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27 h1:N2eKFw2S+JWRCtTt0IhIX7uoGGQciD4p6ba+SJv4WEU=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27/go.mod h1:RdwFVc7PBYWY33fa2+8T1mSqQ7ZEK4ILpM0wfioDC3w=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8 h1:VgdGaSIoH4JhUZIspT8UgK0aBF85TiLve7VHEx3NfqE=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8/go.mod h1:jvXzk+hVrlkiQOvnq6jH+F6qBK0CEceXkEWugT+4Kdc=
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.27 h1:7MhqbR+k+b0gbOxp+W8yXgsl/Z5/dtMh85K0WI8X2EA=
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.27/go.mod h1:wX9QEZJ8Dw1fdAKCOAUmSvAe3wNJFxnE/4AeYc8blGA=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20 h1:kSZR22oLBDMtP8ZPGXhz649NU77xsJDG7g3xfT6nHVk=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20/go.mod h1:lxM5qubwGNX29Qy+xTFG8G0r2Mj/TmyC+h3hS/7E4V8=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20 h1:jlgyHbkZQAgAc7VIxJDmtouH8eNjOk2REVAQfVhdaiQ=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20/go.mod h1:Xs52xaLBqDEKRcAfX/hgjmD3YQ7c/W+BEyfamlO/W2E=
github.com/aws/aws-sdk-go-v2/service/sso v1.11.26 h1:ActQgdTNQej/RuUJjB9uxYVLDOvRGtUreXF8L3c8wyg=
github.com/aws/aws-sdk-go-v2/service/sso v1.11.26/go.mod h1:uB9tV79ULEZUXc6Ob18A46KSQ0JDlrplPni9XW6Ot60=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9 h1:wihKuqYUlA2T/Rx+yu2s6NDAns8B9DgnRooB1PVhY+Q=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9/go.mod h1:2E/3D/mB8/r2J7nK42daoKP/ooCwbf0q1PznNc+DZTU=
github.com/aws/aws-sdk-go-v2/service/sts v1.17.6 h1:VQFOLQVL3BrKM/NLO/7FiS4vcp5bqK0mGMyk09xLoAY=
github.com/aws/aws-sdk-go-v2/service/sts v1.17.6/go.mod h1:Az3OXXYGyfNwQNsK/31L4R75qFYnO641RZGAoV3uH1c=
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= 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/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
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/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 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
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 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 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/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
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/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 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

2
go.mod
View File

@@ -1,3 +1,3 @@
module github.com/gofiber/storage module github.com/gofiber/storage
go 1.14 go 1.16

View File

@@ -17,6 +17,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *mc.Client
``` ```
### Installation ### Installation

View File

@@ -1,8 +1,8 @@
module github.com/gofiber/storage/memcache module github.com/gofiber/storage/memcache
go 1.14 go 1.16
require ( require (
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822
github.com/gofiber/utils v0.1.2 github.com/gofiber/utils v1.0.1
) )

View File

@@ -1,4 +1,4 @@
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d h1:pVrfxiGfwelyab6n21ZBkbkmbevaf+WvMIiR7sr97hw= github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822 h1:hjXJeBcAMS1WGENGqDpzvmgS43oECTx8UXq31UBu0Jw=
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=

View File

@@ -122,3 +122,8 @@ func (s *Storage) releaseItem(item *mc.Item) {
s.items.Put(item) s.items.Put(item)
} }
} }
// Return database client
func (s *Storage) Conn() *mc.Client {
return s.db
}

View File

@@ -119,3 +119,7 @@ func Test_Memcache_Reset(t *testing.T) {
func Test_Memcache_Close(t *testing.T) { func Test_Memcache_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_Memcache_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -18,6 +18,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() map[string]entry
``` ```
### Installation ### Installation

View File

@@ -1,5 +1,5 @@
module github.com/gofiber/storage/memory module github.com/gofiber/storage/memory
go 1.14 go 1.16
require github.com/gofiber/utils v0.1.2 require github.com/gofiber/utils v1.0.1

View File

@@ -1,2 +1,2 @@
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=

32
memory/internal/time.go Normal file
View File

@@ -0,0 +1,32 @@
package internal
import (
"sync"
"sync/atomic"
"time"
)
var (
timestampTimer sync.Once
// Timestamp please start the timer function before you use this value
// please load the value with atomic `atomic.LoadUint32(&utils.Timestamp)`
Timestamp uint32
)
// StartTimeStampUpdater starts a concurrent function which stores the timestamp to an atomic value per second,
// which is much better for performance than determining it at runtime each time
func StartTimeStampUpdater() {
timestampTimer.Do(func() {
// set initial value
atomic.StoreUint32(&Timestamp, uint32(time.Now().Unix()))
go func(sleep time.Duration) {
ticker := time.NewTicker(sleep)
defer ticker.Stop()
for t := range ticker.C {
// update timestamp
atomic.StoreUint32(&Timestamp, uint32(t.Unix()))
}
}(1 * time.Second) // duration
})
}

View File

@@ -0,0 +1,47 @@
package internal
import (
"sync/atomic"
"testing"
"time"
"github.com/gofiber/utils"
)
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)
}
func Test_TimeStampUpdater(t *testing.T) {
t.Parallel()
StartTimeStampUpdater()
now := uint32(time.Now().Unix())
checkTimeStamp(t, now, atomic.LoadUint32(&Timestamp))
// one second later
time.Sleep(1 * time.Second)
checkTimeStamp(t, now+1, atomic.LoadUint32(&Timestamp))
// two seconds later
time.Sleep(1 * time.Second)
checkTimeStamp(t, now+2, atomic.LoadUint32(&Timestamp))
}
func Benchmark_CalculateTimestamp(b *testing.B) {
StartTimeStampUpdater()
var res uint32
b.Run("fiber", func(b *testing.B) {
for n := 0; n < b.N; n++ {
res = atomic.LoadUint32(&Timestamp)
}
checkTimeStamp(b, uint32(time.Now().Unix()), res)
})
b.Run("default", func(b *testing.B) {
for n := 0; n < b.N; n++ {
res = uint32(time.Now().Unix())
}
checkTimeStamp(b, uint32(time.Now().Unix()), res)
})
}

View File

@@ -2,7 +2,10 @@ package memory
import ( import (
"sync" "sync"
"sync/atomic"
"time" "time"
"github.com/gofiber/storage/memory/internal"
) )
// Storage interface that is implemented by storage providers // Storage interface that is implemented by storage providers
@@ -14,8 +17,9 @@ type Storage struct {
} }
type entry struct { type entry struct {
data []byte data []byte
expiry int64 // max value is 4294967295 -> Sun Feb 07 2106 06:28:15 GMT+0000
expiry uint32
} }
// New creates a new memory storage // New creates a new memory storage
@@ -31,6 +35,7 @@ func New(config ...Config) *Storage {
} }
// Start garbage collector // Start garbage collector
internal.StartTimeStampUpdater()
go store.gc() go store.gc()
return store return store
@@ -44,14 +49,13 @@ func (s *Storage) Get(key string) ([]byte, error) {
s.mux.RLock() s.mux.RLock()
v, ok := s.db[key] v, ok := s.db[key]
s.mux.RUnlock() s.mux.RUnlock()
if !ok || v.expiry != 0 && v.expiry <= time.Now().Unix() { if !ok || v.expiry != 0 && v.expiry <= atomic.LoadUint32(&internal.Timestamp) {
return nil, nil return nil, nil
} }
return v.data, nil return v.data, nil
} }
// Set key with value
// Set key with value // Set key with value
func (s *Storage) Set(key string, val []byte, exp time.Duration) error { func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
// Ain't Nobody Got Time For That // Ain't Nobody Got Time For That
@@ -59,13 +63,14 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
return nil return nil
} }
var expire int64 var expire uint32
if exp != 0 { if exp != 0 {
expire = time.Now().Add(exp).Unix() expire = uint32(exp.Seconds()) + atomic.LoadUint32(&internal.Timestamp)
} }
e := entry{val, expire}
s.mux.Lock() s.mux.Lock()
s.db[key] = entry{val, expire} s.db[key] = e
s.mux.Unlock() s.mux.Unlock()
return nil return nil
} }
@@ -84,8 +89,9 @@ func (s *Storage) Delete(key string) error {
// Reset all keys // Reset all keys
func (s *Storage) Reset() error { func (s *Storage) Reset() error {
ndb := make(map[string]entry)
s.mux.Lock() s.mux.Lock()
s.db = make(map[string]entry) s.db = ndb
s.mux.Unlock() s.mux.Unlock()
return nil return nil
} }
@@ -99,20 +105,37 @@ func (s *Storage) Close() error {
func (s *Storage) gc() { func (s *Storage) gc() {
ticker := time.NewTicker(s.gcInterval) ticker := time.NewTicker(s.gcInterval)
defer ticker.Stop() defer ticker.Stop()
var expired []string
for { for {
select { select {
case <-s.done: case <-s.done:
return return
case t := <-ticker.C: case <-ticker.C:
now := t.Unix() ts := atomic.LoadUint32(&internal.Timestamp)
s.mux.Lock() expired = expired[:0]
s.mux.RLock()
for id, v := range s.db { for id, v := range s.db {
if v.expiry != 0 && v.expiry < now { if v.expiry != 0 && v.expiry < ts {
delete(s.db, id) expired = append(expired, id)
}
}
s.mux.RUnlock()
s.mux.Lock()
// Double-checked locking.
// We might have replaced the item in the meantime.
for i := range expired {
v := s.db[expired[i]]
if v.expiry != 0 && v.expiry <= ts {
delete(s.db, expired[i])
} }
} }
s.mux.Unlock() s.mux.Unlock()
} }
} }
} }
// Return database client
func (s *Storage) Conn() map[string]entry {
return s.db
}

View File

@@ -9,7 +9,7 @@ import (
var testStore = New() var testStore = New()
func Test_Memory_Set(t *testing.T) { func Test_Storage_Memory_Set(t *testing.T) {
var ( var (
key = "john" key = "john"
val = []byte("doe") val = []byte("doe")
@@ -19,7 +19,7 @@ func Test_Memory_Set(t *testing.T) {
utils.AssertEqual(t, nil, err) utils.AssertEqual(t, nil, err)
} }
func Test_Memory_Set_Override(t *testing.T) { func Test_Storage_Memory_Set_Override(t *testing.T) {
var ( var (
key = "john" key = "john"
val = []byte("doe") val = []byte("doe")
@@ -32,7 +32,7 @@ func Test_Memory_Set_Override(t *testing.T) {
utils.AssertEqual(t, nil, err) utils.AssertEqual(t, nil, err)
} }
func Test_Memory_Get(t *testing.T) { func Test_Storage_Memory_Get(t *testing.T) {
var ( var (
key = "john" key = "john"
val = []byte("doe") val = []byte("doe")
@@ -46,7 +46,7 @@ func Test_Memory_Get(t *testing.T) {
utils.AssertEqual(t, val, result) utils.AssertEqual(t, val, result)
} }
func Test_Memory_Set_Expiration(t *testing.T) { func Test_Storage_Memory_Set_Expiration(t *testing.T) {
var ( var (
key = "john" key = "john"
val = []byte("doe") val = []byte("doe")
@@ -59,7 +59,7 @@ func Test_Memory_Set_Expiration(t *testing.T) {
time.Sleep(1100 * time.Millisecond) time.Sleep(1100 * time.Millisecond)
} }
func Test_Memory_Get_Expired(t *testing.T) { func Test_Storage_Memory_Get_Expired(t *testing.T) {
var ( var (
key = "john" key = "john"
) )
@@ -69,14 +69,14 @@ func Test_Memory_Get_Expired(t *testing.T) {
utils.AssertEqual(t, true, len(result) == 0) utils.AssertEqual(t, true, len(result) == 0)
} }
func Test_Memory_Get_NotExist(t *testing.T) { func Test_Storage_Memory_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist") result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err) utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0) utils.AssertEqual(t, true, len(result) == 0)
} }
func Test_Memory_Delete(t *testing.T) { func Test_Storage_Memory_Delete(t *testing.T) {
var ( var (
key = "john" key = "john"
val = []byte("doe") val = []byte("doe")
@@ -93,7 +93,7 @@ func Test_Memory_Delete(t *testing.T) {
utils.AssertEqual(t, true, len(result) == 0) utils.AssertEqual(t, true, len(result) == 0)
} }
func Test_Memory_Reset(t *testing.T) { func Test_Storage_Memory_Reset(t *testing.T) {
var ( var (
val = []byte("doe") val = []byte("doe")
) )
@@ -116,6 +116,39 @@ func Test_Memory_Reset(t *testing.T) {
utils.AssertEqual(t, true, len(result) == 0) utils.AssertEqual(t, true, len(result) == 0)
} }
func Test_Memory_Close(t *testing.T) { func Test_Storage_Memory_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_Storage_Memory_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}
// 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()
}
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)
}
}
})
}

View File

@@ -17,6 +17,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *mongo.Database
``` ```
### Installation ### Installation
MongoDB is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet: MongoDB is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:

View File

@@ -1,14 +1,10 @@
module github.com/gofiber/storage/mongodb module github.com/gofiber/storage/mongodb
go 1.14 go 1.16
require ( require (
github.com/go-stack/stack v1.8.1 // indirect github.com/gofiber/utils v1.0.1
github.com/gofiber/utils v0.1.2
github.com/golang/snappy v0.0.4 // indirect github.com/golang/snappy v0.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect
go.mongodb.org/mongo-driver v1.8.2 go.mongodb.org/mongo-driver v1.11.0
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
golang.org/x/text v0.3.7 // indirect
) )

View File

@@ -1,11 +1,8 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -18,6 +15,7 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= 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 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -30,46 +28,38 @@ github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w= github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E=
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g=
github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc= github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs=
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk=
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4=
go.mongodb.org/mongo-driver v1.8.2 h1:8ssUXufb90ujcIvR6MyE1SchaNj0SFxsakiZgxIyrMk= go.mongodb.org/mongo-driver v1.11.0 h1:FZKhBSTydeuffHj9CBjXlR8vQLee1cQyTWYPA6/tqiE=
go.mongodb.org/mongo-driver v1.8.2/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= go.mongodb.org/mongo-driver v1.11.0/go.mod h1:s7p5vEtfbeR1gYi6pnj3c3/urpbLv2T5Sfd6Rp2HBB8=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY=
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
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-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/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-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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/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-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
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/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -199,3 +199,8 @@ func (s *Storage) releaseItem(item *item) {
s.items.Put(item) s.items.Put(item)
} }
} }
// Return database client
func (s *Storage) Conn() *mongo.Database {
return s.db
}

View File

@@ -121,3 +121,7 @@ func Test_MongoDB_Reset(t *testing.T) {
func Test_MongoDB_Close(t *testing.T) { func Test_MongoDB_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_MongoDB_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

135
mssql/README.md Normal file
View File

@@ -0,0 +1,135 @@
# MSSQL
A MSSQL storage driver using [microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb).
### 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) Conn() *sql.DB
```
### Installation
MSSQL is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
```bash
go mod init github.com/<user>/<repo>
```
And then install the mssql implementation:
```bash
go get github.com/gofiber/storage/mssql
```
### Examples
Import the storage package.
```go
import "github.com/gofiber/storage/mssql"
```
You can use the following possibilities to create a storage:
```go
// Initialize default config
store := mssql.New()
// Initialize custom config
store := mssql.New(mssql.Config{
Host: "127.0.0.1",
Port: 1433,
Database: "fiber",
Table: "fiber_storage",
Reset: false,
GCInterval: 10 * time.Second,
SslMode: "disable",
})
// Initialize custom config using connection string
store := mssql.New(mssql.Config{
ConnectionURI: "sqlserver://user:password@localhost:1433?database=fiber"
Reset: false,
GCInterval: 10 * time.Second,
})
```
### Config
```go
// Config defines the config for storage.
type Config struct {
// Connection string to use for DB. Will override all other authentication values if used
//
// Optional. Default is ""
ConnectionURI string
// Host name where the DB is hosted
//
// Optional. Default is "127.0.0.1"
Host string
// Port where the DB is listening on
//
// Optional. Default is 1433
Port int
// Server username
//
// Optional. Default is ""
Username string
// Server password
//
// Optional. Default is ""
Password string
// Instance name
//
// Optional. Default is ""
Instance string
// Database name
//
// Optional. Default is "fiber"
Database string
// Table name
//
// Optional. Default is "fiber_storage"
Table string
// Reset clears any existing keys in existing Table
//
// Optional. Default is false
Reset bool
// Time before deleting expired keys
//
// Optional. Default is 10 * time.Second
GCInterval time.Duration
// The SSL mode for the connection
//
// Optional. Default is "disable"
SslMode string
}
```
### Default Config
```go
var ConfigDefault = Config{
ConnectionURI: "",
Host: "127.0.0.1",
Port: 1433,
Database: "fiber",
Table: "fiber_storage",
Reset: false,
GCInterval: 10 * time.Second,
SslMode: "disable",
}
```

146
mssql/config.go Normal file
View File

@@ -0,0 +1,146 @@
package mssql
import (
"time"
)
// Config defines the config for storage.
type Config struct {
// Connection string to use for DB. Will override all other authentication values if used
//
// Optional. Default is ""
ConnectionURI string
// Host name where the DB is hosted
//
// Optional. Default is "127.0.0.1"
Host string
// Port where the DB is listening on
//
// Optional. Default is 1433
Port int
// Server username
//
// Optional. Default is ""
Username string
// Server password
//
// Optional. Default is ""
Password string
// Instance name
//
// Optional. Default is ""
Instance string
// Database name
//
// Optional. Default is "fiber"
Database string
// Table name
//
// Optional. Default is "fiber_storage"
Table string
// The SSL mode for the connection
//
// Optional. Default is "disable"
SslMode string
// Reset clears any existing keys in existing Table
//
// Optional. Default is false
Reset bool
// Time before deleting expired keys
//
// Optional. Default is 10 * time.Second
GCInterval time.Duration
////////////////////////////////////
// Adaptor related config options //
////////////////////////////////////
// Maximum wait for connection, in seconds. Zero or
// n < 0 means wait indefinitely.
timeout time.Duration
// The maximum number of connections in the idle connection pool.
//
// If MaxOpenConns is greater than 0 but less than the new MaxIdleConns,
// then the new MaxIdleConns will be reduced to match the MaxOpenConns limit.
//
// If n <= 0, no idle connections are retained.
//
// The default max idle connections is currently 2. This may change in
// a future release.
maxIdleConns int
// The maximum number of open connections to the database.
//
// If MaxIdleConns is greater than 0 and the new MaxOpenConns is less than
// MaxIdleConns, then MaxIdleConns will be reduced to match the new
// MaxOpenConns limit.
//
// If n <= 0, then there is no limit on the number of open connections.
// The default is 0 (unlimited).
maxOpenConns int
// The maximum amount of time a connection may be reused.
//
// Expired connections may be closed lazily before reuse.
//
// If d <= 0, connections are reused forever.
connMaxLifetime time.Duration
}
// ConfigDefault is the default config
var ConfigDefault = Config{
ConnectionURI: "",
Host: "127.0.0.1",
Port: 1433,
Database: "fiber",
Table: "fiber_storage",
SslMode: "disable",
Reset: false,
GCInterval: 10 * time.Second,
maxOpenConns: 100,
maxIdleConns: 100,
connMaxLifetime: 1 * time.Second,
}
// 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.Host == "" {
cfg.Host = ConfigDefault.Host
}
if cfg.Port <= 0 {
cfg.Port = ConfigDefault.Port
}
if cfg.Database == "" {
cfg.Database = ConfigDefault.Database
}
if cfg.Table == "" {
cfg.Table = ConfigDefault.Table
}
if cfg.SslMode == "" {
cfg.SslMode = ConfigDefault.SslMode
}
if int(cfg.GCInterval.Seconds()) <= 0 {
cfg.GCInterval = ConfigDefault.GCInterval
}
return cfg
}

13
mssql/go.mod Normal file
View File

@@ -0,0 +1,13 @@
module github.com/gofiber/storage/mssql
go 1.16
require (
github.com/gofiber/utils v1.0.1
github.com/microsoft/go-mssqldb v0.18.0
)
require (
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
golang.org/x/crypto v0.3.0 // indirect
)

97
mssql/go.sum Normal file
View File

@@ -0,0 +1,97 @@
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.2/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0/go.mod h1:bhXu1AjYL+wutSL/kpSq6s7733q2Rb0yuot9Zgfqa/0=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
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/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA=
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A=
github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs=
github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM=
github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg=
github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc=
github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/microsoft/go-mssqldb v0.18.0 h1:6Pf95ZIt8mjg3Bm374SlH7RFiez1nGy4xKKOiCw/zFE=
github.com/microsoft/go-mssqldb v0.18.0/go.mod h1:ukJCBnnzLzpVF0qYRT+eg1e+eSwjeQ7IvenUv8QPook=
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
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.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
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-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
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-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/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-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220224120231-95c6836cb0e7/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.2.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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
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.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.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-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=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU=
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
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.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
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=

236
mssql/mssql.go Normal file
View File

@@ -0,0 +1,236 @@
package mssql
import (
"database/sql"
"fmt"
"net/url"
"strings"
"time"
_ "github.com/microsoft/go-mssqldb"
)
// Storage interface that is implemented by storage providers
type Storage struct {
db *sql.DB
gcInterval time.Duration
done chan struct{}
sqlSelect string
sqlInsert string
sqlDelete string
sqlReset string
sqlGC string
}
var (
checkSchemaMsg = "The `v` row has an incorrect data type. " +
"It should be VARBINARY(MAX) but is instead %s. This will cause encoding-related panics if the DB is not migrated (see https://github.com/gofiber/storage/blob/main/MIGRATE.md)."
dropQuery = `IF EXISTS(SELECT * FROM sys.tables WHERE name = '%s')
DROP TABLE %s;`
initQuery = []string{
`IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = '%s')
CREATE TABLE %s (
k VARCHAR(64) PRIMARY KEY NOT NULL DEFAULT '',
v VARBINARY(MAX) NOT NULL,
e BIGINT NOT NULL DEFAULT '0'
);`,
`IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name = 'e')
CREATE INDEX e ON %s (e);`,
}
checkSchemaQuery = `SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '%s' AND COLUMN_NAME = 'v';`
)
// New creates a new storage
func New(config ...Config) *Storage {
// Set default config
cfg := configDefault(config...)
// Create data source name
var dsn string
if cfg.ConnectionURI != "" {
dsn = cfg.ConnectionURI
} else {
dsn = "sqlserver://"
if cfg.Username != "" {
dsn += url.QueryEscape(cfg.Username)
}
if cfg.Password != "" {
dsn += ":" + cfg.Password
}
if cfg.Username != "" || cfg.Password != "" {
dsn += "@"
}
// unix socket host path
if strings.HasPrefix(cfg.Host, "/") {
dsn += fmt.Sprintf("%s:%d", cfg.Host, cfg.Port)
} else {
dsn += fmt.Sprintf("%s:%d", url.QueryEscape(cfg.Host), cfg.Port)
}
if cfg.Instance != "" {
dsn += "/" + cfg.Instance
}
dsn += fmt.Sprintf("?database=%s&connection+timeout=%d&encrypt=%s",
url.QueryEscape(cfg.Database),
int64(cfg.timeout.Seconds()),
cfg.SslMode)
}
// Create db
db, err := sql.Open("sqlserver", dsn)
if err != nil {
panic(err)
}
// Set database options
db.SetMaxOpenConns(cfg.maxOpenConns)
db.SetMaxIdleConns(cfg.maxIdleConns)
db.SetConnMaxLifetime(cfg.connMaxLifetime)
// Ping database to ensure a connection has been made
if err := db.Ping(); err != nil {
panic(err)
}
// Drop table if set to true
if cfg.Reset {
if _, err = db.Exec(strings.Replace(dropQuery, "%s", cfg.Table, -1)); err != nil {
_ = db.Close()
panic(err)
}
}
// Init database queries
for _, query := range initQuery {
if _, err := db.Exec(strings.Replace(query, "%s", cfg.Table, -1)); err != nil {
_ = db.Close()
panic(err)
}
}
// Create storage
store := &Storage{
db: db,
gcInterval: cfg.GCInterval,
done: make(chan struct{}),
sqlSelect: fmt.Sprintf(`SELECT v, e FROM %s WHERE k=@p1;`, cfg.Table),
sqlInsert: fmt.Sprintf(`MERGE INTO %s WITH (HOLDLOCK) AS T USING (VALUES(@p1)) AS S (k) ON (T.k = S.k)
WHEN MATCHED THEN UPDATE SET v = @p2, e = @p3
WHEN NOT MATCHED THEN INSERT (k, v, e) VALUES(@p1, @p2, @p3);`, cfg.Table),
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE k=@p1", cfg.Table),
sqlReset: fmt.Sprintf("TRUNCATE TABLE %s;", cfg.Table),
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE e <= @p1 AND e != 0", cfg.Table),
}
store.checkSchema(cfg.Table)
// Start garbage collector
go store.gcTicker()
return store
}
// Get value by key
func (s *Storage) Get(key string) ([]byte, error) {
if len(key) <= 0 {
return nil, nil
}
row := s.db.QueryRow(s.sqlSelect, key)
var (
data = []byte{}
exp int64 = 0
)
if err := row.Scan(&data, &exp); err != nil {
if err == sql.ErrNoRows {
return nil, nil
}
return nil, err
}
// If the expiration time has already passed, then return nil
if exp != 0 && exp <= time.Now().Unix() {
return nil, nil
}
return data, nil
}
// Set key with value
func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
if len(key) <= 0 || len(val) <= 0 {
return nil
}
var expSeconds int64
if exp != 0 {
expSeconds = time.Now().Add(exp).Unix()
}
_, err := s.db.Exec(s.sqlInsert, key, val, expSeconds)
return err
}
// Delete entry by key
func (s *Storage) Delete(key string) error {
if len(key) <= 0 {
return nil
}
_, err := s.db.Exec(s.sqlDelete, key)
return err
}
// Reset all entries, including unexpired
func (s *Storage) Reset() error {
_, err := s.db.Exec(s.sqlReset)
return err
}
// Close the database
func (s *Storage) Close() error {
s.done <- struct{}{}
return s.db.Close()
}
// Return database client
func (s *Storage) Conn() *sql.DB {
return s.db
}
// gcTicker starts the gc ticker
func (s *Storage) gcTicker() {
ticker := time.NewTicker(s.gcInterval)
defer ticker.Stop()
for {
select {
case <-s.done:
return
case t := <-ticker.C:
s.gc(t)
}
}
}
// gc deletes all expired entries
func (s *Storage) gc(t time.Time) {
_, _ = s.db.Exec(s.sqlGC, t.Unix())
}
func (s *Storage) checkSchema(tableName string) {
var data []byte
row := s.db.QueryRow(fmt.Sprintf(checkSchemaQuery, tableName))
if err := row.Scan(&data); err != nil {
panic(err)
}
if strings.ToLower(string(data)) != "varbinary" {
fmt.Printf(checkSchemaMsg, string(data))
}
}

183
mssql/mssql_test.go Normal file
View File

@@ -0,0 +1,183 @@
package mssql
import (
"database/sql"
"os"
"testing"
"time"
"github.com/gofiber/utils"
)
var testStore = New(Config{
Database: os.Getenv("MSSQL_DATABASE"),
Username: os.Getenv("MSSQL_USERNAME"),
Password: os.Getenv("MSSQL_PASSWORD"),
Reset: true,
})
func Test_MSSQL_Set(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_MSSQL_Set_Override(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
}
func Test_MSSQL_Get(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
}
func Test_MSSQL_Set_Expiration(t *testing.T) {
var (
key = "john"
val = []byte("doe")
exp = 1 * time.Second
)
err := testStore.Set(key, val, exp)
utils.AssertEqual(t, nil, err)
time.Sleep(1100 * time.Millisecond)
}
func Test_MSSQL_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)
}
func Test_MSSQL_Get_NotExist(t *testing.T) {
result, err := testStore.Get("notexist")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_MSSQL_Delete(t *testing.T) {
var (
key = "john"
val = []byte("doe")
)
err := testStore.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Delete(key)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_MSSQL_Reset(t *testing.T) {
var (
val = []byte("doe")
)
err := testStore.Set("john1", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Set("john2", val, 0)
utils.AssertEqual(t, nil, err)
err = testStore.Reset()
utils.AssertEqual(t, nil, err)
result, err := testStore.Get("john1")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
result, err = testStore.Get("john2")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, true, len(result) == 0)
}
func Test_MSSQL_GC(t *testing.T) {
var (
testVal = []byte("doe")
)
// This key should expire
err := testStore.Set("john", testVal, time.Nanosecond)
utils.AssertEqual(t, nil, err)
testStore.gc(time.Now())
row := testStore.db.QueryRow(testStore.sqlSelect, "john")
err = row.Scan(nil, nil)
utils.AssertEqual(t, sql.ErrNoRows, err)
// This key should not expire
err = testStore.Set("john", testVal, 0)
utils.AssertEqual(t, nil, err)
testStore.gc(time.Now())
val, err := testStore.Get("john")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, testVal, val)
}
func Test_MSSQL_Non_UTF8(t *testing.T) {
val := []byte("0xF5")
err := testStore.Set("0xF6", val, 0)
utils.AssertEqual(t, nil, err)
result, err := testStore.Get("0xF6")
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
}
func Test_SslRequiredMode(t *testing.T) {
defer func() {
if recover() == nil {
utils.AssertEqual(t, true, nil, "Connection was established with a `require`")
}
}()
_ = New(Config{
Database: "fiber",
Username: "username",
Password: "password",
Reset: true,
SslMode: "require",
})
}
func Test_MSSQL_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
}
func Test_MSSQL_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -17,6 +17,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *sql.DB
``` ```
### Installation ### Installation
MySQL is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet: MySQL is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
@@ -48,11 +49,36 @@ store := mysql.New(mysql.Config{
Reset: false, Reset: false,
GCInterval: 10 * time.Second, GCInterval: 10 * time.Second,
}) })
// Initialize custom config using connection string
store := mysql.New(mysql.Config{
ConnectionURI: "<username>:<pw>@tcp(<HOST>:<port>)/<dbname>"
Reset: false,
GCInterval: 10 * time.Second,
})
// Initialize custom config using sql db connection
db, _ := sql.Open("mysql", "<username>:<pw>@tcp(<HOST>:<port>)/<dbname>")
store := mysql.New(mysql.Config{
Db: db,
Reset: false,
GCInterval: 10 * time.Second,
})
``` ```
### Config ### Config
```go ```go
type Config struct { type Config struct {
// DB Will override ConnectionURI and all other authentication values if used
//
// Optional. Default is nil
Db *sql.DB
// Connection string to use for DB. Will override all other authentication values if used
//
// Optional. Default is ""
ConnectionURI string
// Host name where the DB is hosted // Host name where the DB is hosted
// //
// Optional. Default is "127.0.0.1" // Optional. Default is "127.0.0.1"
@@ -98,6 +124,7 @@ type Config struct {
### Default Config ### Default Config
```go ```go
var ConfigDefault = Config{ var ConfigDefault = Config{
ConnectionURI: "",
Host: "127.0.0.1", Host: "127.0.0.1",
Port: 3306, Port: 3306,
Database: "fiber", Database: "fiber",

View File

@@ -1,12 +1,23 @@
package mysql package mysql
import ( import (
"database/sql"
"fmt" "fmt"
"time" "time"
) )
// Config defines the config for storage. // Config defines the config for storage.
type Config struct { type Config struct {
// DB Will override ConnectionURI and all other authentication values if used
//
// Optional. Default is nil
Db *sql.DB
// Connection string to use for DB. Will override all other authentication values if used
//
// Optional. Default is ""
ConnectionURI string
// Host name where the DB is hosted // Host name where the DB is hosted
// //
// Optional. Default is "127.0.0.1" // Optional. Default is "127.0.0.1"
@@ -58,6 +69,8 @@ type Config struct {
// ConfigDefault is the default config // ConfigDefault is the default config
var ConfigDefault = Config{ var ConfigDefault = Config{
Db: nil,
ConnectionURI: "",
Host: "127.0.0.1", Host: "127.0.0.1",
Port: 3306, Port: 3306,
Database: "fiber", Database: "fiber",
@@ -70,6 +83,9 @@ var ConfigDefault = Config{
} }
func (c Config) dsn() string { func (c Config) dsn() string {
if c.ConnectionURI != "" {
return c.ConnectionURI
}
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s", c.Username, c.Password, c.Host, c.Port, c.Database) return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s", c.Username, c.Password, c.Host, c.Port, c.Database)
} }

View File

@@ -1,8 +1,8 @@
module github.com/gofiber/storage/mysql module github.com/gofiber/storage/mysql
go 1.14 go 1.16
require ( require (
github.com/go-sql-driver/mysql v1.6.0 github.com/go-sql-driver/mysql v1.7.0
github.com/gofiber/utils v0.1.2 github.com/gofiber/utils v1.0.1
) )

View File

@@ -1,4 +1,4 @@
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=

View File

@@ -40,19 +40,27 @@ var (
// New creates a new storage // New creates a new storage
func New(config ...Config) *Storage { func New(config ...Config) *Storage {
var err error
var db *sql.DB
// Set default config // Set default config
cfg := configDefault(config...) cfg := configDefault(config...)
// Create db if cfg.Db != nil {
db, err := sql.Open("mysql", cfg.dsn()) // Use passed db
if err != nil { db = cfg.Db
panic(err) } else {
} // Create db
db, err = sql.Open("mysql", cfg.dsn())
if err != nil {
panic(err)
}
// Set options // Set options
db.SetMaxOpenConns(cfg.maxOpenConns) db.SetMaxOpenConns(cfg.maxOpenConns)
db.SetMaxIdleConns(cfg.maxIdleConns) db.SetMaxIdleConns(cfg.maxIdleConns)
db.SetConnMaxLifetime(cfg.connMaxLifetime) db.SetConnMaxLifetime(cfg.connMaxLifetime)
}
// Ping database to ensure a connection has been made // Ping database to ensure a connection has been made
if err := db.Ping(); err != nil { if err := db.Ping(); err != nil {
@@ -165,6 +173,11 @@ func (s *Storage) Close() error {
return s.db.Close() return s.db.Close()
} }
// Return database client
func (s *Storage) Conn() *sql.DB {
return s.db
}
// gcTicker starts the gc ticker // gcTicker starts the gc ticker
func (s *Storage) gcTicker() { func (s *Storage) gcTicker() {
ticker := time.NewTicker(s.gcInterval) ticker := time.NewTicker(s.gcInterval)

View File

@@ -2,11 +2,12 @@ package mysql
import ( import (
"database/sql" "database/sql"
"fmt"
"os" "os"
"testing" "testing"
"time"
"github.com/gofiber/utils" "github.com/gofiber/utils"
"time"
) )
var testStore = New(Config{ var testStore = New(Config{
@@ -16,6 +17,36 @@ var testStore = New(Config{
Reset: true, Reset: true,
}) })
func Test_MYSQL_New(t *testing.T) {
newConfigStore := New(Config{
Database: os.Getenv("MYSQL_DATABASE"),
Username: os.Getenv("MYSQL_USERNAME"),
Password: os.Getenv("MYSQL_PASSWORD"),
Reset: true,
})
utils.AssertEqual(t, true, newConfigStore.db != nil)
newConfigStore.Close()
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s", os.Getenv("MYSQL_USERNAME"), os.Getenv("MYSQL_PASSWORD"), "127.0.0.1", 3306, os.Getenv("MYSQL_DATABASE"))
newConfigStore = New(Config{
ConnectionURI: dsn,
Reset: true,
})
utils.AssertEqual(t, true, newConfigStore.db != nil)
newConfigStore.Close()
db, _ := sql.Open("mysql", dsn)
newConfigStore = New(Config{
Db: db,
Reset: true,
})
utils.AssertEqual(t, true, newConfigStore.db != nil)
newConfigStore.Close()
}
func Test_MYSQL_Set(t *testing.T) { func Test_MYSQL_Set(t *testing.T) {
var ( var (
key = "john" key = "john"
@@ -162,3 +193,7 @@ func Test_MYSQL_Non_UTF8(t *testing.T) {
func Test_MYSQL_Close(t *testing.T) { func Test_MYSQL_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_MYSQL_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -17,6 +17,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *sql.DB
``` ```
### Installation ### Installation
Postgres is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet: Postgres is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
@@ -49,12 +50,24 @@ store := postgres.New(postgres.Config{
GCInterval: 10 * time.Second, GCInterval: 10 * time.Second,
SslMode: "disable", SslMode: "disable",
}) })
// Initialize custom config using connection string
store := postgres.New(postgres.Config{
ConnectionURI: "postgresql://user:password@localhost:5432/fiber"
Reset: false,
GCInterval: 10 * time.Second,
})
``` ```
### Config ### Config
```go ```go
// Config defines the config for storage. // Config defines the config for storage.
type Config struct { type Config struct {
// Connection string to use for DB. Will override all other authentication values if used
//
// Optional. Default is ""
ConnectionURI string
// Host name where the DB is hosted // Host name where the DB is hosted
// //
// Optional. Default is "127.0.0.1" // Optional. Default is "127.0.0.1"
@@ -105,6 +118,7 @@ type Config struct {
### Default Config ### Default Config
```go ```go
var ConfigDefault = Config{ var ConfigDefault = Config{
ConnectionURI: "",
Host: "127.0.0.1", Host: "127.0.0.1",
Port: 5432, Port: 5432,
Database: "fiber", Database: "fiber",

View File

@@ -6,6 +6,11 @@ import (
// Config defines the config for storage. // Config defines the config for storage.
type Config struct { type Config struct {
// Connection string to use for DB. Will override all other authentication values if used
//
// Optional. Default is ""
ConnectionURI string
// Host name where the DB is hosted // Host name where the DB is hosted
// //
// Optional. Default is "127.0.0.1" // Optional. Default is "127.0.0.1"
@@ -90,6 +95,7 @@ type Config struct {
// ConfigDefault is the default config // ConfigDefault is the default config
var ConfigDefault = Config{ var ConfigDefault = Config{
ConnectionURI: "",
Host: "127.0.0.1", Host: "127.0.0.1",
Port: 5432, Port: 5432,
Database: "fiber", Database: "fiber",

View File

@@ -1,8 +1,8 @@
module github.com/gofiber/storage/postgres module github.com/gofiber/storage/postgres
go 1.14 go 1.16
require ( require (
github.com/gofiber/utils v0.1.2 github.com/gofiber/utils v1.0.1
github.com/lib/pq v1.10.4 github.com/lib/pq v1.10.7
) )

View File

@@ -1,4 +1,4 @@
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=

View File

@@ -46,22 +46,31 @@ func New(config ...Config) *Storage {
cfg := configDefault(config...) cfg := configDefault(config...)
// Create data source name // Create data source name
var dsn string = "postgresql://" var dsn string
if cfg.Username != "" { if cfg.ConnectionURI != "" {
dsn += url.QueryEscape(cfg.Username) dsn = cfg.ConnectionURI
} else {
dsn = "postgresql://"
if cfg.Username != "" {
dsn += url.QueryEscape(cfg.Username)
}
if cfg.Password != "" {
dsn += ":" + cfg.Password
}
if cfg.Username != "" || cfg.Password != "" {
dsn += "@"
}
// unix socket host path
if strings.HasPrefix(cfg.Host, "/") {
dsn += fmt.Sprintf("%s:%d", cfg.Host, cfg.Port)
} else {
dsn += fmt.Sprintf("%s:%d", url.QueryEscape(cfg.Host), cfg.Port)
}
dsn += fmt.Sprintf("/%s?connect_timeout=%d&sslmode=%s",
url.QueryEscape(cfg.Database),
int64(cfg.timeout.Seconds()),
cfg.SslMode)
} }
if cfg.Password != "" {
dsn += ":" + cfg.Password
}
if cfg.Username != "" || cfg.Password != "" {
dsn += "@"
}
dsn += fmt.Sprintf("%s:%d", url.QueryEscape(cfg.Host), cfg.Port)
dsn += fmt.Sprintf("/%s?connect_timeout=%d&sslmode=%s",
url.QueryEscape(cfg.Database),
int64(cfg.timeout.Seconds()),
cfg.SslMode,
)
// Create db // Create db
db, err := sql.Open("postgres", dsn) db, err := sql.Open("postgres", dsn)
@@ -180,6 +189,11 @@ func (s *Storage) Close() error {
return s.db.Close() return s.db.Close()
} }
// Return database client
func (s *Storage) Conn() *sql.DB {
return s.db
}
// gcTicker starts the gc ticker // gcTicker starts the gc ticker
func (s *Storage) gcTicker() { func (s *Storage) gcTicker() {
ticker := time.NewTicker(s.gcInterval) ticker := time.NewTicker(s.gcInterval)

View File

@@ -177,3 +177,7 @@ func Test_SslRequiredMode(t *testing.T) {
func Test_Postgres_Close(t *testing.T) { func Test_Postgres_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_Postgres_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}

View File

@@ -17,6 +17,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *redis.Client
``` ```
### Installation ### Installation
Redis is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet: Redis is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
@@ -49,7 +50,8 @@ store := redis.New(redis.Config{
Database: 0, Database: 0,
Reset: false, Reset: false,
TLSConfig: nil, TLSConfig: nil,
} PoolSize: 10 * runtime.GOMAXPROCS(0),
})
// or just the url with all information // or just the url with all information
store = redis.New(redis.Config{ store = redis.New(redis.Config{
@@ -68,7 +70,7 @@ type Config struct {
// Port where the DB is listening on // Port where the DB is listening on
// //
// Optional. Default is 3306 // Optional. Default is 6379
Port int Port int
// Server username // Server username
@@ -86,11 +88,11 @@ type Config struct {
// Optional. Default is 0 // Optional. Default is 0
Database int Database int
// URL the standard format redis url to parse all other options. If this is set all other config options, Host, Port, Username, Password, Database have no effect. // URL the standard format redis url to parse all other options. If this is set all other config options, Host, Port, Username, Password, Database have no effect.
// //
// Example: redis://<user>:<pass>@localhost:6379/<db> // Example: redis://<user>:<pass>@localhost:6379/<db>
// Optional. Default is "" // Optional. Default is ""
URL string URL string
// Reset clears any existing keys in existing Collection // Reset clears any existing keys in existing Collection
// //
@@ -101,6 +103,11 @@ type Config struct {
// //
// Optional. Default is nil // Optional. Default is nil
TLSConfig *tls.Config TLSConfig *tls.Config
// Maximum number of socket connections.
//
// Optional. Default is 10 connections per every available CPU as reported by runtime.GOMAXPROCS.
PoolSize int
} }
``` ```
@@ -116,5 +123,6 @@ var ConfigDefault = Config{
Database: 0, Database: 0,
Reset: false, Reset: false,
TLSConfig: nil, TLSConfig: nil,
PoolSize: 10 * runtime.GOMAXPROCS(0),
} }
``` ```

View File

@@ -1,6 +1,9 @@
package redis package redis
import "crypto/tls" import (
"crypto/tls"
"runtime"
)
// Config defines the config for storage. // Config defines the config for storage.
type Config struct { type Config struct {
@@ -11,7 +14,7 @@ type Config struct {
// Port where the DB is listening on // Port where the DB is listening on
// //
// Optional. Default is 3306 // Optional. Default is 6379
Port int Port int
// Server username // Server username
@@ -43,6 +46,11 @@ type Config struct {
// TLS Config to use. When set TLS will be negotiated. // TLS Config to use. When set TLS will be negotiated.
TLSConfig *tls.Config TLSConfig *tls.Config
// Maximum number of socket connections.
//
// Optional. Default is 10 connections per every available CPU as reported by runtime.GOMAXPROCS.
PoolSize int
//////////////////////////////////// ////////////////////////////////////
// Adaptor related config options // // Adaptor related config options //
//////////////////////////////////// ////////////////////////////////////
@@ -60,6 +68,7 @@ var ConfigDefault = Config{
Database: 0, Database: 0,
Reset: false, Reset: false,
TLSConfig: nil, TLSConfig: nil,
PoolSize: 10 * runtime.GOMAXPROCS(0),
} }
// Helper function to set default values // Helper function to set default values

View File

@@ -1,8 +1,8 @@
module github.com/gofiber/storage/redis module github.com/gofiber/storage/redis
go 1.14 go 1.16
require ( require (
github.com/go-redis/redis/v8 v8.11.4 github.com/go-redis/redis/v8 v8.11.5
github.com/gofiber/utils v0.1.2 github.com/gofiber/utils v1.0.1
) )

View File

@@ -1,5 +1,8 @@
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= 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.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
@@ -7,11 +10,11 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cu
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F46Tg= github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w= github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk= github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc= github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
@@ -20,26 +23,28 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= 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.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= 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= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.16.0 h1:6gjqkI8iiRHMvdccRJM8rVKjCWk6ZIm6FTm3ddIe4/c= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 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/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
@@ -64,12 +69,14 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/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-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -81,7 +88,6 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 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-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-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -90,9 +96,7 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
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/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=

View File

@@ -19,16 +19,18 @@ func New(config ...Config) *Storage {
cfg := configDefault(config...) cfg := configDefault(config...)
// Create new redis client // Create new redis client
var options *redis.Options var options *redis.Options
var err error var err error
if cfg.URL != "" { if cfg.URL != "" {
options, err = redis.ParseURL(cfg.URL) options, err = redis.ParseURL(cfg.URL)
options.TLSConfig = cfg.TLSConfig
if err != nil { if err != nil {
panic(err) panic(err)
} }
options.TLSConfig = cfg.TLSConfig
options.PoolSize = cfg.PoolSize
} else { } else {
options = &redis.Options{ options = &redis.Options{
Addr: fmt.Sprintf("%s:%d", cfg.Host, cfg.Port), Addr: fmt.Sprintf("%s:%d", cfg.Host, cfg.Port),
@@ -36,6 +38,7 @@ func New(config ...Config) *Storage {
Username: cfg.Username, Username: cfg.Username,
Password: cfg.Password, Password: cfg.Password,
TLSConfig: cfg.TLSConfig, TLSConfig: cfg.TLSConfig,
PoolSize: cfg.PoolSize,
} }
} }
@@ -71,7 +74,6 @@ func (s *Storage) Get(key string) ([]byte, error) {
return val, err return val, err
} }
// Set key with value
// Set key with value // Set key with value
func (s *Storage) Set(key string, val []byte, exp time.Duration) error { func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
// Ain't Nobody Got Time For That // Ain't Nobody Got Time For That
@@ -99,3 +101,8 @@ func (s *Storage) Reset() error {
func (s *Storage) Close() error { func (s *Storage) Close() error {
return s.db.Close() return s.db.Close()
} }
// Return database client
func (s *Storage) Conn() *redis.Client {
return s.db
}

View File

@@ -123,6 +123,10 @@ func Test_Redis_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close()) utils.AssertEqual(t, nil, testStore.Close())
} }
func Test_Redis_Conn(t *testing.T) {
utils.AssertEqual(t, true, testStore.Conn() != nil)
}
func Test_Redis_Initalize_WithURL(t *testing.T) { func Test_Redis_Initalize_WithURL(t *testing.T) {
testStoreUrl := New(Config{ testStoreUrl := New(Config{
URL: "redis://localhost:6379", URL: "redis://localhost:6379",

View File

@@ -1,7 +1,7 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIE5jCCAs4CCQCX6TN/mZGB/zANBgkqhkiG9w0BAQsFADA1MRMwEQYDVQQKDApS MIIE5jCCAs4CCQCw1ymcsil7MTANBgkqhkiG9w0BAQsFADA1MRMwEQYDVQQKDApS
ZWRpcyBUZXN0MR4wHAYDVQQDDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjEx ZWRpcyBUZXN0MR4wHAYDVQQDDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjIx
MTExMTYzNjE2WhcNMzExMTA5MTYzNjE2WjA1MRMwEQYDVQQKDApSZWRpcyBUZXN0 MTE0MDgyNTE0WhcNMzIxMTExMDgyNTE0WjA1MRMwEQYDVQQKDApSZWRpcyBUZXN0
MR4wHAYDVQQDDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEB MR4wHAYDVQQDDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQDnZXRXrYURmTc/559vMe7CZnwtKul2ZMOtS7UDPCcw AQUAA4ICDwAwggIKAoICAQDnZXRXrYURmTc/559vMe7CZnwtKul2ZMOtS7UDPCcw
G3I1KHCxFkAxLNDhLtIENWId90Lc1mAIKtULy+RX2ORfOhYZ+JDK3sY25+53dgFq G3I1KHCxFkAxLNDhLtIENWId90Lc1mAIKtULy+RX2ORfOhYZ+JDK3sY25+53dgFq
@@ -14,16 +14,16 @@ q0UUyb3aKjkluBn5rZuHxZLP14FueojFTLIXW6sNKYGqHqh4TicogmqCQAGhd9wo
Wis21+xeOI9FgojASxugN+tY/64nwYQfCWsv8AuZegjyQ+AodGrtIHEbrAdgeYOj Wis21+xeOI9FgojASxugN+tY/64nwYQfCWsv8AuZegjyQ+AodGrtIHEbrAdgeYOj
heEYDePaKMau/0vc14vlOs5EssXf49QYhciRqESc+0O85rHemgqhb4Qz31V3AGf1 heEYDePaKMau/0vc14vlOs5EssXf49QYhciRqESc+0O85rHemgqhb4Qz31V3AGf1
NP0wvqA97AmBYRLZSNc4ExvmQponOIVJY+idWiqJuRZSOeScEx0sx22MF1Nhwaw+ NP0wvqA97AmBYRLZSNc4ExvmQponOIVJY+idWiqJuRZSOeScEx0sx22MF1Nhwaw+
3QIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQCN1SnYfobIM0bY1bI/n5njNV8HEFAT 3QIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQDGSfsv4PsVkApOy0IYgO/ejJMqcbRF
X9EoXEKEg8lTJNNHSAEBDGgJMH4tc2+gQ/AQxdjCTJXlYP7ET5eHHPiUxXRqwjZr Qv+PWcNG43qRuF0Fyg+6Gc+Ph8W3qNoh3lGm16WOdhMrMnnV3GKpIbl1z1Dr6Jtl
MDSVbipaqJ3AVkJs+XeqrxyjsJ0S4uPd82gYzcPYCP6Zq2hFGTnzlnNE8oZq+Ys9 BRAOW+rPN8QueB7Fb2hT7QIkTDNAhoj+ks26KvzBOkQa9IrXUQZRigystOl3k1OB
mdVEwWmOnD+sl8pcRuccxUfPAJoZK3A5G+X2xctJLwMM6Y82ppu5XVMbmuoMTQaK BIL7c6pF9gMaskBlM5g70i+R7bb+MF1ivhB/G1QGYx97QJFdmDIr1NkcMFo/PsSN
pkhw6wZwah6Fa0QSgL1Lro63aDG1xDvUi8HXD7baZw/nNT/rI81ZFwT735sRkRm5 pcm/f8i0Vh+DfM9jnywLESptyKJCO5RnMW67ep7t/IzfnNfHLZ0avf91nEP6PRtd
7WXnfic8/SsQGk0zw8grUy+Q/7YSonr6LxUPd6vSJk3ZBEWo/FbDpXRSLaZQiR2S 3ZDXcHX1rT+T9RQNcxws92x8gOvIxrJN4asLZj8A5T6tTGlhbaR77j98NH/e8m+1
87gWa1Mt/a98OHR736q1jBvIeiGhC0dB1mj2Cclvtc3rO0uJzsHBzviE4008t8mn MIET49DsIpIWWMW7M0CATUejHtddpFV/fXfhMXjU2/nWfzhCAXpi6BN2iE7Qihvc
mCVTp03nvMMO9BOpwECDOnBok4aMfqiIMJlPrl2ieiZX1lM5xiwZkzS/x9mTp6dx RmjFrrSdqkPEuTDVFN/rdlWwz6m1/cqYBGlPEFEHkN+gEyhBf5Qa1dc1QUYDBYzW
9dhppRo/y9ViuB8PVxkDQCPjnZ+WefRXTW6Vtacc4D6LNQgJytFL4nVBAzgABfpv rSR/NdH4wo21MWvJDLMb8tzp4LJJ3deW1o84UeiymjHStzJARVEX8w1/qjTohVbm
cUOk41qGpY/n9VscZRGadyHjz2f0l4LY6GeIDg/iF9/qzOFTTRx6eyJ4ueeq2+/T PWKPe98137BQWYQ4QUhRDeZc1h6OcWdVsNg0wwNtZ9hqNGo7n7+YzyoKFLSYm6So
V5Ro8kzYg8aXkDY2dFLdSz8KBkaZ++8A6Q7h2SPVNfAepKGLHyB76ktMaqjonhbn D+93y5AoOZlCgtUfzUPlumMXCYcvWP0yifvnNksK7eknlen9tRuhP5vUYC+DTfrP
rq7Y+FUj+SMshw== YpIOMlHgRIe0YA==
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@@ -1 +1 @@
F93DEACFF8ACD904 F93DEACFF8ACD907

View File

@@ -1,7 +1,7 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIEBTCCAe2gAwIBAgIJAPk96s/4rNkDMA0GCSqGSIb3DQEBCwUAMDUxEzARBgNV MIIEBTCCAe2gAwIBAgIJAPk96s/4rNkGMA0GCSqGSIb3DQEBCwUAMDUxEzARBgNV
BAoMClJlZGlzIFRlc3QxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAe BAoMClJlZGlzIFRlc3QxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAe
Fw0yMTExMTExNjM2MTZaFw0yMjExMTExNjM2MTZaMCsxEzARBgNVBAoMClJlZGlz Fw0yMjExMTQwODI1MTRaFw0yMzExMTQwODI1MTRaMCsxEzARBgNVBAoMClJlZGlz
IFRlc3QxFDASBgNVBAMMC0NsaWVudC1vbmx5MIIBIjANBgkqhkiG9w0BAQEFAAOC IFRlc3QxFDASBgNVBAMMC0NsaWVudC1vbmx5MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAtKcK6sWYkbgmWKV03WzmLbicEr9gMZVsoyxgNV52ciFnPQ72 AQ8AMIIBCgKCAQEAtKcK6sWYkbgmWKV03WzmLbicEr9gMZVsoyxgNV52ciFnPQ72
2B0PEafTO4CFdzTj3titqqOtcQVVqo6uCZroBfwCYzEgozBEPvECcY/ldw1uiN9c 2B0PEafTO4CFdzTj3titqqOtcQVVqo6uCZroBfwCYzEgozBEPvECcY/ldw1uiN9c
@@ -9,16 +9,16 @@ EyCKTAEGFqnSZwJ4UfC/JDnsNRjflLrAZ5xsQV56+yreYurY8WzCmdjpxkHQ0i0s
BBG0wdd/d4G8EYSHjOhtoqckUCeHU3Z8+WOn3LeIjK2XaAZTJHC+a9Pjj376degV BBG0wdd/d4G8EYSHjOhtoqckUCeHU3Z8+WOn3LeIjK2XaAZTJHC+a9Pjj376degV
bgEQufwrTiyOimwoMVvu2biMEyPo6KXJeofaPjAMeS2uD89czV2qjPPoLrb+x1mZ bgEQufwrTiyOimwoMVvu2biMEyPo6KXJeofaPjAMeS2uD89czV2qjPPoLrb+x1mZ
wVWK+PIiQE5cgBGhjNTEToj0xI8ZhGiqvoLTdQIDAQABoyIwIDALBgNVHQ8EBAMC wVWK+PIiQE5cgBGhjNTEToj0xI8ZhGiqvoLTdQIDAQABoyIwIDALBgNVHQ8EBAMC
BaAwEQYJYIZIAYb4QgEBBAQDAgeAMA0GCSqGSIb3DQEBCwUAA4ICAQAkDELpveEq BaAwEQYJYIZIAYb4QgEBBAQDAgeAMA0GCSqGSIb3DQEBCwUAA4ICAQCSTgkiaEou
jdQ2S3meMJlBjSI5raNkZ3eduV8TMQd7w7Wti6/DYhpquYyt1SqKnDm5Req5BC0D OS9K4Cq7sIPvZHmZlniti4TeMq1lgVzTjRRjSA2mP0183LrWCRouKor5ce/Zozbp
Q6EgJuTOJ8ElkZ0PC3mZXDsAsHrjgJ9PAgMpGv9HB4XkAjvD9YdKH610IkmOUHMu 0/GNaA+Iru5Ig22dtC8M2UiQGvIRCth6oJxmM/T9VeK54pIQ3XDpyl2t3xVqh74u
pToFdck+woe5lbQsILJl2AE72zzqCgDM1K7FxMoP6ZN8fmX+7/TSwiEfVgkwLDgp 1g5BvZ51X17WnuVR0Ipax1EPARkXKijvhZ1R71yd8fClXeXE4SsepUXdl80mkCKk
FkGPCGGnHcWYW3H+4UF1UbjP1uZwiSAq2GbzfHuUrCQhVUCnFOEygMowgK8CtZgb wFqdhArQYrNcG4lI/y4VxGbPFQ28a9L8Ru44pP8+7lHCENN4T8P7CquRpHaEIyKH
ONJV3ePGSE8ESh/hQPnihlJBASXT7AXO/8Z4pW1J54VgamTrDKbiz/35fNAcsCId v10TLZM3V5e1cZmDmmvWmdyntQR1FIHLUNWbinLkUwhYvFQPlGqXyywUDF0Jn8x8
tfiPXGTAG1QSWHMB+Lio9okNleb0RNHsXWQH3j6oNjPfMOGqYIpmkefv+2nivin+ KyUfvUXyoi+vbKQPVHY90QPyTc6hpHfSLU+jkXFmrWn1f1h7pHRBIcCFX77CTZyY
LAfzbcSGNXnus19HtsS+AjUNeSeoR1IIBg/aRmYeDCX1sBTugyIo8njdWtyT3Pj4 8Qpse0xsyDb1d07DB+RhTkw9nZeNBjj9/YPWgM/Opl5C6g0w5vMQYvIkgrGZ4Xsy
LgOuMi/vyNL6hocdwkTfMqceMo3cCF+G0R6V1yrZ5xKFTmkqT8E2SqHC1sHHqI9o 8D16nIZtoP9omGzK7La7Yov69gq+/5j4IkMda4FukDs9y71/t55mlYtR/J2rQiEo
G1AvHtivIlNuACilB/s7ptnDdgcGPu5aNSWPm3S1GctR6JHOxbGzSaa1UiIAHzoT YIFdXng0CgqMZg3i+qPU9c9ptsm1y8R6RCZHyrrV4P4Z79TbUv0bHU0pc56lXFZw
B1HLud63T/6YDWTWn01zLfE1X+tdSkekTEk9qCyQZRokbvrP/oIwSpnuuzPlUlYn M4HwFYGvc5cvSbTeqmpOKftlE743+8ZZuL1Ll/tscVehNiduHpogkPfN4Z2UNM8h
OvQBR7Rly6F3JkME8rk9sCYv995CiUr+4A== 3cRF3zsnD1QdBbJuvIgaO7HsOuLiZprlSw==
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@@ -1,7 +1,7 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIID3TCCAcUCCQD5PerP+KzZBDANBgkqhkiG9w0BAQsFADA1MRMwEQYDVQQKDApS MIID3TCCAcUCCQD5PerP+KzZBzANBgkqhkiG9w0BAQsFADA1MRMwEQYDVQQKDApS
ZWRpcyBUZXN0MR4wHAYDVQQDDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjEx ZWRpcyBUZXN0MR4wHAYDVQQDDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjIx
MTExMTYzNjE3WhcNMjIxMTExMTYzNjE3WjAsMRMwEQYDVQQKDApSZWRpcyBUZXN0 MTE0MDgyNTE0WhcNMjMxMTE0MDgyNTE0WjAsMRMwEQYDVQQKDApSZWRpcyBUZXN0
MRUwEwYDVQQDDAxHZW5lcmljLWNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw MRUwEwYDVQQDDAxHZW5lcmljLWNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQC/lqyvZ+JecRTRWFEoyfIYnxz+1HiZwFGL7BhSrPf7Y6CSDwV+A7tB ggEKAoIBAQC/lqyvZ+JecRTRWFEoyfIYnxz+1HiZwFGL7BhSrPf7Y6CSDwV+A7tB
Pvu7gSQx69cfMIeS78n/pNV4P0dCgiEiOYZlqa8z1H3MVG6ZuM9uIfeubAeOvG5M Pvu7gSQx69cfMIeS78n/pNV4P0dCgiEiOYZlqa8z1H3MVG6ZuM9uIfeubAeOvG5M
@@ -9,15 +9,15 @@ Emk9UJ3KU01XFFLCaQ9u+WPJNUQyB+hUDE92k3PQ+sh3getcgYDQm6ktt1lZOgUK
JwXPNg6E1HlLDMrf4kqsCLMHCAuI7pT0RjMrK6mNEvs7hFf487zj857Jd1XJ069l JwXPNg6E1HlLDMrf4kqsCLMHCAuI7pT0RjMrK6mNEvs7hFf487zj857Jd1XJ069l
Fhqt/LOW7jOOCEXiGtfWEJ8pApsIsc1Pdgzxh+WS1HH0qRELMv0RUJXnhw/uiE1A Fhqt/LOW7jOOCEXiGtfWEJ8pApsIsc1Pdgzxh+WS1HH0qRELMv0RUJXnhw/uiE1A
TwLVUD91YwboSLIYf/E3m7zREaXwf14RAgMBAAEwDQYJKoZIhvcNAQELBQADggIB TwLVUD91YwboSLIYf/E3m7zREaXwf14RAgMBAAEwDQYJKoZIhvcNAQELBQADggIB
ADWC4NSOil1EAqtrZbNAMm2beofNCcgkcO1FzYjgLXlEmq7ntvJF6LNhVBFtQCJw ADZgwvnwZf+4FuUrMs7sN1CcMyZ9IIXH16Z4/nn9LjzheqvtzoEEP7fAkYjL2z48
dRFfYqAH2TPI9nU3NadaJFCNTC3MQaSaIOXe4ntV2H8swbNlHEonjJ+PutK+GQYL S1iHMYfCGNHI+wijtbt4BrbvR1g0nqmGBfiJ0xHyFpU03goh4l/JiqSK9kf1SPAF
6+ZF4heW7ZgOREr1cldVFo7GWQIGKR0jlckscn6OwHcBiqxYdrW8xXfUEcRH0EJk 763h564PGaA7sFFKf+VR1GpvEGD6vfjm5vIs2Hn0SRF5/6dwUNZOWaCkfdBB5ddb
pFn8QjZlCBvMM1oVSPE4xdi04DRJJxHeE++KNH17KyoTSuvIrHvf24bKr2RlPvN8 1mSI8g5cEEv9+7mlIEXkdRiUJHFnuIUbH9W3ivB+XWGp9/o3y1+eK68+BkcRWBSr
HC6cvLGSWVZYu4MKx2tWtQUNwnA+oQ+Ri7Id+KdpEBn+UJrSoZ0hu5xz9LBakbXo PkCL7V3DVj0ENV2QqovUcyu1Z1kakNubyBxs/0t84DZ2NfYSyAOr2rBn8LW8Fbfc
CoJJ9vzhHn4VP0Q1/UT+GQzdC39P+s2TErHKNQFql+qZYNJltJcbq3uWQHL0K0v7 X2E79C0RiuT6NDjMMFPchYVXeT7Fuh/ExwkE8DYCJWNZCY+pDdas1fqSt8loPZDG
ai7AXsGSIJHWTMT3LihKBeWFLDZBugWxpFF6SjHmcONpv1KSfxHvRw+OrNARPIof M0LNCrVdI0uR5sJnau8ihKkn4UIkCP1XkXNUL1lKR86msZibIH/SqTWAUWh2SSuG
13/5IEx6SecT3E7EVjVZyyTgpjv3lOburIrw1amHqTtxRaewMjloYCQwjVmrgyme UqMORqRksC5pobJkQDra9b2ViNCcjp/S5iq5lokxnuGu3SxQObCnei0ceBKppWy5
BcjZtsHzXjF7/AmlEtwnc6BE0jUwJHznfyfV8rYTwfO0Ew/xrLJ3EAvMTNMOOvfl orkRwuSwMrDUX2bVcR4Zcjdg7kz7CPcqObZTEcadRaxVuWOIi/Jn1zYqOGEOavyT
Ll5DDqA61Ai2/61rVhoUEyjPNDjB8hyY8NB0F81Mbbhm8T4/BY+TAX9MxFv9Rt/y VvEvo9DT486aLGtF9rA6o/+MydRXd1qBRgfjrV7aaBZkRm3F2ofdpLrzXnDwarei
3nBxLL8uIt1LUC7blW4sR+DsUEmk8nlJ/TW+166B+2+M SnXRnd4rimpcL/s09DEevDkyt2aezgS/ngP4OWM1zJOf
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@@ -1,7 +1,7 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIEBTCCAe2gAwIBAgIJAPk96s/4rNkCMA0GCSqGSIb3DQEBCwUAMDUxEzARBgNV MIIEBTCCAe2gAwIBAgIJAPk96s/4rNkFMA0GCSqGSIb3DQEBCwUAMDUxEzARBgNV
BAoMClJlZGlzIFRlc3QxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAe BAoMClJlZGlzIFRlc3QxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAe
Fw0yMTExMTExNjM2MTZaFw0yMjExMTExNjM2MTZaMCsxEzARBgNVBAoMClJlZGlz Fw0yMjExMTQwODI1MTRaFw0yMzExMTQwODI1MTRaMCsxEzARBgNVBAoMClJlZGlz
IFRlc3QxFDASBgNVBAMMC1NlcnZlci1vbmx5MIIBIjANBgkqhkiG9w0BAQEFAAOC IFRlc3QxFDASBgNVBAMMC1NlcnZlci1vbmx5MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEApvPQ66+fMPnJMf8BkGMq35EAT3FJIECqd3K/DNS2zox53gSj AQ8AMIIBCgKCAQEApvPQ66+fMPnJMf8BkGMq35EAT3FJIECqd3K/DNS2zox53gSj
P9cPuaW+JBlMUXTpGhgNKSLD8TMwJcA406A/pJScLNrdfoI9RvlKblwWWxcr2QBS P9cPuaW+JBlMUXTpGhgNKSLD8TMwJcA406A/pJScLNrdfoI9RvlKblwWWxcr2QBS
@@ -9,16 +9,16 @@ gFvEcnAYByVQb7S9gEOZev5CHGPw9Bav4jYZ+nTc+ERDuMC6HaqrjbLk1UbkuvAV
cWipYygtVFeeWx1TdHmez7n+kXcKNVojp1BbNJj5162zYXD7CnWrepA0r8b3ETEs cWipYygtVFeeWx1TdHmez7n+kXcKNVojp1BbNJj5162zYXD7CnWrepA0r8b3ETEs
jTFRmJd6UgjZ/u+apf+DlIQ5UZOWPUs1okzmCjHAL0hp55Mj6lRW7F+ZEX8uC/pG jTFRmJd6UgjZ/u+apf+DlIQ5UZOWPUs1okzmCjHAL0hp55Mj6lRW7F+ZEX8uC/pG
jOz/Qi2AIztZp+tYSQmyXlsEODft88D6StWKLwIDAQABoyIwIDALBgNVHQ8EBAMC jOz/Qi2AIztZp+tYSQmyXlsEODft88D6StWKLwIDAQABoyIwIDALBgNVHQ8EBAMC
BaAwEQYJYIZIAYb4QgEBBAQDAgZAMA0GCSqGSIb3DQEBCwUAA4ICAQAkwYDPD0Qk BaAwEQYJYIZIAYb4QgEBBAQDAgZAMA0GCSqGSIb3DQEBCwUAA4ICAQCEiTikIbaQ
mi3YyIdK/+KtiDcyTAYszQfKx5luSZ1+dU9fSc3xM8vMy2ZogpzOjjq+Gmxm+/mj 4reQTD0pYlofKZgczg2BdnkvxVXBp/i/qNQgvIuedKFsAHvNTOtEm4zc5cxspFvW
8FonHMnlBH21tyuCBxs/yXeR8bqNRL1PyGN3lI0/3IF2dlQGGUBhmnSvgt1ZL0G6 bEZFMObHYTmRKVJzKawCQOp7uV3+StzqpV46uERn/HVH5PhToapH0ZA/vXp9dB8U
jeonmiLg+DjOPr38lO1B0qY+gwhmrJkGf6+NmwfCWJg6xO7D2fKS9iRRb4DTxfms rCX9FQ9Wp/NeH1fzpToGuXgUUCo3jUKpkwJhxc0OH220/l6xmbN23ivY5UTt2z9v
6UPpFtaHOKSGQMjvDQ86t0tAgavYBYib4xAxRwnkxfriVhncEybOpmlO5tEU1Xl8 x6S0gtkCD7VH7x5xxGu2T2HsJGbTefV/dknYcAYvZa5hy2wg4PyPlGSYD/UEZzVs
D1Ax/LYgHFZa0W89NrlFoFx6mVpBHjUml9OBYaZkzrsMix6J+47aJPyceKThh86Q hJQDg3QTXvqFjdc8ZlPBoG1X028T28tiDgUuTwhH2trvY9qjk9VAVax9Wi3mkmYj
TmKEOV1Zko55JBUGoFDzfyCLHYiugdupwrvW1nEJ07JfODbrwbMC6uNRR5CxowgA XfuSzgE/WexXrCljYAaPndUOwrd47XejlilcFCg5Otq5oPsWvFB+aSPyHHQJLG9B
oRS1TTHINqOKFR03AbrqQ1yDf6Ufh4k/2f+L4i8TKeH2A6IKmXfgMEWvqf6gw1tm ZHa1hFP2aV/amfMQxAj9dv7StrpdWHXTk1dvryQqyt3oZl87fUDPsBrmjOgdieFn
7z8j0klDxH5ezQUjSJS0jf65JFLX3TxdbfZEwLvZUg73m0XUNouvq6agUmcIoeHv aGcx5NzCOQG6X6GwF15pdMaA4h51kZuZqM5hkpJOfYZb19eQ0O3YzdsN92Wue4iW
IKycZntJ4YPPerIGMMM9iGh6ij/NWeNZSQQ5Y0wk7yXsI2PPOUj1O9blzDU5NrgN URiFFWbdZWeO5lykmwBDqNFP/4XIrgczEq62/Uzyt62dfKL7f93BfAiT2qtdtKqk
0DXjoVQqRgFln1U6lAtqxCkjp1YIo/LGKtscpXingSj2IRsbGkT5tUMmCv+sOd+x mHoya5ng+uav2TAGbHQgrNQYBJm9sB5MFwRYUWnrvWlig2whOzT/PGNohbc1JKkC
2DenVLRlUlVuEDkkwcA9mwxKYaafCv2tqg== KSW2kUmwl+vdLoKe59o8TMfu/gn3BN+A/g==
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@@ -18,6 +18,7 @@ func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error func (s *Storage) Reset() error
func (s *Storage) Close() error func (s *Storage) Close() error
func (s *Storage) Conn() *ristretto.Cache
``` ```
### Installation ### Installation

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