From 6486bfd1c844078a9587b8381cabff98f3eb1104 Mon Sep 17 00:00:00 2001 From: Marek Goc Date: Tue, 11 Apr 2023 22:43:48 +0200 Subject: [PATCH] after fork --- .gitignore | 17 + Dockerfile | 17 + LICENSE | 201 +++++++++ Makefile | 18 + README.md | 276 ++++++++++++ constants/bindings.go | 10 + constants/tags.go | 9 + examples/api.go | 86 ++++ examples/main.go | 53 +++ examples/routers.go | 74 ++++ examples/swagger.go | 21 + fibers.go | 194 ++++++++ go.mod | 46 ++ go.sum | 985 +++++++++++++++++++++++++++++++++++++++++ group.go | 93 ++++ images/docs.png | Bin 0 -> 243208 bytes images/redoc.png | Bin 0 -> 332736 bytes router/enums.go | 8 + router/options.go | 83 ++++ router/parser.go | 67 +++ router/responses.go | 11 + router/router.go | 160 +++++++ security/apikey.go | 33 ++ security/basic.go | 62 +++ security/bearer.go | 39 ++ security/cookie.go | 33 ++ security/oauth2.go | 36 ++ security/openid.go | 26 ++ security/security.go | 33 ++ swagger/options.go | 79 ++++ swagger/swagger.go | 555 +++++++++++++++++++++++ templates/redoc.html | 17 + templates/swagger.html | 24 + 33 files changed, 3366 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 constants/bindings.go create mode 100644 constants/tags.go create mode 100644 examples/api.go create mode 100644 examples/main.go create mode 100644 examples/routers.go create mode 100644 examples/swagger.go create mode 100644 fibers.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 group.go create mode 100644 images/docs.png create mode 100644 images/redoc.png create mode 100644 router/enums.go create mode 100644 router/options.go create mode 100644 router/parser.go create mode 100644 router/responses.go create mode 100644 router/router.go create mode 100644 security/apikey.go create mode 100644 security/basic.go create mode 100644 security/bearer.go create mode 100644 security/cookie.go create mode 100644 security/oauth2.go create mode 100644 security/openid.go create mode 100644 security/security.go create mode 100644 swagger/options.go create mode 100644 swagger/swagger.go create mode 100644 templates/redoc.html create mode 100644 templates/swagger.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..83540aa --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ +.idea +.vscode \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e7c0f62 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM golang AS builder +ENV GO111MODULE=on +ENV GOOS=linux +ENV GOARCH=$GOARCH +ENV CGO_ENABLED=0 +WORKDIR /build +COPY go.mod . +COPY go.sum . +RUN go mod download +COPY . . +RUN go build -o app ./examples + +FROM scratch +COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY --from=builder /build/app / +COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo +ENTRYPOINT ["/app"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..44c8c83 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +PROJECT_NAME := "fibers" +PKG := "github.com/long2ice/$(PROJECT_NAME)" +PKG_LIST := $(shell go list ${PKG}/... | grep -v /vendor/ ) + +lint: + @golint -set_exit_status ${PKG_LIST} + +dep: + @go get -v -d ./... + +build: dep + @go build -v $(PKG) + +clean: + @rm -f $(PROJECT_NAME) + +format: + @gofumpt -l -w . && golines . -w \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..fd86f2f --- /dev/null +++ b/README.md @@ -0,0 +1,276 @@ +# Fiber + Swagger = Fibers + +[![deploy](https://git.ma-al.com/goc_marek/fiber_docs/actions/workflows/deploy.yml/badge.svg)](https://git.ma-al.com/goc_marek/fiber_docs/actions/workflows/deploy.yml) +[![Go Reference](https://pkg.go.dev/badge/git.ma-al.com/goc_marek/fiber_docs.svg)](https://pkg.go.dev/git.ma-al.com/goc_marek/fiber_docs) + +## Introduction + +`Fibers` is a web framework based on `Fiber` and `Swagger` inspired by [FastAPI](https://github.com/tiangolo/fastapi), +which wraps `Fiber` and provides built-in swagger api docs +and request model validation. + +## Why I build this project? + +Previous I have used [FastAPI](https://github.com/tiangolo/fastapi), which gives me a great experience in api docs +generation and api writing, because nobody like writing api docs. + +Now I use `Fiber` but I can't found anything like that, I found [swag](https://github.com/swaggo/swag) but which write +docs with comment is so stupid. So there is `Fibers`. + +## Requirements + +- Go >= 1.18, because of generic usage. + +## Installation + +```shell +go get -u git.ma-al.com/goc_marek/fiber_docs +``` + +## Online Demo + +You can see online demo at or . + +![docs](https://raw.githubusercontent.com/long2ice/fibers/dev/images/docs.png) +![redoc](https://raw.githubusercontent.com/long2ice/fibers/dev/images/redoc.png) + +And you can see the code in [examples](https://git.ma-al.com/goc_marek/fiber_docs/tree/dev/examples). + +## Usage + +### Build Swagger + +Firstly, build a swagger object with basic information. + +```go +package examples + +import ( + "github.com/getkin/kin-openapi/openapi3" + "git.ma-al.com/goc_marek/fiber_docs/swagger" +) + +func NewSwagger() *swagger.Swagger { + return swagger.New("Fibers", "Swagger + Fiber = Fibers", "0.1.0", + swagger.License(&openapi3.License{ + Name: "Apache License 2.0", + URL: "https://git.ma-al.com/goc_marek/fiber_docs/blob/dev/LICENSE", + }), + swagger.Contact(&openapi3.Contact{ + Name: "long2ice", + URL: "https://github.com/long2ice", + Email: "long2ice@gmail.com", + }), + swagger.TermsOfService("https://github.com/long2ice"), + ) +} +``` + +### Write API + +Then make func which is type `F func(c *fiber.Ctx, req T) error`. + +```go +package examples + +import "github.com/gofiber/fiber/v2" + +type TestQueryReq struct { + Name string `query:"name" validate:"required" json:"name" description:"name of model" default:"test"` +} + +func TestQuery(c *fiber.Ctx, req TestQueryReq) error { + return c.JSON(req) +} + +// TestQueryNoReq if there is no req body +func TestQueryNoReq(c *fiber.Ctx) error { + return c.SendString("xxx") +} +``` + +#### All supported tags + +| name | description | +|---------------|-----------------------------------------------------------------| +| `query` | binding query param | +| `cookie` | binding cookie param | +| `form` | binding form param | +| `json` | binding json body | +| `uri` | binding path param | +| `header` | binding header param | +| `validate` | [validator](https://github.com/go-playground/validator) support | +| `description` | swagger docs param description | +| `example` | swagger docs param example | +| `default` | swagger docs param default value | +| `embed` | embed struct params or body | + +Note that the attributes in `TestQuery`? `Fibers` will validate request and inject it automatically, then you can use it +in handler easily. + +### Write Router + +Then write router with some docs configuration and api. + +```go +package examples + +var query = router.New( + TestQuery, + router.Summary("Test Query"), + router.Description("Test Query Model"), + router.Tags("Test"), +) + +// if there is no req body +var query = router.NewX( + TestQueryNoReq, + router.Summary("Test Query"), + router.Description("Test Query Model"), + router.Tags("Test"), +) +``` + +### Security + +If you want to project your api with a security policy, you can use security, also they will be shown in swagger docs. + +Current there is five kinds of security policies. + +- `Basic` +- `Bearer` +- `ApiKey` +- `OpenID` +- `OAuth2` + +```go +package main + +var query = router.New( + TestQuery, + router.Summary("Test query"), + router.Description("Test query model"), + router.Security(&security.Basic{}), +) +``` + +Then you can get the authentication string by `c.Locals(security.Credentials)` depending on your auth type. + +```go +package main + +import "github.com/gofiber/fiber/v2" + +func TestQuery(c *fiber.Ctx, req TestQueryReq) error { + user := c.Locals(security.Credentials).(security.User) + fmt.Println(user) + return c.JSON(req) +} +``` + +### Mount Router + +Then you can mount router in your application or group. + +```go +package main + +import "github.com/gofiber/fiber/v2" + +func main() { + app := fibers.New(NewSwagger(), fiber.Config{}) + queryGroup := app.Group("/query", fibers.Tags("Query")) + queryGroup.Get("", query) + queryGroup.Get("/:id", queryPath) + queryGroup.Delete("", query) + app.Get("/noModel", noModel) +} + +``` + +### Start APP + +Finally, start the application with routes defined. + +```go +package main + +import ( + "github.com/gin-contrib/cors" + "github.com/gofiber/fiber/v2" + "git.ma-al.com/goc_marek/fiber_docs" +) + +func main() { + app := fibers.New(NewSwagger(), fiber.Config{}) + app.Use( + logger.New(), + recover.New(), + cors.New(), + ) + subApp := fibers.New(NewSwagger(), fiber.Config{}) + subApp.Get("/noModel", noModel) + app.Mount("/sub", subApp) + app.Use(cors.New(cors.Config{ + AllowOrigins: "*", + AllowMethods: "*", + AllowHeaders: "*", + AllowCredentials: true, + })) + queryGroup := app.Group("/query", fibers.Tags("Query")) + queryGroup.Get("/list", queryList) + queryGroup.Get("/:id", queryPath) + queryGroup.Delete("", query) + + app.Get("/noModel", noModel) + + formGroup := app.Group("/form", fibers.Tags("Form"), fibers.Security(&security.Bearer{})) + formGroup.Post("/encoded", formEncode) + formGroup.Put("", body) + formGroup.Post("/file", file) + + log.Fatal(app.Listen(":8080")) +} +``` + +That's all! Now you can visit or to see the api docs. Have +fun! + +### Disable Docs + +In some cases you may want to disable docs such as in production, just put `nil` to `fibers.New`. + +```go +app = fibers.New(nil, fiber.Config{}) +``` + +### SubAPP Mount + +If you want to use sub application, you can mount another `SwaGin` instance to main application, and their swagger docs +is also separate. + +```go +package main + +import "github.com/gofiber/fiber/v2" + +func main() { + app := fibers.New(NewSwagger(), fiber.Config{}) + subApp := fibers.New(NewSwagger(), fiber.Config{}) + subApp.Get("/noModel", noModel) + app.Mount("/sub", subApp) +} + +``` + +## ThanksTo + +- [kin-openapi](https://github.com/getkin/kin-openapi), OpenAPI 3.0 implementation for Go (parsing, converting, + validation, and more). +- [Fiber](https://github.com/gofiber/fiber), Express inspired web framework written in Go. + +## License + +This project is licensed under the +[Apache-2.0](https://git.ma-al.com/goc_marek/fiber_docs/blob/master/LICENSE) +License. diff --git a/constants/bindings.go b/constants/bindings.go new file mode 100644 index 0000000..83f5459 --- /dev/null +++ b/constants/bindings.go @@ -0,0 +1,10 @@ +package constants + +const ( + QUERY = "query" + FORM = "form" + URI = "uri" + HEADER = "header" + COOKIE = "cookie" + JSON = "json" +) diff --git a/constants/tags.go b/constants/tags.go new file mode 100644 index 0000000..2d33bda --- /dev/null +++ b/constants/tags.go @@ -0,0 +1,9 @@ +package constants + +const ( + DEFAULT = "default" + VALIDATE = "validate" + DESCRIPTION = "description" + EMBED = "embed" + EXAMPLE = "example" +) diff --git a/examples/api.go b/examples/api.go new file mode 100644 index 0000000..a203f2a --- /dev/null +++ b/examples/api.go @@ -0,0 +1,86 @@ +package main + +import ( + "fmt" + "mime/multipart" + + "github.com/google/uuid" + + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/gofiber/fiber/v2" +) + +type TokenHeader struct { + Token string `header:"token" validate:"required" json:"token" example:"test"` +} +type TestQueryReq struct { + TokenHeader ` embed:""` + Name string ` query:"name" validate:"required" json:"name" description:"name of model" example:"test"` + Enum string ` query:"enum" validate:"required,oneof=1 2" json:"enum" description:"enum of model" example:"1"` + Optional string ` query:"optional" json:"optional"` +} + +func TestQuery(c *fiber.Ctx, req TestQueryReq) error { + user := c.Locals(security.Credentials).(security.User) + fmt.Println(user) + return c.JSON(req) +} + +type TestQueryListReq struct { + TokenHeader ` embed:""` + Name string ` query:"name" validate:"required" json:"name" description:"name of model" example:"test"` +} + +func TestQueryList(c *fiber.Ctx, req TestQueryListReq) error { + user := c.Locals(security.Credentials).(security.User) + fmt.Println(user) + return c.JSON([]TestQueryListReq{req}) +} + +type TestQueryPathReq struct { + Name string `query:"name" validate:"required" json:"name" description:"name of model" example:"test"` + ID int ` validate:"required" json:"id" description:"id of model" example:"1" uri:"id"` + UUID uuid.UUID `query:"uuid" validate:"required" json:"uuid" description:"uuid of model"` + Token string ` validate:"required" json:"token" example:"test" header:"token"` + Num *int `query:"num" json:"num" example:"1"` +} + +func TestQueryPath(c *fiber.Ctx, req TestQueryPathReq) error { + return c.JSON(req) +} + +type TestFormReq struct { + ID int `query:"id" validate:"required" json:"id" description:"id of model" example:"1"` + Name string ` validate:"required" json:"name" description:"name of model" example:"test" form:"name"` + List []int ` validate:"required" json:"list" description:"list of model" form:"list"` + Enum string ` validate:"required,oneof=1 2" json:"enum" description:"enum of model" example:"1" form:"enum"` +} + +func TestForm(c *fiber.Ctx, req TestFormReq) error { + fmt.Println(req) + return c.JSON(req) +} + +type TestJsonReq struct { + ID int `query:"id" validate:"required" json:"id" description:"id of model" example:"1"` + Name string ` validate:"required" json:"name" description:"name of model" example:"test"` + List []int ` validate:"required" json:"list" description:"list of model"` + Enum string ` validate:"required,oneof=1 2" json:"enum" description:"enum of model" example:"1"` +} + +func TestJson(c *fiber.Ctx, req TestJsonReq) error { + return c.JSON(req) +} + +func TestNoModel(c *fiber.Ctx) error { + return c.SendString("no model") +} + +type TestFileReq struct { + File *multipart.FileHeader `form:"file" validate:"required" description:"file upload"` +} + +func TestFile(c *fiber.Ctx, req TestFileReq) error { + fmt.Println(fiber.Map{"file": req.File.Filename}) + return c.JSON(fiber.Map{"file": req.File.Filename}) +} diff --git a/examples/main.go b/examples/main.go new file mode 100644 index 0000000..91739f8 --- /dev/null +++ b/examples/main.go @@ -0,0 +1,53 @@ +package main + +import ( + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/go-playground/validator/v10" + "github.com/gofiber/fiber/v2" + log "github.com/sirupsen/logrus" + + fibers "git.ma-al.com/goc_marek/fiber_docs" + "github.com/gofiber/fiber/v2/middleware/cors" + "github.com/gofiber/fiber/v2/middleware/logger" + "github.com/gofiber/fiber/v2/middleware/recover" +) + +func main() { + app := fibers.New(NewSwagger(), fiber.Config{ErrorHandler: func(c *fiber.Ctx, err error) error { + code := fiber.StatusInternalServerError + if e, ok := err.(*fiber.Error); ok { + code = e.Code + } + if _, ok := err.(validator.ValidationErrors); ok { + code = fiber.StatusBadRequest + } + err = c.Status(code).JSON(fiber.Map{ + "error": err.Error(), + }) + if err != nil { + return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") + } + return nil + }}) + app.Use( + logger.New(), + recover.New(), + cors.New(), + ) + subApp := fibers.New(NewSwagger(), fiber.Config{}) + subApp.Get("/noModel", noModel) + app.Mount("/sub", subApp) + queryGroup := app.Group("/query", fibers.Tags("Query")) + queryGroup.Get("/list", queryList) + queryGroup.Get("/:id", queryPath) + queryGroup.Delete("", query) + + app.Get("/noModel", noModel) + + bodyGroup := app.Group("/body", fibers.Tags("Body"), fibers.Security(&security.Bearer{})) + bodyGroup.Post("/encoded", formEncode) + bodyGroup.Post("/file", file) + bodyGroup.Post("/json", body) + + log.Fatal(app.Listen("0.0.0.0:8080")) +} diff --git a/examples/routers.go b/examples/routers.go new file mode 100644 index 0000000..e8c4c0d --- /dev/null +++ b/examples/routers.go @@ -0,0 +1,74 @@ +package main + +import ( + "git.ma-al.com/goc_marek/fiber_docs/router" + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/gofiber/fiber/v2" +) + +var ( + query = router.New( + TestQuery, + router.Summary("Test query"), + router.Description("Test query model"), + router.Security(&security.Basic{}), + router.Responses(router.Response{ + "200": router.ResponseItem{ + Model: TestQueryReq{}, + Description: "response model description", + }, + }), + ) + + queryList = router.New( + TestQueryList, + router.Summary("Test query list"), + router.Description("Test query list model"), + router.Security(&security.Basic{}), + router.Responses(router.Response{ + "200": router.ResponseItem{ + Model: []TestQueryListReq{}, + }, + }), + ) + noModel = router.NewX( + TestNoModel, + router.Summary("Test no model"), + router.Description("Test no model"), + router.Responses(router.Response{ + "200": router.ResponseItem{ + Description: "success", + }, + }), + ) + queryPath = router.New( + TestQueryPath, + router.Summary("Test query path"), + router.Description("Test query path model"), + router.Responses(router.Response{ + "200": router.ResponseItem{ + Description: "success", + Model: TestQueryPathReq{}, + }, + }), + ) + formEncode = router.New( + TestForm, + router.Summary("Test form"), + router.ContentType(fiber.MIMEApplicationForm, router.ContentTypeRequest), + ) + body = router.New( + TestJson, + router.Summary("Test json body"), + router.Responses(router.Response{ + "200": router.ResponseItem{ + Model: TestFormReq{}, + }, + }), + ) + file = router.New( + TestFile, + router.Summary("Test file upload"), + router.ContentType(fiber.MIMEApplicationForm, router.ContentTypeRequest), + ) +) diff --git a/examples/swagger.go b/examples/swagger.go new file mode 100644 index 0000000..348314e --- /dev/null +++ b/examples/swagger.go @@ -0,0 +1,21 @@ +package main + +import ( + "git.ma-al.com/goc_marek/fiber_docs/swagger" + "github.com/getkin/kin-openapi/openapi3" +) + +func NewSwagger() *swagger.Swagger { + return swagger.New("Fibers", "Swagger + Fiber = Fibers", "0.1.0", + swagger.License(&openapi3.License{ + Name: "Apache License 2.0", + URL: "https://git.ma-al.com/goc_marek/fiber_docs/blob/dev/LICENSE", + }), + swagger.Contact(&openapi3.Contact{ + Name: "long2ice", + URL: "https://git.ma-al.com/goc_marek/fiber_docs", + Email: "long2ice@gmail.com", + }), + swagger.TermsOfService("https://github.com/long2ice"), + ) +} diff --git a/fibers.go b/fibers.go new file mode 100644 index 0000000..426cf2d --- /dev/null +++ b/fibers.go @@ -0,0 +1,194 @@ +package fibers + +import ( + "embed" + "encoding/json" + "net/http" + + log "github.com/sirupsen/logrus" + + "git.ma-al.com/goc_marek/fiber_docs/router" + "git.ma-al.com/goc_marek/fiber_docs/swagger" + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" + "github.com/gofiber/template/html" +) + +//go:embed templates/* +var templates embed.FS + +type App struct { + *fiber.App + Swagger *swagger.Swagger + Routers map[string]map[string]*router.Router + subApps map[string]*App + rootPath string + beforeInitFunc func() + afterInitFunc func() +} + +func New(swagger *swagger.Swagger, config fiber.Config) *App { + engine := html.NewFileSystem(http.FS(templates), ".html") + config.Views = engine + f := &App{ + App: fiber.New(config), + Swagger: swagger, + Routers: make(map[string]map[string]*router.Router), + subApps: make(map[string]*App), + } + if swagger != nil { + swagger.Routers = f.Routers + } + return f +} + +func (g *App) Mount(path string, app *App) { + app.rootPath = path + app.App = g.App + app.Swagger.Servers = append(app.Swagger.Servers, &openapi3.Server{ + URL: path, + }) + g.subApps[path] = app +} + +func (g *App) Group(path string, options ...Option) *Group { + group := &Group{ + App: g, + Path: path, + } + for _, option := range options { + option(group) + } + return group +} + +func (g *App) Handle(path string, method string, r *router.Router) { + r.Method = method + r.Path = path + if g.Routers[path] == nil { + g.Routers[path] = make(map[string]*router.Router) + } + g.Routers[path][method] = r +} + +func (g *App) Get(path string, router *router.Router) { + g.Handle(path, fiber.MethodGet, router) +} + +func (g *App) Post(path string, router *router.Router) { + g.Handle(path, fiber.MethodPost, router) +} + +func (g *App) Head(path string, router *router.Router) { + g.Handle(path, fiber.MethodHead, router) +} + +func (g *App) Patch(path string, router *router.Router) { + g.Handle(path, fiber.MethodPatch, router) +} + +func (g *App) Delete(path string, router *router.Router) { + g.Handle(path, fiber.MethodDelete, router) +} + +func (g *App) Put(path string, router *router.Router) { + g.Handle(path, fiber.MethodPut, router) +} + +func (g *App) Options(path string, router *router.Router) { + g.Handle(path, fiber.MethodOptions, router) +} + +func (g *App) init() { + if g.Swagger == nil { + return + } + g.App.Get(g.fullPath(g.Swagger.OpenAPIUrl), func(c *fiber.Ctx) error { + return c.JSON(g.Swagger) + }) + g.App.Get(g.fullPath(g.Swagger.DocsUrl), func(c *fiber.Ctx) error { + options := `{}` + if g.Swagger.SwaggerOptions != nil { + data, err := json.Marshal(g.Swagger.SwaggerOptions) + if err != nil { + log.Panic(err) + } + options = string(data) + } + return c.Render("templates/swagger", fiber.Map{ + "openapi_url": g.fullPath(g.Swagger.OpenAPIUrl), + "title": g.Swagger.Title, + "swagger_options": options, + }) + }) + g.App.Get(g.fullPath(g.Swagger.RedocUrl), func(c *fiber.Ctx) error { + options := `{}` + if g.Swagger.RedocOptions != nil { + data, err := json.Marshal(g.Swagger.RedocOptions) + if err != nil { + log.Panic(err) + } + options = string(data) + } + return c.Render("templates/redoc", fiber.Map{ + "openapi_url": g.fullPath(g.Swagger.OpenAPIUrl), + "title": g.Swagger.Title, + "redoc_options": options, + }) + }) + g.initRouters() + g.Swagger.BuildOpenAPI() +} + +func (g *App) initRouters() { + for path, m := range g.Routers { + path = g.fullPath(path) + for method, r := range m { + handlers := r.GetHandlers() + if method == fiber.MethodGet { + g.App.Get(path, handlers...) + } else if method == fiber.MethodPost { + g.App.Post(path, handlers...) + } else if method == fiber.MethodHead { + g.App.Head(path, handlers...) + } else if method == fiber.MethodPatch { + g.App.Patch(path, handlers...) + } else if method == fiber.MethodDelete { + g.App.Delete(path, handlers...) + } else if method == fiber.MethodPut { + g.App.Put(path, handlers...) + } else if method == fiber.MethodOptions { + g.App.Options(path, handlers...) + } else { + g.App.All(path, handlers...) + } + } + } +} + +func (g *App) fullPath(path string) string { + return g.rootPath + path +} + +func (g *App) Init() { + g.init() + for _, s := range g.subApps { + s.init() + } +} +func (g *App) BeforeInit(f func()) { + g.beforeInitFunc = f +} +func (g *App) AfterInit(f func()) { + g.afterInitFunc = f +} +func (g *App) Listen(addr string) error { + if g.beforeInitFunc != nil { + g.beforeInitFunc() + } + g.Init() + if g.afterInitFunc != nil { + g.afterInitFunc() + } + return g.App.Listen(addr) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..9c48b3b --- /dev/null +++ b/go.mod @@ -0,0 +1,46 @@ +module git.ma-al.com/goc_marek/fiber_docs + +go 1.18 + +require ( + github.com/fatih/structtag v1.2.0 + github.com/getkin/kin-openapi v0.115.0 + github.com/go-playground/validator/v10 v10.12.0 + github.com/gofiber/fiber/v2 v2.43.0 + github.com/gofiber/template v1.8.0 + github.com/google/uuid v1.3.0 + github.com/jinzhu/copier v0.3.5 + github.com/mcuadros/go-defaults v1.2.0 + github.com/sirupsen/logrus v1.9.0 +) + +require ( + github.com/andybalholm/brotli v1.0.5 // indirect + github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/invopop/yaml v0.2.0 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/klauspost/compress v1.16.4 // indirect + github.com/leodido/go-urn v1.2.3 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/perimeterx/marshmallow v1.1.4 // indirect + github.com/philhofer/fwd v1.1.2 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/savsgio/dictpool v0.0.0-20221023140959-7bf2e61cea94 // indirect + github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee // indirect + github.com/tinylib/msgp v1.1.8 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.45.0 // indirect + github.com/valyala/tcplisten v1.0.0 // indirect + golang.org/x/crypto v0.8.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..010bf11 --- /dev/null +++ b/go.sum @@ -0,0 +1,985 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet/v6 v6.1.0/go.mod h1:d3ypHeIRNo2+XyqnGA8s+aphtcVpjP5hPwP/Lzo7Ro4= +github.com/CloudyKit/jet/v6 v6.2.0/go.mod h1:d3ypHeIRNo2+XyqnGA8s+aphtcVpjP5hPwP/Lzo7Ro4= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Joker/jade v1.1.3/go.mod h1:T+2WLyt7VH6Lp0TRxQrUYEs64nRc83wkMQrfeIQKduM= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= +github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aymerick/raymond v2.0.2+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/cbroglie/mustache v1.3.1/go.mod h1:SS1FTIghy0sjse4DUVGV1k/40B1qE1XkD9DtDsHo9iM= +github.com/cbroglie/mustache v1.4.0/go.mod h1:SS1FTIghy0sjse4DUVGV1k/40B1qE1XkD9DtDsHo9iM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/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/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/getkin/kin-openapi v0.97.0 h1:bsvXZeuGiCW43ZKy6xOY5qfT5fCRYmnJwierblSrHCU= +github.com/getkin/kin-openapi v0.97.0/go.mod h1:w4lRPHiyOdwGbOkLIyk+P0qCwlu7TXPCHD/64nSXzgE= +github.com/getkin/kin-openapi v0.114.0 h1:ar7QiJpDdlR+zSyPjrLf8mNnpoFP/lI90XcywMCFNe8= +github.com/getkin/kin-openapi v0.114.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= +github.com/getkin/kin-openapi v0.115.0 h1:c8WHRLVY3G8m9jQTy0/DnIuljgRwTCB5twZytQS4JyU= +github.com/getkin/kin-openapi v0.115.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.11.0 h1:0W+xRM511GY47Yy3bZUbJVitCNg2BOGlCyvTqsp/xIw= +github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-playground/validator/v10 v10.11.2 h1:q3SHpufmypg+erIExEKUmsgmhDTyhcJ38oeKGACXohU= +github.com/go-playground/validator/v10 v10.11.2/go.mod h1:NieE624vt4SCTJtD87arVLvdmjPAeV8BQlHtMnw9D7s= +github.com/go-playground/validator/v10 v10.12.0 h1:E4gtWgxWxp8YSxExrQFv5BpCahla0PVF2oTTEYaWQGI= +github.com/go-playground/validator/v10 v10.12.0/go.mod h1:hCAPuzYvKdP33pxWa+2+6AIKXEKqjIUyqsNCtbsSJrA= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofiber/fiber/v2 v2.34.0/go.mod h1:ozRQfS+D7EL1+hMH+gutku0kfx1wLX4hAxDCtDzpj4U= +github.com/gofiber/fiber/v2 v2.34.1 h1:C6saXB7385HvtXX+XMzc5Dqj5S/aEXOfKCW7JNep4rA= +github.com/gofiber/fiber/v2 v2.34.1/go.mod h1:ozRQfS+D7EL1+hMH+gutku0kfx1wLX4hAxDCtDzpj4U= +github.com/gofiber/fiber/v2 v2.42.0 h1:Fnp7ybWvS+sjNQsFvkhf4G8OhXswvB6Vee8hM/LyS+8= +github.com/gofiber/fiber/v2 v2.42.0/go.mod h1:3+SGNjqMh5VQH5Vz2Wdi43zTIV16ktlFd3x3R6O1Zlc= +github.com/gofiber/fiber/v2 v2.43.0 h1:yit3E4kHf178B60p5CQBa/3v+WVuziWMa/G2ZNyLJB0= +github.com/gofiber/fiber/v2 v2.43.0/go.mod h1:mpS1ZNE5jU+u+BA4FbM+KKnUzJ4wzTK+FT2tG3tU+6I= +github.com/gofiber/template v1.6.28 h1:G7u+MZDkGeWGmQyfOvFm71dzWRLu5YyMwyxHQnGRZao= +github.com/gofiber/template v1.6.28/go.mod h1:nD+Fds2sa7AnXSkDHK+i0ROa+Q8NwW6b9+w4rCHqc1k= +github.com/gofiber/template v1.7.5 h1:6Yk/lot2RudQp9u+bmIJqFg7kOaFPQ7+LgDE9drYSp8= +github.com/gofiber/template v1.7.5/go.mod h1:cBctw0IkZxBrY5NWKZVSa/dOuYzNbu+sJrzX4c7Qxmc= +github.com/gofiber/template v1.8.0 h1:jOn9RhxYO7rHTHGLNRpYfDoVm8b5GH/dtl15ZT5NifE= +github.com/gofiber/template v1.8.0/go.mod h1:jf2w+ioGUS5swf5C/VK+FyE+DI19uz+vXHCX/TIAxIk= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +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/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +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.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/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.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/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/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +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/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= +github.com/invopop/yaml v0.2.0 h1:7zky/qH+O0DwAyoobXUqvVBwgBFRxKoQ/3FjcVpjTMY= +github.com/invopop/yaml v0.2.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.6 h1:6D9PcO8QWu0JyaQ2zUMmu16T1T+zjjEpP91guRsvDfY= +github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= +github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= +github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU= +github.com/klauspost/compress v1.16.4/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leodido/go-urn v1.2.3 h1:6BE2vPT0lqoz3fmOesHZiaiFh7889ssCo2GMvLCfiuA= +github.com/leodido/go-urn v1.2.3/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-slim v0.0.0-20200618151855-bde33eecb5ee/go.mod h1:ma9TUJeni8LGZMJvOwbAv/FOwiwqIMQN570LnpqCBSM= +github.com/mattn/go-slim v0.0.4/go.mod h1:kXIwPrQbAZrhungtweoDO6qQQpUem6XkBg/mXykpoO0= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mcuadros/go-defaults v1.2.0 h1:FODb8WSf0uGaY8elWJAkoLL0Ri6AlZ1bFlenk56oZtc= +github.com/mcuadros/go-defaults v1.2.0/go.mod h1:WEZtHEVIGYVDqkKSWBdWKUVdRyKlMfulPaGDWIVeCWY= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/perimeterx/marshmallow v1.1.4 h1:pZLDH9RjlLGGorbXhcaQLhfuV0pFMNfPO55FuFkxqLw= +github.com/perimeterx/marshmallow v1.1.4/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= +github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= +github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= +github.com/savsgio/dictpool v0.0.0-20221023140959-7bf2e61cea94 h1:rmMl4fXJhKMNWl+K+r/fq4FbbKI+Ia2m9hYBLm2h4G4= +github.com/savsgio/dictpool v0.0.0-20221023140959-7bf2e61cea94/go.mod h1:90zrgN3D/WJsDd1iXHT96alCoN2KJo6/4x1DZC3wZs8= +github.com/savsgio/gotils v0.0.0-20220530130905-52f3993e8d6d/go.mod h1:Gy+0tqhJvgGlqnTF8CVGP0AaGRjwBtXs/a5PA0Y3+A4= +github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee h1:8Iv5m6xEo1NR1AvpV+7XmhI4r39LGNzwUL4YpMuL5vk= +github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee/go.mod h1:qwtSXrKuJh/zsFQ12yEE89xfCrGKK63Rr7ctU/uCo4g= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw= +github.com/tinylib/msgp v1.1.8 h1:FCXC1xanKO4I8plpHGH2P7koL/RzZs12l/+r7vakfm0= +github.com/tinylib/msgp v1.1.8/go.mod h1:qkpG+2ldGg4xRFmx+jfTvZPxfGFhi64BcnL9vkCm/Tw= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.37.0/go.mod h1:t/G+3rLek+CyY9bnIE+YlMRddxVAAGjhxndDB4i4C0I= +github.com/valyala/fasthttp v1.38.0 h1:yTjSSNjuDi2PPvXY2836bIwLmiTS2T4T9p1coQshpco= +github.com/valyala/fasthttp v1.38.0/go.mod h1:t/G+3rLek+CyY9bnIE+YlMRddxVAAGjhxndDB4i4C0I= +github.com/valyala/fasthttp v1.44.0 h1:R+gLUhldIsfg1HokMuQjdQ5bh9nuXHPIfvkYUu9eR5Q= +github.com/valyala/fasthttp v1.44.0/go.mod h1:f6VbjjoI3z1NDOZOv17o6RvtRSWxC77seBFc2uWtgiY= +github.com/valyala/fasthttp v1.45.0 h1:zPkkzpIn8tdHZUrVa6PzYd0i5verqiPSkgTd3bSUcpA= +github.com/valyala/fasthttp v1.45.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= +github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/yosssi/ace v0.0.5/go.mod h1:ALfIzm2vT7t5ZE7uoIZqF3TQ7SAOyupFZnkrF5id+K0= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc= +golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/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-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/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-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220906165146-f3363e06e74c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/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-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/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-20220227234510-4e6760a101f9/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-20220627191245-f75cf1eec38b h1:2n253B2r0pYSmEV+UNCQoPfU/FiaizQEK5Gu4Bq4JE8= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.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.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/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.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +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.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.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.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +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.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/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 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +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-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/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-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/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.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/group.go b/group.go new file mode 100644 index 0000000..6dabb83 --- /dev/null +++ b/group.go @@ -0,0 +1,93 @@ +package fibers + +import ( + "net/http" + + "git.ma-al.com/goc_marek/fiber_docs/router" + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/gofiber/fiber/v2" +) + +type Group struct { + *App + Path string + Tags []string + Handlers []fiber.Handler + Securities []security.ISecurity +} +type Option func(*Group) + +func Handlers(handlers ...fiber.Handler) Option { + return func(g *Group) { + for _, handler := range handlers { + g.Handlers = append(g.Handlers, handler) + } + } +} + +func Tags(tags ...string) Option { + return func(g *Group) { + if g.Tags == nil { + g.Tags = tags + } else { + g.Tags = append(g.Tags, tags...) + } + } +} + +func Security(securities ...security.ISecurity) Option { + return func(g *Group) { + for _, s := range securities { + g.Securities = append(g.Securities, s) + } + } +} + +func (g *Group) Handle(path string, method string, r *router.Router) { + router.Handlers(g.Handlers...)(r) + router.Tags(g.Tags...)(r) + router.Security(g.Securities...)(r) + g.App.Handle(g.Path+path, method, r) +} + +func (g *Group) Get(path string, router *router.Router) { + g.Handle(path, http.MethodGet, router) +} + +func (g *Group) Post(path string, router *router.Router) { + g.Handle(path, http.MethodPost, router) +} + +func (g *Group) Head(path string, router *router.Router) { + g.Handle(path, http.MethodHead, router) +} + +func (g *Group) Patch(path string, router *router.Router) { + g.Handle(path, http.MethodPatch, router) +} + +func (g *Group) Delete(path string, router *router.Router) { + g.Handle(path, http.MethodDelete, router) +} + +func (g *Group) Put(path string, router *router.Router) { + g.Handle(path, http.MethodPut, router) +} + +func (g *Group) Options(path string, router *router.Router) { + g.Handle(path, http.MethodOptions, router) +} + +func (g *Group) Group(path string, options ...Option) *Group { + group := &Group{ + App: g.App, + Path: g.Path + path, + Tags: g.Tags, + Handlers: g.Handlers, + Securities: g.Securities, + } + for _, option := range options { + option(group) + } + return group +} diff --git a/images/docs.png b/images/docs.png new file mode 100644 index 0000000000000000000000000000000000000000..9a58a03737833440702400f61c316dc33369cff0 GIT binary patch literal 243208 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

94+-_<&@kjEw<5GbV|2ebU>+ZSs)AID+(!2 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

-DZ?9Q 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'?jF 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%0AnK&l>axTnfvFC$8F6$c||`DD+y@ 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 literal 0 HcmV?d00001 diff --git a/router/enums.go b/router/enums.go new file mode 100644 index 0000000..14df880 --- /dev/null +++ b/router/enums.go @@ -0,0 +1,8 @@ +package router + +type ContentTypeType string + +var ( + ContentTypeRequest ContentTypeType = "request" + ContentTypeResponse ContentTypeType = "response" +) diff --git a/router/options.go b/router/options.go new file mode 100644 index 0000000..dc86ce6 --- /dev/null +++ b/router/options.go @@ -0,0 +1,83 @@ +package router + +import ( + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/gofiber/fiber/v2" +) + +type Option func(router *Router) + +func Security(securities ...security.ISecurity) Option { + return func(router *Router) { + for _, s := range securities { + router.Securities = append(router.Securities, s) + } + } +} + +func Responses(response Response) Option { + return func(router *Router) { + router.Response = response + } +} + +func Handlers(handlers ...fiber.Handler) Option { + return func(router *Router) { + for _, handler := range handlers { + router.Handlers.PushBack(handler) + } + } +} + +func Tags(tags ...string) Option { + return func(router *Router) { + if router.Tags == nil { + router.Tags = tags + } else { + router.Tags = append(router.Tags, tags...) + } + } +} + +func Summary(summary string) Option { + return func(router *Router) { + router.Summary = summary + } +} + +func Description(description string) Option { + return func(router *Router) { + router.Description = description + } +} + +// Deprecated mark api is deprecated +func Deprecated() Option { + return func(router *Router) { + router.Deprecated = true + } +} + +func OperationID(ID string) Option { + return func(router *Router) { + router.OperationID = ID + } +} + +// Exclude exclude in docs +func Exclude() Option { + return func(router *Router) { + router.Exclude = true + } +} + +// ContentType Set request contentType +func ContentType(contentType string, contentTypeType ContentTypeType) Option { + return func(router *Router) { + if contentTypeType == ContentTypeRequest { + router.RequestContentType = contentType + } else { + router.ResponseContentType = contentType + } + } +} diff --git a/router/parser.go b/router/parser.go new file mode 100644 index 0000000..1388d06 --- /dev/null +++ b/router/parser.go @@ -0,0 +1,67 @@ +package router + +import ( + "reflect" + "strings" + _ "unsafe" + + "git.ma-al.com/goc_marek/fiber_docs/constants" + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/utils" +) + +//go:linkname decoderBuilder github.com/gofiber/fiber/v2.decoderBuilder +func decoderBuilder(parserConfig fiber.ParserConfig) interface{} + +//go:linkname equalFieldType github.com/gofiber/fiber/v2.equalFieldType +func equalFieldType(out interface{}, kind reflect.Kind, key string) bool + +func ParseToStruct(aliasTag string, out interface{}, data map[string][]string) error { + decoder := decoderBuilder(fiber.ParserConfig{ + SetAliasTag: aliasTag, + IgnoreUnknownKeys: true, + }) + result := reflect.ValueOf(decoder). + MethodByName("Decode"). + Call([]reflect.Value{reflect.ValueOf(out), reflect.ValueOf(data)}) + switch result[0].Interface().(type) { + case error: + return result[0].Interface().(error) + case nil: + return nil + } + return nil +} + +func HeaderParser(c *fiber.Ctx, model interface{}) error { + headerData := make(map[string][]string) + c.Request().Header.VisitAll(func(key, val []byte) { + k := utils.UnsafeString(key) + v := utils.UnsafeString(val) + if strings.Contains(v, ",") && equalFieldType(model, reflect.Slice, k) { + values := strings.Split(v, ",") + for i := 0; i < len(values); i++ { + headerData[k] = append(headerData[k], values[i]) + } + } else { + headerData[k] = append(headerData[k], v) + } + }) + return ParseToStruct(constants.HEADER, model, headerData) +} + +func ParamsParser(c *fiber.Ctx, model interface{}) error { + params := make(map[string][]string) + for _, param := range c.Route().Params { + params[param] = append(params[param], c.Params(param)) + } + return ParseToStruct(constants.URI, model, params) +} + +func CookiesParser(c *fiber.Ctx, model interface{}) error { + params := make(map[string][]string) + c.Request().Header.VisitAllCookie(func(key, value []byte) { + params[string(key)] = append(params[string(key)], string(value)) + }) + return ParseToStruct(constants.COOKIE, model, params) +} diff --git a/router/responses.go b/router/responses.go new file mode 100644 index 0000000..c075e33 --- /dev/null +++ b/router/responses.go @@ -0,0 +1,11 @@ +package router + +import "github.com/getkin/kin-openapi/openapi3" + +type Response map[string]ResponseItem + +type ResponseItem struct { + Description string + Model interface{} + Headers openapi3.Headers +} diff --git a/router/router.go b/router/router.go new file mode 100644 index 0000000..0245e28 --- /dev/null +++ b/router/router.go @@ -0,0 +1,160 @@ +package router + +import ( + "container/list" + "reflect" + + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/go-playground/validator/v10" + "github.com/gofiber/fiber/v2" + "github.com/jinzhu/copier" + "github.com/mcuadros/go-defaults" +) + +type Model any + +type Router struct { + Handlers *list.List + Path string + Method string + Summary string + Description string + Deprecated bool + RequestContentType string + ResponseContentType string + Tags []string + API fiber.Handler + Model Model + OperationID string + Exclude bool + Securities []security.ISecurity + Response Response +} + +var validate = validator.New() + +func BindModel(req interface{}) fiber.Handler { + return func(c *fiber.Ctx) error { + model := reflect.New(reflect.TypeOf(req).Elem()).Interface() + if err := HeaderParser(c, model); err != nil { + return err + } + if err := CookiesParser(c, model); err != nil { + return err + } + if err := c.QueryParser(model); err != nil { + return err + } + if c.Method() == fiber.MethodPost || c.Method() == fiber.MethodPut { + if err := c.BodyParser(model); err != nil { + return err + } + } + if err := ParamsParser(c, model); err != nil { + return err + } + defaults.SetDefaults(model) + if err := validate.Struct(model); err != nil { + return err + } + if err := copier.Copy(req, model); err != nil { + return err + } + return c.Next() + } +} + +func (router *Router) GetHandlers() []fiber.Handler { + var handlers []fiber.Handler + for _, s := range router.Securities { + handlers = append(handlers, s.Authorize) + } + for h := router.Handlers.Front(); h != nil; h = h.Next() { + if f, ok := h.Value.(fiber.Handler); ok { + handlers = append(handlers, f) + } + } + handlers = append(handlers, router.API) + return handlers +} +func NewX(f fiber.Handler, options ...Option) *Router { + r := &Router{ + Handlers: list.New(), + Response: make(Response), + API: func(ctx *fiber.Ctx) error { + return f(ctx) + }, + } + for _, option := range options { + option(r) + } + return r +} +func New[T Model, F func(c *fiber.Ctx, req T) error](f F, options ...Option) *Router { + var model T + h := BindModel(&model) + r := &Router{ + Handlers: list.New(), + Response: make(Response), + API: func(ctx *fiber.Ctx) error { + return f(ctx, model) + }, + Model: model, + } + for _, option := range options { + option(r) + } + + r.Handlers.PushBack(h) + return r +} + +func (router *Router) WithSecurity(securities ...security.ISecurity) *Router { + Security(securities...)(router) + return router +} + +func (router *Router) WithResponses(response Response) *Router { + Responses(response)(router) + return router +} + +func (router *Router) WithHandlers(handlers ...fiber.Handler) *Router { + Handlers(handlers...)(router) + return router +} + +func (router *Router) WithTags(tags ...string) *Router { + Tags(tags...)(router) + return router +} + +func (router *Router) WithSummary(summary string) *Router { + Summary(summary)(router) + return router +} + +func (router *Router) WithDescription(description string) *Router { + Description(description)(router) + return router +} + +func (router *Router) WithDeprecated() *Router { + Deprecated()(router) + return router +} + +func (router *Router) WithOperationID(ID string) *Router { + OperationID(ID)(router) + return router +} + +func (router *Router) WithExclude() *Router { + Exclude()(router) + return router +} + +func (router *Router) WithContentType(contentType string, contentTypeType ContentTypeType) *Router { + ContentType(contentType, contentTypeType)(router) + return router +} diff --git a/security/apikey.go b/security/apikey.go new file mode 100644 index 0000000..9c330c7 --- /dev/null +++ b/security/apikey.go @@ -0,0 +1,33 @@ +package security + +import ( + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type ApiKey struct { + Security + Name string +} + +func (k *ApiKey) Authorize(c *fiber.Ctx) error { + auth := c.Get(k.Name) + if auth == "" { + return fiber.NewError(fiber.StatusUnauthorized, "empty apikey") + } else { + k.Callback(c, auth) + } + return c.Next() +} + +func (k *ApiKey) Provider() AuthType { + return ApiKeyAuth +} + +func (k *ApiKey) Scheme() *openapi3.SecurityScheme { + return &openapi3.SecurityScheme{ + Type: "http", + In: "header", + Name: k.Name, + } +} diff --git a/security/basic.go b/security/basic.go new file mode 100644 index 0000000..fcfddc9 --- /dev/null +++ b/security/basic.go @@ -0,0 +1,62 @@ +package security + +import ( + "encoding/base64" + "strings" + + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type Basic struct { + Security +} + +type User struct { + Username string + Password string +} + +func decode(s string) ([]byte, error) { + return base64.StdEncoding.DecodeString(s) +} + +func (b *Basic) parseBasicAuth(c *fiber.Ctx) (User, error) { + var user User + auth := c.Get(fiber.HeaderAuthorization) + if auth == "" { + return user, fiber.NewError(fiber.StatusUnauthorized, "authorization header is missing") + } + if !strings.HasPrefix(strings.ToLower(auth), "basic ") { + return user, fiber.NewError(fiber.StatusUnauthorized, "authorization header is not basic") + } + raw, err := decode(auth[6:]) + if err != nil { + return user, fiber.ErrUnauthorized + } + credentials := strings.Split(string(raw), ":") + user.Username = credentials[0] + user.Password = credentials[1] + return user, nil +} + +func (b *Basic) Authorize(c *fiber.Ctx) error { + user, err := b.parseBasicAuth(c) + if err != nil { + return err + } else { + b.Callback(c, user) + } + return c.Next() +} + +func (b *Basic) Provider() AuthType { + return BasicAuth +} + +func (b *Basic) Scheme() *openapi3.SecurityScheme { + return &openapi3.SecurityScheme{ + Type: "http", + Scheme: "basic", + } +} diff --git a/security/bearer.go b/security/bearer.go new file mode 100644 index 0000000..ab5df87 --- /dev/null +++ b/security/bearer.go @@ -0,0 +1,39 @@ +package security + +import ( + "strings" + + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type Bearer struct { + Security +} + +func (b *Bearer) Authorize(c *fiber.Ctx) error { + auth := c.Get(fiber.HeaderAuthorization) + if auth == "" { + return fiber.NewError(fiber.StatusUnauthorized, "empty authentication") + } else { + splits := strings.Split(auth, "Bearer ") + if len(splits) != 2 { + return fiber.NewError(fiber.StatusUnauthorized, "invalid authentication string") + } else { + b.Callback(c, splits[1]) + } + return c.Next() + } +} + +func (b *Bearer) Provider() AuthType { + return BearerAuth +} + +func (b *Bearer) Scheme() *openapi3.SecurityScheme { + return &openapi3.SecurityScheme{ + Type: "http", + Scheme: "bearer", + BearerFormat: "JWT", + } +} diff --git a/security/cookie.go b/security/cookie.go new file mode 100644 index 0000000..10c8edf --- /dev/null +++ b/security/cookie.go @@ -0,0 +1,33 @@ +package security + +import ( + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type Cookie struct { + Security + Name string +} + +func (k *Cookie) Authorize(c *fiber.Ctx) error { + cookie := c.Cookies(k.Name) + if cookie == "" { + return fiber.NewError(fiber.StatusUnauthorized, "empty cookie: "+k.Name) + } else { + k.Callback(c, cookie) + } + return c.Next() +} + +func (k *Cookie) Provider() AuthType { + return CookieAuth +} + +func (k *Cookie) Scheme() *openapi3.SecurityScheme { + return &openapi3.SecurityScheme{ + Type: "apiKey", + In: "cookie", + Name: k.Name, + } +} diff --git a/security/oauth2.go b/security/oauth2.go new file mode 100644 index 0000000..3eea285 --- /dev/null +++ b/security/oauth2.go @@ -0,0 +1,36 @@ +package security + +import ( + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type OAuth2 struct { + Security + AuthorizationURL string + TokenURL string + RefreshURL string + Scopes map[string]string +} + +func (i *OAuth2) Authorize(c *fiber.Ctx) error { + return nil +} + +func (i *OAuth2) Provider() AuthType { + return OAuth2Auth +} + +func (i *OAuth2) Scheme() *openapi3.SecurityScheme { + return &openapi3.SecurityScheme{ + Type: "oauth2", + Flows: &openapi3.OAuthFlows{ + AuthorizationCode: &openapi3.OAuthFlow{ + AuthorizationURL: i.AuthorizationURL, + TokenURL: i.TokenURL, + RefreshURL: i.RefreshURL, + Scopes: i.Scopes, + }, + }, + } +} diff --git a/security/openid.go b/security/openid.go new file mode 100644 index 0000000..15e2f08 --- /dev/null +++ b/security/openid.go @@ -0,0 +1,26 @@ +package security + +import ( + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type OpenID struct { + Security + ConnectUrl string +} + +func (i *OpenID) Authorize(c *fiber.Ctx) error { + return nil +} + +func (i *OpenID) Provider() AuthType { + return OpenIDAuth +} + +func (i *OpenID) Scheme() *openapi3.SecurityScheme { + return &openapi3.SecurityScheme{ + Type: "openIdConnect", + OpenIdConnectUrl: i.ConnectUrl, + } +} diff --git a/security/security.go b/security/security.go new file mode 100644 index 0000000..fc62a83 --- /dev/null +++ b/security/security.go @@ -0,0 +1,33 @@ +package security + +import ( + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" +) + +type AuthType string + +const ( + Credentials = "credentials" + BasicAuth AuthType = "BasicAuth" + BearerAuth AuthType = "BearerAuth" + ApiKeyAuth AuthType = "ApiKeyAuth" + OpenIDAuth AuthType = "OpenIDAuth" + OAuth2Auth AuthType = "OAuth2Auth" + CookieAuth AuthType = "CookieAuth" +) + +type ISecurity interface { + Authorize(c *fiber.Ctx) error + Callback(c *fiber.Ctx, credentials interface{}) + Provider() AuthType + Scheme() *openapi3.SecurityScheme +} + +type Security struct { + ISecurity +} + +func (s *Security) Callback(c *fiber.Ctx, credentials interface{}) { + c.Locals(Credentials, credentials) +} diff --git a/swagger/options.go b/swagger/options.go new file mode 100644 index 0000000..5769c4f --- /dev/null +++ b/swagger/options.go @@ -0,0 +1,79 @@ +package swagger + +import ( + "github.com/getkin/kin-openapi/openapi3" +) + +type Option func(swagger *Swagger) + +func DocsUrl(url string) Option { + return func(swagger *Swagger) { + swagger.DocsUrl = url + } +} + +func RedocUrl(url string) Option { + return func(swagger *Swagger) { + swagger.RedocUrl = url + } +} + +func Title(title string) Option { + return func(swagger *Swagger) { + swagger.Title = title + } +} + +func Description(description string) Option { + return func(swagger *Swagger) { + swagger.Description = description + } +} + +func Version(version string) Option { + return func(swagger *Swagger) { + swagger.Version = version + } +} + +func OpenAPIUrl(url string) Option { + return func(swagger *Swagger) { + swagger.OpenAPIUrl = url + } +} + +func Servers(servers openapi3.Servers) Option { + return func(swagger *Swagger) { + swagger.Servers = servers + } +} + +func TermsOfService(TermsOfService string) Option { + return func(swagger *Swagger) { + swagger.TermsOfService = TermsOfService + } +} + +func Contact(Contact *openapi3.Contact) Option { + return func(swagger *Swagger) { + swagger.Contact = Contact + } +} + +func License(License *openapi3.License) Option { + return func(swagger *Swagger) { + swagger.License = License + } +} + +func SwaggerOptions(options map[string]interface{}) Option { + return func(swagger *Swagger) { + swagger.SwaggerOptions = options + } +} + +func RedocOptions(options map[string]interface{}) Option { + return func(swagger *Swagger) { + swagger.RedocOptions = options + } +} diff --git a/swagger/swagger.go b/swagger/swagger.go new file mode 100644 index 0000000..ea5c7f9 --- /dev/null +++ b/swagger/swagger.go @@ -0,0 +1,555 @@ +package swagger + +import ( + "mime/multipart" + "net/http" + "reflect" + "regexp" + "strconv" + "strings" + "time" + + "github.com/google/uuid" + + "git.ma-al.com/goc_marek/fiber_docs/constants" + "git.ma-al.com/goc_marek/fiber_docs/router" + "git.ma-al.com/goc_marek/fiber_docs/security" + "github.com/fatih/structtag" + "github.com/getkin/kin-openapi/openapi3" + "github.com/gofiber/fiber/v2" + log "github.com/sirupsen/logrus" +) + +type Swagger struct { + Title string + Description string + Version string + DocsUrl string + RedocUrl string + OpenAPIUrl string + Routers map[string]map[string]*router.Router + Servers openapi3.Servers + TermsOfService string + Contact *openapi3.Contact + License *openapi3.License + OpenAPI *openapi3.T + SwaggerOptions map[string]interface{} + RedocOptions map[string]interface{} +} + +func New(title, description, version string, options ...Option) *Swagger { + swagger := &Swagger{ + Title: title, + Description: description, + Version: version, + DocsUrl: "/docs", + RedocUrl: "/redoc", + OpenAPIUrl: "/openapi.json", + } + for _, option := range options { + option(swagger) + } + return swagger +} + +func (swagger *Swagger) getSecurityRequirements( + securities []security.ISecurity, +) *openapi3.SecurityRequirements { + securityRequirements := openapi3.NewSecurityRequirements() + for _, s := range securities { + provide := string(s.Provider()) + swagger.OpenAPI.Components.SecuritySchemes[provide] = &openapi3.SecuritySchemeRef{ + Value: s.Scheme(), + } + securityRequirements.With(openapi3.NewSecurityRequirement().Authenticate(provide)) + } + return securityRequirements +} + +func (swagger *Swagger) getSchemaByType(t interface{}, request bool) *openapi3.Schema { + var schema *openapi3.Schema + var m float64 + m = float64(0) + switch t.(type) { + case int, int8, int16, *int, *int8, *int16: + schema = openapi3.NewIntegerSchema() + case uint, uint8, uint16, *uint, *uint8, *uint16: + schema = openapi3.NewIntegerSchema() + schema.Min = &m + case int32, *int32: + schema = openapi3.NewInt32Schema() + case uint32, *uint32: + schema = openapi3.NewInt32Schema() + schema.Min = &m + case int64, *int64: + schema = openapi3.NewInt64Schema() + case uint64, *uint64: + schema = openapi3.NewInt64Schema() + schema.Min = &m + case string, *string: + schema = openapi3.NewStringSchema() + case time.Time, *time.Time: + schema = openapi3.NewDateTimeSchema() + case uuid.UUID, *uuid.UUID: + schema = openapi3.NewUUIDSchema() + case float32, float64, *float32, *float64: + schema = openapi3.NewFloat64Schema() + case bool, *bool: + schema = openapi3.NewBoolSchema() + case []byte: + schema = openapi3.NewBytesSchema() + case *multipart.FileHeader: + schema = openapi3.NewStringSchema() + schema.Format = "binary" + case []*multipart.FileHeader: + schema = openapi3.NewArraySchema() + schema.Items = &openapi3.SchemaRef{ + Value: &openapi3.Schema{ + Type: "string", + Format: "binary", + }, + } + default: + if request { + schema = swagger.getRequestSchemaByModel(t) + } else { + schema = swagger.getResponseSchemaByModel(t) + } + } + return schema +} + +func (swagger *Swagger) getRequestSchemaByModel(model interface{}) *openapi3.Schema { + type_ := reflect.TypeOf(model) + value_ := reflect.ValueOf(model) + schema := openapi3.NewObjectSchema() + if type_.Kind() == reflect.Ptr { + type_ = type_.Elem() + } + if value_.Kind() == reflect.Ptr { + value_ = value_.Elem() + } + if type_.Kind() == reflect.Struct { + for i := 0; i < type_.NumField(); i++ { + field := type_.Field(i) + value := value_.Field(i) + tags, err := structtag.Parse(string(field.Tag)) + if err != nil { + log.Fatal(err) + } + _, err = tags.Get(constants.EMBED) + if err == nil { + embedSchema := swagger.getRequestSchemaByModel(value.Interface()) + for key, embedProperty := range embedSchema.Properties { + schema.Properties[key] = embedProperty + } + for _, name := range embedSchema.Required { + schema.Required = append(schema.Required, name) + } + } + tag, err := tags.Get(constants.FORM) + if err != nil { + tag, err = tags.Get(constants.JSON) + if err != nil { + continue + } + } + fieldSchema := swagger.getSchemaByType(value.Interface(), true) + schema.Properties[tag.Name] = openapi3.NewSchemaRef("", fieldSchema) + validateTag, err := tags.Get(constants.VALIDATE) + if err == nil { + if validateTag.Name == "required" { + schema.Required = append(schema.Required, tag.Name) + } + options := validateTag.Options + if len(options) > 0 { + schema.Properties[tag.Name] = swagger.getValidateSchemaByOptions( + value.Interface(), + options, + ) + fieldSchema = schema.Properties[tag.Name].Value + } + } + defaultTag, err := tags.Get(constants.DEFAULT) + if err == nil { + fieldSchema.Default = defaultTag.Name + } + exampleTag, err := tags.Get(constants.EXAMPLE) + if err == nil { + fieldSchema.Example = exampleTag.Name + } + descriptionTag, err := tags.Get(constants.DESCRIPTION) + if err == nil { + fieldSchema.Description = descriptionTag.Name + } + } + } else if type_.Kind() == reflect.Slice { + schema = openapi3.NewArraySchema() + schema.Items = &openapi3.SchemaRef{Value: swagger.getRequestSchemaByModel(reflect.New(type_.Elem()).Elem().Interface())} + } else if type_.Kind() != reflect.Map { + schema = swagger.getSchemaByType(model, true) + } + return schema +} + +func (swagger *Swagger) getRequestBodyByModel( + model interface{}, + contentType string, +) *openapi3.RequestBodyRef { + body := &openapi3.RequestBodyRef{ + Value: openapi3.NewRequestBody(), + } + if model == nil { + return body + } + schema := swagger.getRequestSchemaByModel(model) + body.Value.Required = true + if contentType == "" { + contentType = fiber.MIMEApplicationJSON + } + body.Value.Content = openapi3.NewContentWithSchema(schema, []string{contentType}) + return body +} + +func (swagger *Swagger) getResponseSchemaByModel(model interface{}) *openapi3.Schema { + schema := openapi3.NewObjectSchema() + if model == nil { + return schema + } + type_ := reflect.TypeOf(model) + value_ := reflect.ValueOf(model) + if type_.Kind() == reflect.Ptr { + type_ = type_.Elem() + } + if value_.Kind() == reflect.Ptr { + value_ = value_.Elem() + } + if type_.Kind() == reflect.Struct { + for i := 0; i < type_.NumField(); i++ { + field := type_.Field(i) + value := value_.Field(i) + fieldSchema := swagger.getSchemaByType(value.Interface(), false) + tags, err := structtag.Parse(string(field.Tag)) + if err != nil { + panic(err) + } + _, err = tags.Get(constants.EMBED) + if err == nil { + embedSchema := swagger.getResponseSchemaByModel(value.Interface()) + for key, embedProperty := range embedSchema.Properties { + schema.Properties[key] = embedProperty + } + for _, name := range embedSchema.Required { + schema.Required = append(schema.Required, name) + } + } + tag, err := tags.Get(constants.JSON) + if err != nil { + continue + } + validateTag, err := tags.Get(constants.VALIDATE) + if err == nil && validateTag.Name == "required" { + schema.Required = append(schema.Required, tag.Name) + } + descriptionTag, err := tags.Get(constants.DESCRIPTION) + if err == nil { + fieldSchema.Description = descriptionTag.Name + } + defaultTag, err := tags.Get(constants.DEFAULT) + if err == nil { + fieldSchema.Default = defaultTag.Name + } + exampleTag, err := tags.Get(constants.EXAMPLE) + if err == nil { + fieldSchema.Example = exampleTag.Name + } + schema.Properties[tag.Name] = openapi3.NewSchemaRef("", fieldSchema) + } + } else if type_.Kind() == reflect.Slice { + schema = openapi3.NewArraySchema() + schema.Items = &openapi3.SchemaRef{Value: swagger.getResponseSchemaByModel(reflect.New(type_.Elem()).Elem().Interface())} + } else if type_.Kind() != reflect.Map { + schema = swagger.getSchemaByType(model, false) + } + return schema +} + +func (swagger *Swagger) getResponses( + response router.Response, + contentType string, +) openapi3.Responses { + ret := openapi3.NewResponses() + for k, v := range response { + schema := swagger.getResponseSchemaByModel(v.Model) + var content openapi3.Content + if contentType == "" || contentType == fiber.MIMEApplicationJSON { + content = openapi3.NewContentWithJSONSchema(schema) + } else { + content = openapi3.NewContentWithSchema(schema, []string{contentType}) + } + description := v.Description + ret[k] = &openapi3.ResponseRef{ + Value: &openapi3.Response{ + Description: &description, + Content: content, + Headers: v.Headers, + }, + } + } + return ret +} + +func (swagger *Swagger) getValidateSchemaByOptions( + value interface{}, + options []string, +) *openapi3.SchemaRef { + schema := openapi3.NewSchemaRef("", swagger.getSchemaByType(value, true)) + for _, option := range options { + if strings.HasPrefix(option, "oneof=") { + optionItems := strings.Split(option[6:], " ") + enums := make([]interface{}, len(optionItems)) + for i, optionItem := range optionItems { + enums[i] = optionItem + } + schema.Value.WithEnum(enums...) + } + if strings.HasPrefix(option, "max=") { + value, err := strconv.ParseFloat(option[4:], 64) + if err != nil { + log.Panicln(err) + } + schema.Value.WithMax(value) + } + if strings.HasPrefix(option, "min=") { + value, err := strconv.ParseFloat(option[4:], 64) + if err != nil { + log.Panicln(err) + } + schema.Value.WithMin(value) + } + if strings.HasPrefix(option, "len=") { + value, err := strconv.ParseInt(option[4:], 10, 64) + if err != nil { + log.Panicln(err) + } + schema.Value.WithLength(value) + } + } + return schema +} + +func (swagger *Swagger) getParametersByModel(model interface{}) openapi3.Parameters { + parameters := openapi3.NewParameters() + if model == nil { + return parameters + } + type_ := reflect.TypeOf(model) + if type_.Kind() == reflect.Ptr { + type_ = type_.Elem() + } + value_ := reflect.ValueOf(model) + if value_.Kind() == reflect.Ptr { + value_ = value_.Elem() + } + for i := 0; i < type_.NumField(); i++ { + field := type_.Field(i) + value := value_.Field(i) + tags, err := structtag.Parse(string(field.Tag)) + if err != nil { + panic(err) + } + _, err = tags.Get(constants.EMBED) + if err == nil { + embedParameters := swagger.getParametersByModel(value.Interface()) + for _, embedParameter := range embedParameters { + parameters = append(parameters, embedParameter) + } + } + parameter := &openapi3.Parameter{ + Schema: openapi3.NewSchemaRef("", swagger.getSchemaByType(value.Interface(), true)), + } + queryTag, err := tags.Get(constants.QUERY) + if err == nil { + parameter.In = openapi3.ParameterInQuery + parameter.Name = queryTag.Name + } + uriTag, err := tags.Get(constants.URI) + if err == nil { + parameter.In = openapi3.ParameterInPath + parameter.Name = uriTag.Name + } + headerTag, err := tags.Get(constants.HEADER) + if err == nil { + parameter.In = openapi3.ParameterInHeader + parameter.Name = headerTag.Name + } + cookieTag, err := tags.Get(constants.COOKIE) + if err == nil { + parameter.In = openapi3.ParameterInCookie + parameter.Name = cookieTag.Name + } + if parameter.In == "" { + continue + } + descriptionTag, err := tags.Get(constants.DESCRIPTION) + if err == nil { + parameter.WithDescription(descriptionTag.Name) + } + validateTag, err := tags.Get(constants.VALIDATE) + if err == nil { + parameter.WithRequired(validateTag.Name == "required") + options := validateTag.Options + if len(options) > 0 { + parameter.Schema = swagger.getValidateSchemaByOptions(value.Interface(), options) + } + } + defaultTag, err := tags.Get(constants.DEFAULT) + if err == nil { + parameter.Schema.Value.WithDefault(defaultTag.Name) + } + exampleTag, err := tags.Get(constants.EXAMPLE) + if err == nil { + parameter.Schema.Value.Example = exampleTag.Name + } + parameters = append(parameters, &openapi3.ParameterRef{ + Value: parameter, + }) + } + return parameters +} + +// /:id -> /{id} +func (swagger *Swagger) fixPath(path string) string { + reg := regexp.MustCompile("/:(\\w+)") + return reg.ReplaceAllString(path, "/{${1}}") +} + +func (swagger *Swagger) getPaths() openapi3.Paths { + paths := make(openapi3.Paths) + for path, m := range swagger.Routers { + pathItem := &openapi3.PathItem{} + for method, r := range m { + if r.Exclude { + continue + } + model := r.Model + operation := &openapi3.Operation{ + Tags: r.Tags, + OperationID: r.OperationID, + Summary: r.Summary, + Description: r.Description, + Deprecated: r.Deprecated, + Responses: swagger.getResponses(r.Response, r.ResponseContentType), + Parameters: swagger.getParametersByModel(model), + Security: swagger.getSecurityRequirements(r.Securities), + } + requestBody := swagger.getRequestBodyByModel(model, r.RequestContentType) + if method == http.MethodGet { + pathItem.Get = operation + } else if method == http.MethodPost { + pathItem.Post = operation + operation.RequestBody = requestBody + } else if method == http.MethodDelete { + pathItem.Delete = operation + } else if method == http.MethodPut { + pathItem.Put = operation + operation.RequestBody = requestBody + } else if method == http.MethodPatch { + pathItem.Patch = operation + } else if method == http.MethodHead { + pathItem.Head = operation + } else if method == http.MethodOptions { + pathItem.Options = operation + } else if method == http.MethodConnect { + pathItem.Connect = operation + } else if method == http.MethodTrace { + pathItem.Trace = operation + } + } + paths[swagger.fixPath(path)] = pathItem + } + return paths +} + +func (swagger *Swagger) BuildOpenAPI() { + components := openapi3.NewComponents() + components.SecuritySchemes = openapi3.SecuritySchemes{} + swagger.OpenAPI = &openapi3.T{ + OpenAPI: "3.0.0", + Info: &openapi3.Info{ + Title: swagger.Title, + Description: swagger.Description, + TermsOfService: swagger.TermsOfService, + Contact: swagger.Contact, + License: swagger.License, + Version: swagger.Version, + }, + Servers: swagger.Servers, + Components: &components, + } + swagger.OpenAPI.Paths = swagger.getPaths() +} + +func (swagger *Swagger) MarshalJSON() ([]byte, error) { + return swagger.OpenAPI.MarshalJSON() +} + +func (swagger *Swagger) WithDocsUrl(url string) *Swagger { + DocsUrl(url)(swagger) + return swagger +} + +func (swagger *Swagger) WithRedocUrl(url string) *Swagger { + RedocUrl(url)(swagger) + return swagger +} + +func (swagger *Swagger) WithTitle(title string) *Swagger { + Title(title)(swagger) + return swagger +} + +func (swagger *Swagger) WithDescription(description string) *Swagger { + Description(description)(swagger) + return swagger +} + +func (swagger *Swagger) WithVersion(version string) *Swagger { + Version(version)(swagger) + return swagger +} + +func (swagger *Swagger) WithOpenAPIUrl(url string) *Swagger { + OpenAPIUrl(url)(swagger) + return swagger +} + +func (swagger *Swagger) WithTermsOfService(termsOfService string) *Swagger { + TermsOfService(termsOfService)(swagger) + return swagger +} + +func (swagger *Swagger) WithContact(contact *openapi3.Contact) *Swagger { + Contact(contact)(swagger) + return swagger +} + +func (swagger *Swagger) WithLicense(license *openapi3.License) *Swagger { + License(license)(swagger) + return swagger +} + +func (swagger *Swagger) WithServers(servers []*openapi3.Server) *Swagger { + Servers(servers)(swagger) + return swagger +} + +func (swagger *Swagger) WithSwaggerOptions(options map[string]interface{}) *Swagger { + SwaggerOptions(options)(swagger) + return swagger +} + +func (swagger *Swagger) WithRedocOptions(options map[string]interface{}) *Swagger { + RedocOptions(options)(swagger) + return swagger +} diff --git a/templates/redoc.html b/templates/redoc.html new file mode 100644 index 0000000..8731017 --- /dev/null +++ b/templates/redoc.html @@ -0,0 +1,17 @@ + + + + {{ .title }} - ReDoc + + + + + + +

+ + + diff --git a/templates/swagger.html b/templates/swagger.html new file mode 100644 index 0000000..5d0ab05 --- /dev/null +++ b/templates/swagger.html @@ -0,0 +1,24 @@ + + + + + {{ .title }} - Swagger UI + + + + +
+ + + \ No newline at end of file