From c9a76ddbd6f01b87a06852d75aa0092e1312d71c Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Tue, 4 Jan 2022 22:31:33 +0500 Subject: [PATCH] :truck: Renamed project from oauth to indieauth --- catalog_gen.go | 41 +- go.mod | 12 +- go.sum | 149 +++++++ internal/auth/delivery/http/auth_http.go | 65 ++-- internal/auth/repository.go | 6 +- internal/auth/repository/bolt/bolt_auth.go | 16 +- .../auth/repository/memory/memory_auth.go | 8 +- internal/auth/usecase.go | 8 +- internal/auth/usecase/auth_usecase.go | 19 +- internal/client/delivery/http/home_http.go | 8 +- .../client/delivery/http/home_http_test.go | 6 +- internal/client/repository.go | 2 +- .../client/repository/http/http_client.go | 4 +- .../repository/http/http_client_test.go | 8 +- .../client/repository/memory/memory_client.go | 4 +- .../repository/memory/memory_client_test.go | 4 +- internal/client/usecase.go | 2 +- internal/client/usecase/client_ucase.go | 4 +- internal/client/usecase/client_ucase_test.go | 6 +- internal/cmd/root.go | 2 +- internal/cmd/start.go | 28 +- internal/domain/client_id_test.go | 2 +- internal/domain/code.go | 2 +- internal/domain/code_challenge_method_test.go | 2 +- internal/domain/code_test.go | 4 +- internal/domain/me_test.go | 2 +- internal/domain/scope_test.go | 2 +- internal/domain/token.go | 2 +- internal/health/delivery/http/health_http.go | 2 +- .../health/delivery/http/health_http_test.go | 4 +- .../metadata/delivery/http/metadata_http.go | 4 +- .../delivery/http/metadata_http_test.go | 6 +- internal/ticket/delivery/http/ticket_http.go | 6 +- .../ticket/delivery/http/ticket_http_test.go | 12 +- internal/ticket/repository.go | 2 +- .../ticket/repository/http/http_ticket.go | 4 +- .../repository/http/http_ticket_test.go | 8 +- .../ticket/repository/memory/memory_ticket.go | 4 +- .../repository/memory/memory_ticket_test.go | 4 +- internal/ticket/usecase.go | 2 +- internal/ticket/usecase/ticket_ucase.go | 6 +- internal/ticket/usecase/ticket_ucase_test.go | 10 +- internal/token/delivery/http/token_http.go | 6 +- .../token/delivery/http/token_http_test.go | 16 +- internal/token/repository.go | 2 +- internal/token/repository/bolt/bolt_token.go | 4 +- .../token/repository/bolt/bolt_token_test.go | 8 +- .../token/repository/memory/memory_token.go | 4 +- .../repository/memory/memory_token_test.go | 6 +- internal/token/usecase.go | 2 +- internal/token/usecase/token_ucase.go | 8 +- internal/token/usecase/token_ucase_test.go | 12 +- internal/user/repository.go | 2 +- internal/user/repository/http/http_user.go | 4 +- .../user/repository/http/http_user_test.go | 8 +- .../user/repository/memory/memory_user.go | 4 +- .../repository/memory/memory_user_test.go | 4 +- internal/user/usecase.go | 2 +- internal/user/usecase/user_ucase.go | 4 +- internal/user/usecase/user_ucase_test.go | 6 +- locales/en/out.gotext.json | 59 --- locales/ru/out.gotext.json | 47 --- main.go | 2 +- web/auth.qtpl.go | 351 ----------------- web/{auth.qtpl => authorize.qtpl} | 65 ++-- web/authorize.qtpl.go | 362 ++++++++++++++++++ web/baseof.qtpl | 20 +- web/baseof.qtpl.go | 182 ++++----- web/home.qtpl | 18 +- web/home.qtpl.go | 128 +++---- 70 files changed, 937 insertions(+), 891 deletions(-) delete mode 100644 web/auth.qtpl.go rename web/{auth.qtpl => authorize.qtpl} (57%) create mode 100644 web/authorize.qtpl.go diff --git a/catalog_gen.go b/catalog_gen.go index f4c390e..6d90f6c 100644 --- a/catalog_gen.go +++ b/catalog_gen.go @@ -39,37 +39,22 @@ func init() { } var messageKeyToIndex = map[string]int{ - "Allow": 6, - "Authorize": 2, - "Authorize %s": 0, - "Authorize application": 1, - "Check your scopes": 4, - "Create a new remote token": 8, - "Deny": 5, - "Send": 9, - "Sign In": 7, - "application": 3, + "Allow": 1, + "Deny": 0, + "Sign In": 2, } -var enIndex = []uint32{ // 11 elements - 0x00000000, 0x00000010, 0x00000026, 0x00000030, - 0x0000003c, 0x0000004e, 0x00000053, 0x00000059, - 0x00000061, 0x0000007b, 0x00000080, -} // Size: 68 bytes +var enIndex = []uint32{ // 4 elements + 0x00000000, 0x00000005, 0x0000000b, 0x00000013, +} // Size: 40 bytes -const enData string = "" + // Size: 128 bytes - "\x02Authorize %[1]s\x02Authorize application\x02Authorize\x02application" + - "\x02Check your scopes\x02Deny\x02Allow\x02Sign In\x02Create a new remote" + - " token\x02Send" +const enData string = "\x02Deny\x02Allow\x02Sign In" -var ruIndex = []uint32{ // 11 elements - 0x00000000, 0x00000000, 0x0000002e, 0x0000002e, - 0x0000002e, 0x00000057, 0x00000068, 0x0000007b, - 0x00000086, 0x00000086, 0x00000086, -} // Size: 68 bytes +var ruIndex = []uint32{ // 4 elements + 0x00000000, 0x00000011, 0x00000024, 0x0000002f, +} // Size: 40 bytes -const ruData string = "" + // Size: 134 bytes - "\x02Авторизовать приложение\x02Проверь права доступа\x02Отказать\x02Разр" + - "ешить\x02Войти" +const ruData string = "" + // Size: 47 bytes + "\x02Отказать\x02Разрешить\x02Войти" - // Total table size 398 bytes (0KiB); checksum: 1F3647E6 + // Total table size 146 bytes (0KiB); checksum: 9261221B diff --git a/go.mod b/go.mod index 7d5fcec..de50a42 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module source.toby3d.me/website/oauth +module source.toby3d.me/website/indieauth go 1.16 @@ -11,17 +11,19 @@ require ( github.com/lestrrat-go/jwx v1.2.7 github.com/pkg/errors v0.9.1 github.com/savsgio/gotils v0.0.0-20210921075833-21a6215cb0e4 // indirect - github.com/spf13/viper v1.9.0 + github.com/spf13/cobra v1.3.0 // indirect + github.com/spf13/viper v1.10.0 github.com/stretchr/testify v1.7.0 github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 - github.com/valyala/fasthttp v1.30.0 + github.com/valyala/fasthttp v1.31.0 github.com/valyala/fasttemplate v1.2.1 github.com/valyala/quicktemplate v1.7.0 go.etcd.io/bbolt v1.3.6 golang.org/x/net v0.0.0-20211004164453-cedda3a722dd // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f - golang.org/x/sys v0.0.0-20211004093028-2c5d950f24ef // indirect + golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 + inet.af/netaddr v0.0.0-20211027220019-c74959edd3b6 // indirect + source.toby3d.me/toby3d/form v0.1.0 // indirect willnorris.com/go/microformats v1.1.1 ) diff --git a/go.sum b/go.sum index 8c79fb2..3a61769 100644 --- a/go.sum +++ b/go.sum @@ -23,6 +23,10 @@ cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSU 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= @@ -32,6 +36,7 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 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.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= +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= @@ -44,8 +49,13 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 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/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/goquery v1.5.0/go.mod h1:qD2PgZ9lccMbQlc7eEOjaeRlFQON7xY8kdmcsrnKqMg= +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.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3 h1:fpcw+r1N1h0Poc1F/pHbW40cUm/lMEQslZtCkBQ0UnM= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= @@ -53,29 +63,46 @@ github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9Pq 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/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/brianvoe/gofakeit/v6 v6.9.0 h1:UCGhPCKLiqBc910TKS7LcOGf74NozftibFCbGIS6GZQ= github.com/brianvoe/gofakeit/v6 v6.9.0/go.mod h1:palrJUk4Fyw38zIFB/uBZqsgzW5VsNllhHKKwAebzew= 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/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/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d h1:1iy2qD6JEhHKKhUOA9IWs7mjco7lnw2qx8FsRI2wirE= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= +github.com/dvyukov/go-fuzz v0.0.0-20210103155950-6a8e9d1f2415/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= 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= @@ -83,26 +110,37 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y 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/fasthttp/router v1.4.3 h1:spS+LUnRryQ/+hbmYzs/xWGJlQCkeQI3hxGZdlVYhLU= github.com/fasthttp/router v1.4.3/go.mod h1:9ytWCfZ5LcCcbD3S7pEXyBX9vZnOZmN918WiiaYUzr8= 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/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= 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-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/goccy/go-json v0.7.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.7.9 h1:mSp3uo1tr6MXQTYopSNhHTUnJhd2zQ4Yk+HdJZP+ZRY= github.com/goccy/go-json v0.7.9/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +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= @@ -171,18 +209,25 @@ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ 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/schema v1.2.0 h1:YufUaxZYCKGFuAq3c96BOhjgd5nmXiOY9NGzF247Tsc= github.com/gorilla/schema v1.2.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +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= @@ -190,24 +235,37 @@ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b 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 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= 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 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +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.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +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 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -229,18 +287,24 @@ github.com/lestrrat-go/jwx v1.2.7 h1:wO7fEc3PW56wpQBMU5CyRkrk4DVsXxCoJg7oIm5HHE4 github.com/lestrrat-go/jwx v1.2.7/go.mod h1:bw24IXWbavc0R2RsOtpXL7RtMyP589yZ1+L7kd09ZGA= github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= 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-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/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= 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= @@ -248,12 +312,19 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +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/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= 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 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +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/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -262,27 +333,48 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb 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/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/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.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/savsgio/gotils v0.0.0-20210907153846-c06938798b52/go.mod h1:oejLrk1Y/5zOF+c/aHtXqn3TFlzzbAgPWg8zBiAHDas= github.com/savsgio/gotils v0.0.0-20210921075833-21a6215cb0e4 h1:ocK/D6lCgLji37Z2so4xhMl46se1ntReQQCUIU4BWI8= github.com/savsgio/gotils v0.0.0-20210921075833-21a6215cb0e4/go.mod h1:oejLrk1Y/5zOF+c/aHtXqn3TFlzzbAgPWg8zBiAHDas= 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/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 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.9.0 h1:yR6EXjTp0y0cLN8OZg1CRZmOBdI88UcGkhgyJhu6nZk= github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= +github.com/spf13/viper v1.10.0 h1:mXH0UwHS4D2HwWZa75im4xIQynLfblmWV7qcWpfv0yk= +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/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= @@ -294,10 +386,13 @@ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 h1:nrZ3ySNYwJbSpD6ce9duiP+QkD3JuLCcWkdaehUS/3Y= github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80/go.mod h1:iFyPdL66DjUD96XmzVL3ZntbzcflLnznH0fr99w5VqE= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= 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.30.0 h1:nBNzWrgZUUHohyLPU/jTvXdhrcaf2m5k3bWk+3Q049g= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= +github.com/valyala/fasthttp v1.31.0 h1:lrauRLII19afgCs2fnWRJ4M5IkV0lo2FqA61uGkNBfE= +github.com/valyala/fasthttp v1.31.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52WA1u4= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTcjMJzCM= @@ -311,8 +406,11 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +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= @@ -324,6 +422,11 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe 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= +go4.org/intern v0.0.0-20211027215823-ae77deb06f29 h1:UXLjNohABv4S58tHmeuIZDO6e3mHpW2Dx33gaNt03LE= +go4.org/intern v0.0.0-20211027215823-ae77deb06f29/go.mod h1:cS2ma+47FKrLPdXFpr7CuxiTW3eyJbWew4qx0qtQWDA= +go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37 h1:Tx9kY6yUkLge/pFG7IEMwDZy6CS2ajFc9TvQdPCW0uA= +go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= +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= @@ -371,6 +474,7 @@ 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/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 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= @@ -383,6 +487,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn 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= @@ -409,8 +514,10 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v 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-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211004164453-cedda3a722dd h1:Q6PfiuMddtCdycHT4hrZ7ZhVpAdQlA7qJp+ZhUw7Rdo= golang.org/x/net v0.0.0-20211004164453-cedda3a722dd/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -429,6 +536,9 @@ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= 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 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= +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= @@ -442,11 +552,14 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/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= @@ -482,6 +595,7 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w 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= @@ -495,9 +609,16 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc 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-20211004093028-2c5d950f24ef h1:fPxZ3Umkct3LZ8gK9nbk+DWDJ9fstZa2grBn+lWVKPs= golang.org/x/sys v0.0.0-20211004093028-2c5d950f24ef/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-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -600,7 +721,12 @@ google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtuk 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= @@ -661,6 +787,17 @@ google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKr 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= @@ -686,6 +823,8 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ 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= @@ -701,6 +840,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.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 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= @@ -708,8 +848,13 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.63.2 h1:tGK/CyBg7SMzb60vP1M03vNZ3VDu3wGQJwn7Sxi9r3c= gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= +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= @@ -723,8 +868,12 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh 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= +inet.af/netaddr v0.0.0-20211027220019-c74959edd3b6 h1:acCzuUSQ79tGsM/O50VRFySfMm19IoMKL+sZztZkCxw= +inet.af/netaddr v0.0.0-20211027220019-c74959edd3b6/go.mod h1:y3MGhcFMlh0KZPMuXXow8mpjxxAk3yoDNsp4cQz54i8= 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= +source.toby3d.me/toby3d/form v0.1.0 h1:QoQfNfVmyEioopBB262cDVossxzjMzCW/Y1upVBaKIs= +source.toby3d.me/toby3d/form v0.1.0/go.mod h1:vCN3Br5j2QqW/pZSPvqBDzXf/n7bWxybvJR57YO42gk= willnorris.com/go/microformats v1.1.1 h1:h5tk2luq6KBIRcwMGdksxdeea4GGuWrRFie5460OAbo= willnorris.com/go/microformats v1.1.1/go.mod h1:kvVnWrkkEscVAIITCEoiTX66Hcyg59C7q0E49mb9TJ0= diff --git a/internal/auth/delivery/http/auth_http.go b/internal/auth/delivery/http/auth_http.go index 8e028b2..7b47b3d 100644 --- a/internal/auth/delivery/http/auth_http.go +++ b/internal/auth/delivery/http/auth_http.go @@ -8,8 +8,8 @@ import ( json "github.com/goccy/go-json" http "github.com/valyala/fasthttp" "gitlab.com/toby3d/indieauth/internal/auth" + "gitlab.com/toby3d/indieauth/internal/domain" "gitlab.com/toby3d/indieauth/internal/middleware" - "gitlab.com/toby3d/indieauth/internal/model" "gitlab.com/toby3d/indieauth/internal/pkce" "gitlab.com/toby3d/indieauth/web" ) @@ -82,15 +82,15 @@ func (h *Handler) Register(r *router.Router) { func (r *AuthorizeRequest) bind(ctx *http.RequestCtx) error { if r.ClientID = string(ctx.QueryArgs().Peek("client_id")); r.ClientID == "" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'client_id' query is required", } } if r.ResponseType = string(ctx.QueryArgs().Peek("response_type")); r.ResponseType != "code" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'response_type' must be 'code'", } } @@ -98,8 +98,8 @@ func (r *AuthorizeRequest) bind(ctx *http.RequestCtx) error { if ctx.QueryArgs().Has("code_challenge") { r.CodeChallenge = string(ctx.QueryArgs().Peek("code_challenge")) if len(r.CodeChallenge) < 43 || len(r.CodeChallenge) > 128 { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "length of the 'code_challenge' value must be greater than 43 and less than 128 symbols", } } @@ -110,12 +110,11 @@ func (r *AuthorizeRequest) bind(ctx *http.RequestCtx) error { } if _, err := pkce.New(r.CodeChallengeMethod); err != nil { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: err.Error(), } } - } r.RedirectURI = string(ctx.QueryArgs().Peek("redirect_uri")) @@ -179,22 +178,22 @@ func (r *RedirectRequest) bind(ctx *http.RequestCtx) (err error) { r.RedirectURI = string(ctx.PostArgs().Peek("redirect_uri")) if r.ClientID = string(ctx.PostArgs().Peek("client_id")); r.ClientID == "" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'client_id' query is required", } } if r.Authorize = string(ctx.PostArgs().Peek("authorize")); r.Authorize != "allow" && r.Authorize != "deny" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "invalid prompt action, try starting the authorization flow again", } } if r.ResponseType = string(ctx.PostArgs().Peek("response_type")); r.ResponseType != "code" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'response_type' must be 'code', try starting the authorization flow again", } } @@ -203,8 +202,8 @@ func (r *RedirectRequest) bind(ctx *http.RequestCtx) (err error) { r.CodeChallenge = string(ctx.PostArgs().Peek("code_challenge")) if len(r.CodeChallenge) < 43 || len(r.CodeChallenge) > 128 { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "length of the 'code_challenge' value must be greater than 43 and less than 128 symbols, try starting the authorization flow again", } } @@ -216,8 +215,8 @@ func (r *RedirectRequest) bind(ctx *http.RequestCtx) (err error) { _, err := pkce.New(r.CodeChallengeMethod) if err != nil { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: err.Error(), } } @@ -250,7 +249,7 @@ func (h *Handler) Redirect(ctx *http.RequestCtx) { switch r.Authorize { case "allow": - code, err := h.useCase.Approve(ctx, &model.Login{ + code, err := h.useCase.Approve(ctx, &domain.Login{ CreatedAt: time.Now().UTC().Unix(), ClientID: r.ClientID, CodeChallenge: r.CodeChallenge, @@ -260,7 +259,7 @@ func (h *Handler) Redirect(ctx *http.RequestCtx) { Scope: r.Scope, }) if err != nil { - query.Set("error", model.ErrServerError.Code) + query.Set("error", domain.ErrServerError.Code) query.Set("error_description", err.Error()) redirectUri.RawQuery = query.Encode() @@ -272,7 +271,7 @@ func (h *Handler) Redirect(ctx *http.RequestCtx) { query.Set("code", code) case "deny": - query.Set("error", model.ErrAccessDenied.Code) + query.Set("error", domain.ErrAccessDenied.Code) } redirectUri.RawQuery = query.Encode() @@ -282,29 +281,29 @@ func (h *Handler) Redirect(ctx *http.RequestCtx) { func (r *ExchangeRequest) bind(ctx *http.RequestCtx) (err error) { if r.GrantType = string(ctx.PostArgs().Peek("grant_type")); r.GrantType != "authorization_code" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'grant_type' must be 'authorization_code'", } } if r.RedirectURI = string(ctx.PostArgs().Peek("redirect_uri")); r.RedirectURI == "" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'redirect_uri' query is required", } } if r.ClientID = string(ctx.PostArgs().Peek("client_id")); r.ClientID == "" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'client_id' query is required", } } if r.Code = string(ctx.PostArgs().Peek("code")); r.Code == "" { - return model.Error{ - Code: model.ErrInvalidRequest.Code, + return domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'code' query is required", } } @@ -324,7 +323,7 @@ func (h *Handler) Exchange(ctx *http.RequestCtx) { return } - me, err := h.useCase.Exchange(ctx, &model.ExchangeRequest{ + me, err := h.useCase.Exchange(ctx, &domain.ExchangeRequest{ ClientID: req.ClientID, Code: req.Code, CodeVerifier: req.CodeVerifier, @@ -337,7 +336,7 @@ func (h *Handler) Exchange(ctx *http.RequestCtx) { } if me == "" { - ctx.Error(model.ErrUnauthorizedClient.Error(), http.StatusUnauthorized) + ctx.Error(domain.ErrUnauthorizedClient.Error(), http.StatusUnauthorized) return } diff --git a/internal/auth/repository.go b/internal/auth/repository.go index 7737ed8..750cc84 100644 --- a/internal/auth/repository.go +++ b/internal/auth/repository.go @@ -3,11 +3,11 @@ package auth import ( "context" - "gitlab.com/toby3d/indieauth/internal/model" + "gitlab.com/toby3d/indieauth/internal/domain" ) type Repository interface { - Create(ctx context.Context, login *model.Login) error - Get(ctx context.Context, code string) (*model.Login, error) + Create(ctx context.Context, login *domain.Login) error + Get(ctx context.Context, code string) (*domain.Login, error) Delete(ctx context.Context, code string) error } diff --git a/internal/auth/repository/bolt/bolt_auth.go b/internal/auth/repository/bolt/bolt_auth.go index 8e653fb..84c5cb7 100644 --- a/internal/auth/repository/bolt/bolt_auth.go +++ b/internal/auth/repository/bolt/bolt_auth.go @@ -5,7 +5,7 @@ import ( json "github.com/goccy/go-json" "gitlab.com/toby3d/indieauth/internal/auth" - "gitlab.com/toby3d/indieauth/internal/model" + "gitlab.com/toby3d/indieauth/internal/domain" bolt "go.etcd.io/bbolt" ) @@ -15,7 +15,7 @@ type boltAuthRepository struct { func NewBoltAuthRepository(db *bolt.DB) (auth.Repository, error) { if err := db.Update(func(tx *bolt.Tx) (err error) { - _, err = tx.CreateBucketIfNotExists(model.Login{}.Bucket()) + _, err = tx.CreateBucketIfNotExists(domain.Login{}.Bucket()) return err }); err != nil { @@ -27,22 +27,22 @@ func NewBoltAuthRepository(db *bolt.DB) (auth.Repository, error) { }, nil } -func (repo *boltAuthRepository) Create(ctx context.Context, login *model.Login) error { +func (repo *boltAuthRepository) Create(ctx context.Context, login *domain.Login) error { jsonLogin, err := json.Marshal(login) if err != nil { return err } return repo.db.Update(func(tx *bolt.Tx) error { - return tx.Bucket(model.Login{}.Bucket()).Put([]byte(login.Code), jsonLogin) + return tx.Bucket(domain.Login{}.Bucket()).Put([]byte(login.Code), jsonLogin) }) } -func (repo *boltAuthRepository) Get(ctx context.Context, code string) (*model.Login, error) { - login := new(model.Login) +func (repo *boltAuthRepository) Get(ctx context.Context, code string) (*domain.Login, error) { + login := new(domain.Login) if err := repo.db.View(func(tx *bolt.Tx) error { - return json.Unmarshal(tx.Bucket(model.Login{}.Bucket()).Get([]byte(code)), login) + return json.Unmarshal(tx.Bucket(domain.Login{}.Bucket()).Get([]byte(code)), login) }); err != nil { return nil, err } @@ -52,6 +52,6 @@ func (repo *boltAuthRepository) Get(ctx context.Context, code string) (*model.Lo func (repo *boltAuthRepository) Delete(ctx context.Context, code string) error { return repo.db.Update(func(tx *bolt.Tx) error { - return tx.Bucket(model.Login{}.Bucket()).Delete([]byte(code)) + return tx.Bucket(domain.Login{}.Bucket()).Delete([]byte(code)) }) } diff --git a/internal/auth/repository/memory/memory_auth.go b/internal/auth/repository/memory/memory_auth.go index ee61495..91ddb63 100644 --- a/internal/auth/repository/memory/memory_auth.go +++ b/internal/auth/repository/memory/memory_auth.go @@ -5,7 +5,7 @@ import ( "sync" "gitlab.com/toby3d/indieauth/internal/auth" - "gitlab.com/toby3d/indieauth/internal/model" + "gitlab.com/toby3d/indieauth/internal/domain" ) type memoryAuthRepository struct { @@ -18,19 +18,19 @@ func NewMemoryAuthRepository() auth.Repository { } } -func (repo *memoryAuthRepository) Create(ctx context.Context, login *model.Login) error { +func (repo *memoryAuthRepository) Create(ctx context.Context, login *domain.Login) error { repo.logins.Store(login.Code, login) return nil } -func (repo *memoryAuthRepository) Get(ctx context.Context, code string) (*model.Login, error) { +func (repo *memoryAuthRepository) Get(ctx context.Context, code string) (*domain.Login, error) { login, ok := repo.logins.LoadAndDelete(code) if !ok { return nil, nil } - return login.(*model.Login), nil + return login.(*domain.Login), nil } func (repo *memoryAuthRepository) Delete(ctx context.Context, code string) error { diff --git a/internal/auth/usecase.go b/internal/auth/usecase.go index 7ad21d8..9bd0bbc 100644 --- a/internal/auth/usecase.go +++ b/internal/auth/usecase.go @@ -3,11 +3,11 @@ package auth import ( "context" - "gitlab.com/toby3d/indieauth/internal/model" + "gitlab.com/toby3d/indieauth/internal/domain" ) type UseCase interface { - Discovery(ctx context.Context, clientId string) (*model.Client, error) - Approve(ctx context.Context, login *model.Login) (string, error) - Exchange(ctx context.Context, req *model.ExchangeRequest) (string, error) + Discovery(ctx context.Context, clientId string) (*domain.Client, error) + Approve(ctx context.Context, login *domain.Login) (string, error) + Exchange(ctx context.Context, req *domain.ExchangeRequest) (string, error) } diff --git a/internal/auth/usecase/auth_usecase.go b/internal/auth/usecase/auth_usecase.go index 1d24b3c..e2a65cf 100644 --- a/internal/auth/usecase/auth_usecase.go +++ b/internal/auth/usecase/auth_usecase.go @@ -8,7 +8,7 @@ import ( http "github.com/valyala/fasthttp" "gitlab.com/toby3d/indieauth/internal/auth" - "gitlab.com/toby3d/indieauth/internal/model" + "gitlab.com/toby3d/indieauth/internal/domain" "gitlab.com/toby3d/indieauth/internal/pkce" "gitlab.com/toby3d/indieauth/internal/random" "willnorris.com/go/microformats" @@ -26,7 +26,7 @@ func NewAuthUseCase(repo auth.Repository) auth.UseCase { } } -func (useCase *authUseCase) Discovery(ctx context.Context, clientId string) (*model.Client, error) { +func (useCase *authUseCase) Discovery(ctx context.Context, clientId string) (*domain.Client, error) { _, src, err := useCase.client.Get(nil, clientId) if err != nil { return nil, err @@ -39,7 +39,7 @@ func (useCase *authUseCase) Discovery(ctx context.Context, clientId string) (*mo data := microformats.Parse(bytes.NewReader(src), cid) - client := new(model.Client) + client := new(domain.Client) client.RedirectURI = make([]string, 0) for i := range data.Items { @@ -68,7 +68,6 @@ func (useCase *authUseCase) Discovery(ctx context.Context, clientId string) (*mo } } } - } for key, values := range data.Rels { @@ -80,8 +79,8 @@ func (useCase *authUseCase) Discovery(ctx context.Context, clientId string) (*mo } if client.URL != clientId { - return nil, model.Error{ - Code: model.ErrInvalidRequest.Code, + return nil, domain.Error{ + Code: domain.ErrInvalidRequest.Code, Description: "'client_id' does not match the actual client URL", } } @@ -89,7 +88,7 @@ func (useCase *authUseCase) Discovery(ctx context.Context, clientId string) (*mo return client, nil } -func (useCase *authUseCase) Approve(ctx context.Context, login *model.Login) (string, error) { +func (useCase *authUseCase) Approve(ctx context.Context, login *domain.Login) (string, error) { login.Code = random.New().String(32) if err := useCase.repo.Create(ctx, login); err != nil { @@ -99,7 +98,7 @@ func (useCase *authUseCase) Approve(ctx context.Context, login *model.Login) (st return login.Code, nil } -func (useCase *authUseCase) Exchange(ctx context.Context, req *model.ExchangeRequest) (string, error) { +func (useCase *authUseCase) Exchange(ctx context.Context, req *domain.ExchangeRequest) (string, error) { login, err := useCase.repo.Get(ctx, req.Code) if err != nil { return "", err @@ -116,7 +115,7 @@ func (useCase *authUseCase) Exchange(ctx context.Context, req *model.ExchangeReq } if login.ClientID != req.ClientID || login.RedirectURI != req.RedirectURI { - return "", model.ErrInvalidRequest + return "", domain.ErrInvalidRequest } if login.CodeChallenge != "" { @@ -130,7 +129,7 @@ func (useCase *authUseCase) Exchange(ctx context.Context, req *model.ExchangeReq codeChallenge.Generate() if login.CodeChallenge != codeChallenge.Challenge { - return "", model.ErrInvalidRequest + return "", domain.ErrInvalidRequest } } diff --git a/internal/client/delivery/http/home_http.go b/internal/client/delivery/http/home_http.go index 74909ba..55be69c 100644 --- a/internal/client/delivery/http/home_http.go +++ b/internal/client/delivery/http/home_http.go @@ -9,10 +9,10 @@ import ( "golang.org/x/text/language" "golang.org/x/text/message" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/random" - "source.toby3d.me/website/oauth/web" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/random" + "source.toby3d.me/website/indieauth/web" ) type RequestHandler struct { diff --git a/internal/client/delivery/http/home_http_test.go b/internal/client/delivery/http/home_http_test.go index e20744b..51811c4 100644 --- a/internal/client/delivery/http/home_http_test.go +++ b/internal/client/delivery/http/home_http_test.go @@ -10,9 +10,9 @@ import ( "golang.org/x/text/language" "golang.org/x/text/message" - delivery "source.toby3d.me/website/oauth/internal/client/delivery/http" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/testing/httptest" + delivery "source.toby3d.me/website/indieauth/internal/client/delivery/http" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/testing/httptest" ) func TestRead(t *testing.T) { diff --git a/internal/client/repository.go b/internal/client/repository.go index e4487bc..2a66256 100644 --- a/internal/client/repository.go +++ b/internal/client/repository.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type Repository interface { diff --git a/internal/client/repository/http/http_client.go b/internal/client/repository/http/http_client.go index e7b78f3..5169a74 100644 --- a/internal/client/repository/http/http_client.go +++ b/internal/client/repository/http/http_client.go @@ -11,8 +11,8 @@ import ( http "github.com/valyala/fasthttp" "willnorris.com/go/microformats" - "source.toby3d.me/website/oauth/internal/client" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/client" + "source.toby3d.me/website/indieauth/internal/domain" ) type httpClientRepository struct { diff --git a/internal/client/repository/http/http_client_test.go b/internal/client/repository/http/http_client_test.go index 972fb07..bab9e52 100644 --- a/internal/client/repository/http/http_client_test.go +++ b/internal/client/repository/http/http_client_test.go @@ -9,10 +9,10 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - repository "source.toby3d.me/website/oauth/internal/client/repository/http" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/testing/httptest" + repository "source.toby3d.me/website/indieauth/internal/client/repository/http" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/testing/httptest" ) const testBody string = ` diff --git a/internal/client/repository/memory/memory_client.go b/internal/client/repository/memory/memory_client.go index 1dfbf25..9ed6892 100644 --- a/internal/client/repository/memory/memory_client.go +++ b/internal/client/repository/memory/memory_client.go @@ -5,8 +5,8 @@ import ( "path" "sync" - "source.toby3d.me/website/oauth/internal/client" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/client" + "source.toby3d.me/website/indieauth/internal/domain" ) type memoryClientRepository struct { diff --git a/internal/client/repository/memory/memory_client_test.go b/internal/client/repository/memory/memory_client_test.go index 2e33ec3..bda82d5 100644 --- a/internal/client/repository/memory/memory_client_test.go +++ b/internal/client/repository/memory/memory_client_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - repository "source.toby3d.me/website/oauth/internal/client/repository/memory" - "source.toby3d.me/website/oauth/internal/domain" + repository "source.toby3d.me/website/indieauth/internal/client/repository/memory" + "source.toby3d.me/website/indieauth/internal/domain" ) func TestGet(t *testing.T) { diff --git a/internal/client/usecase.go b/internal/client/usecase.go index d4ff7d1..f67e586 100644 --- a/internal/client/usecase.go +++ b/internal/client/usecase.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type UseCase interface { diff --git a/internal/client/usecase/client_ucase.go b/internal/client/usecase/client_ucase.go index 0c02b77..8540c35 100644 --- a/internal/client/usecase/client_ucase.go +++ b/internal/client/usecase/client_ucase.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "source.toby3d.me/website/oauth/internal/client" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/client" + "source.toby3d.me/website/indieauth/internal/domain" ) type clientUseCase struct { diff --git a/internal/client/usecase/client_ucase_test.go b/internal/client/usecase/client_ucase_test.go index fb1b5d6..23b41fb 100644 --- a/internal/client/usecase/client_ucase_test.go +++ b/internal/client/usecase/client_ucase_test.go @@ -9,9 +9,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - repository "source.toby3d.me/website/oauth/internal/client/repository/memory" - "source.toby3d.me/website/oauth/internal/client/usecase" - "source.toby3d.me/website/oauth/internal/domain" + repository "source.toby3d.me/website/indieauth/internal/client/repository/memory" + "source.toby3d.me/website/indieauth/internal/client/usecase" + "source.toby3d.me/website/indieauth/internal/domain" ) func TestDiscovery(t *testing.T) { diff --git a/internal/cmd/root.go b/internal/cmd/root.go index 571cda8..44336e9 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -8,7 +8,7 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) //nolint: gochecknoglobals diff --git a/internal/cmd/start.go b/internal/cmd/start.go index 46f7cb1..8110dfa 100644 --- a/internal/cmd/start.go +++ b/internal/cmd/start.go @@ -16,16 +16,16 @@ import ( "github.com/spf13/cobra" http "github.com/valyala/fasthttp" "github.com/valyala/fasthttp/pprofhandler" - bolt "go.etcd.io/bbolt" "golang.org/x/text/language" "golang.org/x/text/message" - clienthttpdelivery "source.toby3d.me/website/oauth/internal/client/delivery/http" - healthhttpdelivery "source.toby3d.me/website/oauth/internal/health/delivery/http" - metadatahttpdelivery "source.toby3d.me/website/oauth/internal/metadata/delivery/http" - tickethttpdelivery "source.toby3d.me/website/oauth/internal/ticket/delivery/http" - ticketrepo "source.toby3d.me/website/oauth/internal/ticket/repository/http" - ticketucase "source.toby3d.me/website/oauth/internal/ticket/usecase" + // bolt "go.etcd.io/bbolt". + clienthttpdelivery "source.toby3d.me/website/indieauth/internal/client/delivery/http" + healthhttpdelivery "source.toby3d.me/website/indieauth/internal/health/delivery/http" + metadatahttpdelivery "source.toby3d.me/website/indieauth/internal/metadata/delivery/http" + tickethttpdelivery "source.toby3d.me/website/indieauth/internal/ticket/delivery/http" + ticketrepo "source.toby3d.me/website/indieauth/internal/ticket/repository/http" + ticketucase "source.toby3d.me/website/indieauth/internal/ticket/usecase" ) const ( @@ -58,11 +58,13 @@ func init() { } func startServer(cmd *cobra.Command, args []string) { - store, err := bolt.Open(config.Database.Path, os.ModePerm, nil) - if err != nil { - log.Fatalln("failed to open database connection:", err) - } - defer store.Close() + /* + store, err := bolt.Open(config.Database.Path, os.ModePerm, nil) + if err != nil { + log.Fatalln("failed to open database connection:", err) + } + defer store.Close() + */ httpClient := &http.Client{ Name: fmt.Sprintf("%s/0.1 (+%s)", config.Name, config.Server.GetAddress()), @@ -135,7 +137,7 @@ func startServer(cmd *cobra.Command, args []string) { <-done - if err = server.Shutdown(); err != nil { + if err := server.Shutdown(); err != nil { log.Fatalln("failed shutdown of server:", err) } diff --git a/internal/domain/client_id_test.go b/internal/domain/client_id_test.go index 75f5969..08a6aa4 100644 --- a/internal/domain/client_id_test.go +++ b/internal/domain/client_id_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) //nolint: funlen diff --git a/internal/domain/code.go b/internal/domain/code.go index 4135550..5973112 100644 --- a/internal/domain/code.go +++ b/internal/domain/code.go @@ -8,7 +8,7 @@ import ( "github.com/brianvoe/gofakeit/v6" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/random" + "source.toby3d.me/website/indieauth/internal/random" ) // Code describes the PKCE challenge to validate the security of the request. diff --git a/internal/domain/code_challenge_method_test.go b/internal/domain/code_challenge_method_test.go index 43e709c..0d47370 100644 --- a/internal/domain/code_challenge_method_test.go +++ b/internal/domain/code_challenge_method_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) func TestParseCodeChallengeMethod(t *testing.T) { diff --git a/internal/domain/code_test.go b/internal/domain/code_test.go index 6cc34c5..42fd8e0 100644 --- a/internal/domain/code_test.go +++ b/internal/domain/code_test.go @@ -13,8 +13,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/random" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/random" ) //nolint: funlen diff --git a/internal/domain/me_test.go b/internal/domain/me_test.go index 8e86752..27e9f4f 100644 --- a/internal/domain/me_test.go +++ b/internal/domain/me_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) func TestMe(t *testing.T) { diff --git a/internal/domain/scope_test.go b/internal/domain/scope_test.go index 2e1a13a..acfeaf1 100644 --- a/internal/domain/scope_test.go +++ b/internal/domain/scope_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) func TestScopesUnmarshalJSON(t *testing.T) { diff --git a/internal/domain/token.go b/internal/domain/token.go index 7b1b387..5a7648d 100644 --- a/internal/domain/token.go +++ b/internal/domain/token.go @@ -10,7 +10,7 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/random" + "source.toby3d.me/website/indieauth/internal/random" ) type ( diff --git a/internal/health/delivery/http/health_http.go b/internal/health/delivery/http/health_http.go index a55cf99..c1a2399 100644 --- a/internal/health/delivery/http/health_http.go +++ b/internal/health/delivery/http/health_http.go @@ -4,7 +4,7 @@ import ( "github.com/fasthttp/router" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" + "source.toby3d.me/website/indieauth/internal/common" ) type RequestHandler struct{} diff --git a/internal/health/delivery/http/health_http_test.go b/internal/health/delivery/http/health_http_test.go index b579d25..19140e0 100644 --- a/internal/health/delivery/http/health_http_test.go +++ b/internal/health/delivery/http/health_http_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - delivery "source.toby3d.me/website/oauth/internal/health/delivery/http" - "source.toby3d.me/website/oauth/internal/testing/httptest" + delivery "source.toby3d.me/website/indieauth/internal/health/delivery/http" + "source.toby3d.me/website/indieauth/internal/testing/httptest" ) func TestRequestHandler(t *testing.T) { diff --git a/internal/metadata/delivery/http/metadata_http.go b/internal/metadata/delivery/http/metadata_http.go index 964399a..587fb17 100644 --- a/internal/metadata/delivery/http/metadata_http.go +++ b/internal/metadata/delivery/http/metadata_http.go @@ -6,8 +6,8 @@ import ( "github.com/fasthttp/router" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" ) type ( diff --git a/internal/metadata/delivery/http/metadata_http_test.go b/internal/metadata/delivery/http/metadata_http_test.go index 799b835..1f32cdc 100644 --- a/internal/metadata/delivery/http/metadata_http_test.go +++ b/internal/metadata/delivery/http/metadata_http_test.go @@ -9,9 +9,9 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/domain" - delivery "source.toby3d.me/website/oauth/internal/metadata/delivery/http" - "source.toby3d.me/website/oauth/internal/testing/httptest" + "source.toby3d.me/website/indieauth/internal/domain" + delivery "source.toby3d.me/website/indieauth/internal/metadata/delivery/http" + "source.toby3d.me/website/indieauth/internal/testing/httptest" ) func TestMetadata(t *testing.T) { diff --git a/internal/ticket/delivery/http/ticket_http.go b/internal/ticket/delivery/http/ticket_http.go index 7d58737..e58d3f7 100644 --- a/internal/ticket/delivery/http/ticket_http.go +++ b/internal/ticket/delivery/http/ticket_http.go @@ -9,9 +9,9 @@ import ( "golang.org/x/xerrors" "source.toby3d.me/toby3d/form" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/ticket" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/ticket" ) type ( diff --git a/internal/ticket/delivery/http/ticket_http_test.go b/internal/ticket/delivery/http/ticket_http_test.go index 6c42691..84380c2 100644 --- a/internal/ticket/delivery/http/ticket_http_test.go +++ b/internal/ticket/delivery/http/ticket_http_test.go @@ -11,12 +11,12 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/testing/httptest" - delivery "source.toby3d.me/website/oauth/internal/ticket/delivery/http" - ticketrepo "source.toby3d.me/website/oauth/internal/ticket/repository/memory" - ucase "source.toby3d.me/website/oauth/internal/ticket/usecase" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/testing/httptest" + delivery "source.toby3d.me/website/indieauth/internal/ticket/delivery/http" + ticketrepo "source.toby3d.me/website/indieauth/internal/ticket/repository/memory" + ucase "source.toby3d.me/website/indieauth/internal/ticket/usecase" ) // TODO(toby3d): looks ugly, refactor this? diff --git a/internal/ticket/repository.go b/internal/ticket/repository.go index 8179110..978ff6f 100644 --- a/internal/ticket/repository.go +++ b/internal/ticket/repository.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type Repository interface { diff --git a/internal/ticket/repository/http/http_ticket.go b/internal/ticket/repository/http/http_ticket.go index 07662e6..9d450bb 100644 --- a/internal/ticket/repository/http/http_ticket.go +++ b/internal/ticket/repository/http/http_ticket.go @@ -12,8 +12,8 @@ import ( http "github.com/valyala/fasthttp" "willnorris.com/go/microformats" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/ticket" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/ticket" ) type ( diff --git a/internal/ticket/repository/http/http_ticket_test.go b/internal/ticket/repository/http/http_ticket_test.go index a102d43..3d500ed 100644 --- a/internal/ticket/repository/http/http_ticket_test.go +++ b/internal/ticket/repository/http/http_ticket_test.go @@ -11,10 +11,10 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/testing/httptest" - repository "source.toby3d.me/website/oauth/internal/ticket/repository/http" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/testing/httptest" + repository "source.toby3d.me/website/indieauth/internal/ticket/repository/http" ) type TestCase struct { diff --git a/internal/ticket/repository/memory/memory_ticket.go b/internal/ticket/repository/memory/memory_ticket.go index 8723094..9583823 100644 --- a/internal/ticket/repository/memory/memory_ticket.go +++ b/internal/ticket/repository/memory/memory_ticket.go @@ -5,8 +5,8 @@ import ( "path" "sync" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/ticket" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/ticket" ) type memoryTicketRepository struct { diff --git a/internal/ticket/repository/memory/memory_ticket_test.go b/internal/ticket/repository/memory/memory_ticket_test.go index eb57d40..4f3930e 100644 --- a/internal/ticket/repository/memory/memory_ticket_test.go +++ b/internal/ticket/repository/memory/memory_ticket_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" - repository "source.toby3d.me/website/oauth/internal/ticket/repository/memory" + "source.toby3d.me/website/indieauth/internal/domain" + repository "source.toby3d.me/website/indieauth/internal/ticket/repository/memory" ) func TestGet(t *testing.T) { diff --git a/internal/ticket/usecase.go b/internal/ticket/usecase.go index a43cfbe..45a19ae 100644 --- a/internal/ticket/usecase.go +++ b/internal/ticket/usecase.go @@ -3,7 +3,7 @@ package ticket import ( "context" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type UseCase interface { diff --git a/internal/ticket/usecase/ticket_ucase.go b/internal/ticket/usecase/ticket_ucase.go index 5dc0e2a..0fc8feb 100644 --- a/internal/ticket/usecase/ticket_ucase.go +++ b/internal/ticket/usecase/ticket_ucase.go @@ -7,9 +7,9 @@ import ( http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/ticket" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/ticket" ) type ( diff --git a/internal/ticket/usecase/ticket_ucase_test.go b/internal/ticket/usecase/ticket_ucase_test.go index f9b7a64..07b2a69 100644 --- a/internal/ticket/usecase/ticket_ucase_test.go +++ b/internal/ticket/usecase/ticket_ucase_test.go @@ -11,11 +11,11 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/testing/httptest" - repo "source.toby3d.me/website/oauth/internal/ticket/repository/memory" - ucase "source.toby3d.me/website/oauth/internal/ticket/usecase" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/testing/httptest" + repo "source.toby3d.me/website/indieauth/internal/ticket/repository/memory" + ucase "source.toby3d.me/website/indieauth/internal/ticket/usecase" ) func TestRedeem(t *testing.T) { diff --git a/internal/token/delivery/http/token_http.go b/internal/token/delivery/http/token_http.go index a211a6a..d16b906 100644 --- a/internal/token/delivery/http/token_http.go +++ b/internal/token/delivery/http/token_http.go @@ -9,9 +9,9 @@ import ( http "github.com/valyala/fasthttp" "golang.org/x/xerrors" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/token" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/token" ) type ( diff --git a/internal/token/delivery/http/token_http_test.go b/internal/token/delivery/http/token_http_test.go index d8c53fc..07eea0c 100644 --- a/internal/token/delivery/http/token_http_test.go +++ b/internal/token/delivery/http/token_http_test.go @@ -12,14 +12,14 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - configrepo "source.toby3d.me/website/oauth/internal/config/repository/viper" - configucase "source.toby3d.me/website/oauth/internal/config/usecase" - "source.toby3d.me/website/oauth/internal/domain" - delivery "source.toby3d.me/website/oauth/internal/token/delivery/http" - repository "source.toby3d.me/website/oauth/internal/token/repository/memory" - "source.toby3d.me/website/oauth/internal/token/usecase" - "source.toby3d.me/website/oauth/internal/util" + "source.toby3d.me/website/indieauth/internal/common" + configrepo "source.toby3d.me/website/indieauth/internal/config/repository/viper" + configucase "source.toby3d.me/website/indieauth/internal/config/usecase" + "source.toby3d.me/website/indieauth/internal/domain" + delivery "source.toby3d.me/website/indieauth/internal/token/delivery/http" + repository "source.toby3d.me/website/indieauth/internal/token/repository/memory" + "source.toby3d.me/website/indieauth/internal/token/usecase" + "source.toby3d.me/website/indieauth/internal/util" ) func TestVerification(t *testing.T) { diff --git a/internal/token/repository.go b/internal/token/repository.go index 0f48e49..f060a05 100644 --- a/internal/token/repository.go +++ b/internal/token/repository.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type Repository interface { diff --git a/internal/token/repository/bolt/bolt_token.go b/internal/token/repository/bolt/bolt_token.go index d141bbe..4606593 100644 --- a/internal/token/repository/bolt/bolt_token.go +++ b/internal/token/repository/bolt/bolt_token.go @@ -9,8 +9,8 @@ import ( bolt "go.etcd.io/bbolt" "golang.org/x/xerrors" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/token" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/token" ) type ( diff --git a/internal/token/repository/bolt/bolt_token_test.go b/internal/token/repository/bolt/bolt_token_test.go index a60d949..1ed75bf 100644 --- a/internal/token/repository/bolt/bolt_token_test.go +++ b/internal/token/repository/bolt/bolt_token_test.go @@ -10,10 +10,10 @@ import ( "github.com/stretchr/testify/require" bolt "go.etcd.io/bbolt" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/token" - repository "source.toby3d.me/website/oauth/internal/token/repository/bolt" - "source.toby3d.me/website/oauth/internal/util" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/token" + repository "source.toby3d.me/website/indieauth/internal/token/repository/bolt" + "source.toby3d.me/website/indieauth/internal/util" ) func TestCreate(t *testing.T) { diff --git a/internal/token/repository/memory/memory_token.go b/internal/token/repository/memory/memory_token.go index 2e3c1eb..2b8a38d 100644 --- a/internal/token/repository/memory/memory_token.go +++ b/internal/token/repository/memory/memory_token.go @@ -7,8 +7,8 @@ import ( "golang.org/x/xerrors" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/token" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/token" ) type memoryTokenRepository struct { diff --git a/internal/token/repository/memory/memory_token_test.go b/internal/token/repository/memory/memory_token_test.go index 8223ae6..7d4f693 100644 --- a/internal/token/repository/memory/memory_token_test.go +++ b/internal/token/repository/memory/memory_token_test.go @@ -9,9 +9,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/token" - repository "source.toby3d.me/website/oauth/internal/token/repository/memory" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/token" + repository "source.toby3d.me/website/indieauth/internal/token/repository/memory" ) func TestCreate(t *testing.T) { diff --git a/internal/token/usecase.go b/internal/token/usecase.go index 2224eb3..9aea133 100644 --- a/internal/token/usecase.go +++ b/internal/token/usecase.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type ( diff --git a/internal/token/usecase/token_ucase.go b/internal/token/usecase/token_ucase.go index 69061c9..3e4d661 100644 --- a/internal/token/usecase/token_ucase.go +++ b/internal/token/usecase/token_ucase.go @@ -10,10 +10,10 @@ import ( "github.com/pkg/errors" "golang.org/x/xerrors" - "source.toby3d.me/website/oauth/internal/config" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/random" - "source.toby3d.me/website/oauth/internal/token" + "source.toby3d.me/website/indieauth/internal/config" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/random" + "source.toby3d.me/website/indieauth/internal/token" ) type ( diff --git a/internal/token/usecase/token_ucase_test.go b/internal/token/usecase/token_ucase_test.go index f8ffdca..edb59ba 100644 --- a/internal/token/usecase/token_ucase_test.go +++ b/internal/token/usecase/token_ucase_test.go @@ -10,12 +10,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - configrepo "source.toby3d.me/website/oauth/internal/config/repository/viper" - configucase "source.toby3d.me/website/oauth/internal/config/usecase" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/token" - repository "source.toby3d.me/website/oauth/internal/token/repository/memory" - ucase "source.toby3d.me/website/oauth/internal/token/usecase" + configrepo "source.toby3d.me/website/indieauth/internal/config/repository/viper" + configucase "source.toby3d.me/website/indieauth/internal/config/usecase" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/token" + repository "source.toby3d.me/website/indieauth/internal/token/repository/memory" + ucase "source.toby3d.me/website/indieauth/internal/token/usecase" ) func TestGenerate(t *testing.T) { diff --git a/internal/user/repository.go b/internal/user/repository.go index 5b5687c..24c286b 100644 --- a/internal/user/repository.go +++ b/internal/user/repository.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type Repository interface { diff --git a/internal/user/repository/http/http_user.go b/internal/user/repository/http/http_user.go index b7c22ca..1a8e66c 100644 --- a/internal/user/repository/http/http_user.go +++ b/internal/user/repository/http/http_user.go @@ -12,8 +12,8 @@ import ( http "github.com/valyala/fasthttp" "willnorris.com/go/microformats" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/user" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/user" ) type ( diff --git a/internal/user/repository/http/http_user_test.go b/internal/user/repository/http/http_user_test.go index e925f4f..11bab8a 100644 --- a/internal/user/repository/http/http_user_test.go +++ b/internal/user/repository/http/http_user_test.go @@ -12,10 +12,10 @@ import ( "github.com/stretchr/testify/require" http "github.com/valyala/fasthttp" - "source.toby3d.me/website/oauth/internal/common" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/testing/httptest" - repository "source.toby3d.me/website/oauth/internal/user/repository/http" + "source.toby3d.me/website/indieauth/internal/common" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/testing/httptest" + repository "source.toby3d.me/website/indieauth/internal/user/repository/http" ) const testBody string = ` diff --git a/internal/user/repository/memory/memory_user.go b/internal/user/repository/memory/memory_user.go index cd7082f..28d9171 100644 --- a/internal/user/repository/memory/memory_user.go +++ b/internal/user/repository/memory/memory_user.go @@ -5,8 +5,8 @@ import ( "path" "sync" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/user" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/user" ) type memoryUserRepository struct { diff --git a/internal/user/repository/memory/memory_user_test.go b/internal/user/repository/memory/memory_user_test.go index 81e5723..320ebbd 100644 --- a/internal/user/repository/memory/memory_user_test.go +++ b/internal/user/repository/memory/memory_user_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "source.toby3d.me/website/oauth/internal/domain" - repository "source.toby3d.me/website/oauth/internal/user/repository/memory" + "source.toby3d.me/website/indieauth/internal/domain" + repository "source.toby3d.me/website/indieauth/internal/user/repository/memory" ) func TestGet(t *testing.T) { diff --git a/internal/user/usecase.go b/internal/user/usecase.go index 451f9c7..72aeb16 100644 --- a/internal/user/usecase.go +++ b/internal/user/usecase.go @@ -3,7 +3,7 @@ package user import ( "context" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) type UseCase interface { diff --git a/internal/user/usecase/user_ucase.go b/internal/user/usecase/user_ucase.go index b9c205e..f0dcaf2 100644 --- a/internal/user/usecase/user_ucase.go +++ b/internal/user/usecase/user_ucase.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "source.toby3d.me/website/oauth/internal/domain" - "source.toby3d.me/website/oauth/internal/user" + "source.toby3d.me/website/indieauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/user" ) type userUseCase struct { diff --git a/internal/user/usecase/user_ucase_test.go b/internal/user/usecase/user_ucase_test.go index da3a2a5..c19cc95 100644 --- a/internal/user/usecase/user_ucase_test.go +++ b/internal/user/usecase/user_ucase_test.go @@ -8,9 +8,9 @@ import ( "github.com/stretchr/testify/assert" - "source.toby3d.me/website/oauth/internal/domain" - repository "source.toby3d.me/website/oauth/internal/user/repository/memory" - ucase "source.toby3d.me/website/oauth/internal/user/usecase" + "source.toby3d.me/website/indieauth/internal/domain" + repository "source.toby3d.me/website/indieauth/internal/user/repository/memory" + ucase "source.toby3d.me/website/indieauth/internal/user/usecase" ) func TestFetch(t *testing.T) { diff --git a/locales/en/out.gotext.json b/locales/en/out.gotext.json index f96944f..69333ba 100644 --- a/locales/en/out.gotext.json +++ b/locales/en/out.gotext.json @@ -1,51 +1,6 @@ { "language": "en", "messages": [ - { - "id": "Authorize {Name0}", - "message": "Authorize {Name0}", - "translation": "Authorize {Name0}", - "translatorComment": "Copied from source.", - "placeholders": [ - { - "id": "Name0", - "string": "%[1]s", - "type": "string", - "underlyingType": "string", - "argNum": 1, - "expr": "p.Client.Name[0]" - } - ], - "fuzzy": true - }, - { - "id": "Authorize application", - "message": "Authorize application", - "translation": "Authorize application", - "translatorComment": "Authorization page header for an unnamed application", - "fuzzy": true - }, - { - "id": "Authorize", - "message": "Authorize", - "translation": "Authorize", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "application", - "message": "application", - "translation": "application", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Check your scopes", - "message": "Check your scopes", - "translation": "Check your scopes", - "translatorComment": "Name of the section with the set of access rights checkboxes on the login page", - "fuzzy": true - }, { "id": "Deny", "message": "Deny", @@ -66,20 +21,6 @@ "translation": "Sign In", "translatorComment": "The name of the button in the site address entry form to start the login process", "fuzzy": true - }, - { - "id": "Create a new remote token", - "message": "Create a new remote token", - "translation": "Create a new remote token", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Send", - "message": "Send", - "translation": "Send", - "translatorComment": "Copied from source.", - "fuzzy": true } ] } \ No newline at end of file diff --git a/locales/ru/out.gotext.json b/locales/ru/out.gotext.json index 4503ae1..90168f7 100644 --- a/locales/ru/out.gotext.json +++ b/locales/ru/out.gotext.json @@ -1,43 +1,6 @@ { "language": "ru", "messages": [ - { - "id": "Authorize {Name0}", - "message": "Authorize {Name0}", - "translation": "", - "placeholders": [ - { - "id": "Name0", - "string": "%[1]s", - "type": "string", - "underlyingType": "string", - "argNum": 1, - "expr": "p.Client.Name[0]" - } - ] - }, - { - "id": "Authorize application", - "message": "Authorize application", - "translation": "Авторизовать приложение", - "translatorComment": "Заголовок страницы авторизации безымянного приложения" - }, - { - "id": "Authorize", - "message": "Authorize", - "translation": "" - }, - { - "id": "application", - "message": "application", - "translation": "" - }, - { - "id": "Check your scopes", - "message": "Check your scopes", - "translation": "Проверь права доступа", - "translatorComment": "Имя секции с набором чекбоксов прав доступа на странице авторизации" - }, { "id": "Deny", "message": "Deny", @@ -55,16 +18,6 @@ "message": "Sign In", "translation": "Войти", "translatorComment": "Название кнопки в форме ввода адреса сайта для начала процесса входа" - }, - { - "id": "Create a new remote token", - "message": "Create a new remote token", - "translation": "" - }, - { - "id": "Send", - "message": "Send", - "translation": "" } ] } \ No newline at end of file diff --git a/main.go b/main.go index 55b646d..df7ecaf 100644 --- a/main.go +++ b/main.go @@ -7,7 +7,7 @@ package main import ( _ "embed" - "source.toby3d.me/website/oauth/internal/cmd" + "source.toby3d.me/website/indieauth/internal/cmd" ) func main() { cmd.Execute() } diff --git a/web/auth.qtpl.go b/web/auth.qtpl.go deleted file mode 100644 index c6a4015..0000000 --- a/web/auth.qtpl.go +++ /dev/null @@ -1,351 +0,0 @@ -// Code generated by qtc from "auth.qtpl". DO NOT EDIT. -// See https://github.com/valyala/quicktemplate for details. - -//line ../../web/auth.qtpl:1 -package web - -//line ../../web/auth.qtpl:1 -import "gitlab.com/toby3d/indieauth/internal/model" - -//line ../../web/auth.qtpl:3 -import ( - qtio422016 "io" - - qt422016 "github.com/valyala/quicktemplate" -) - -//line ../../web/auth.qtpl:3 -var ( - _ = qtio422016.Copy - _ = qt422016.AcquireByteBuffer -) - -//line ../../web/auth.qtpl:4 -type AuthPage struct { - Client *model.Client - CodeChallenge string - CodeChallengeMethod string - CSRF []byte - Me string - RedirectURI string - ResponseType string - Scope string - State []byte -} - -//line ../../web/auth.qtpl:17 -func (p *AuthPage) StreamLang(qw422016 *qt422016.Writer) { -//line ../../web/auth.qtpl:17 - qw422016.N().S(` - en -`) -//line ../../web/auth.qtpl:19 -} - -//line ../../web/auth.qtpl:19 -func (p *AuthPage) WriteLang(qq422016 qtio422016.Writer) { -//line ../../web/auth.qtpl:19 - qw422016 := qt422016.AcquireWriter(qq422016) -//line ../../web/auth.qtpl:19 - p.StreamLang(qw422016) -//line ../../web/auth.qtpl:19 - qt422016.ReleaseWriter(qw422016) -//line ../../web/auth.qtpl:19 -} - -//line ../../web/auth.qtpl:19 -func (p *AuthPage) Lang() string { -//line ../../web/auth.qtpl:19 - qb422016 := qt422016.AcquireByteBuffer() -//line ../../web/auth.qtpl:19 - p.WriteLang(qb422016) -//line ../../web/auth.qtpl:19 - qs422016 := string(qb422016.B) -//line ../../web/auth.qtpl:19 - qt422016.ReleaseByteBuffer(qb422016) -//line ../../web/auth.qtpl:19 - return qs422016 -//line ../../web/auth.qtpl:19 -} - -//line ../../web/auth.qtpl:21 -func (p *AuthPage) StreamTitle(qw422016 *qt422016.Writer) { -//line ../../web/auth.qtpl:21 - qw422016.N().S(` - Authorize `) -//line ../../web/auth.qtpl:22 - qw422016.E().S(p.Client.Name) -//line ../../web/auth.qtpl:22 - qw422016.N().S(` -`) -//line ../../web/auth.qtpl:23 -} - -//line ../../web/auth.qtpl:23 -func (p *AuthPage) WriteTitle(qq422016 qtio422016.Writer) { -//line ../../web/auth.qtpl:23 - qw422016 := qt422016.AcquireWriter(qq422016) -//line ../../web/auth.qtpl:23 - p.StreamTitle(qw422016) -//line ../../web/auth.qtpl:23 - qt422016.ReleaseWriter(qw422016) -//line ../../web/auth.qtpl:23 -} - -//line ../../web/auth.qtpl:23 -func (p *AuthPage) Title() string { -//line ../../web/auth.qtpl:23 - qb422016 := qt422016.AcquireByteBuffer() -//line ../../web/auth.qtpl:23 - p.WriteTitle(qb422016) -//line ../../web/auth.qtpl:23 - qs422016 := string(qb422016.B) -//line ../../web/auth.qtpl:23 - qt422016.ReleaseByteBuffer(qb422016) -//line ../../web/auth.qtpl:23 - return qs422016 -//line ../../web/auth.qtpl:23 -} - -//line ../../web/auth.qtpl:25 -func (p *AuthPage) StreamHead(qw422016 *qt422016.Writer) { -//line ../../web/auth.qtpl:25 - qw422016.N().S(` -`) -//line ../../web/auth.qtpl:26 -} - -//line ../../web/auth.qtpl:26 -func (p *AuthPage) WriteHead(qq422016 qtio422016.Writer) { -//line ../../web/auth.qtpl:26 - qw422016 := qt422016.AcquireWriter(qq422016) -//line ../../web/auth.qtpl:26 - p.StreamHead(qw422016) -//line ../../web/auth.qtpl:26 - qt422016.ReleaseWriter(qw422016) -//line ../../web/auth.qtpl:26 -} - -//line ../../web/auth.qtpl:26 -func (p *AuthPage) Head() string { -//line ../../web/auth.qtpl:26 - qb422016 := qt422016.AcquireByteBuffer() -//line ../../web/auth.qtpl:26 - p.WriteHead(qb422016) -//line ../../web/auth.qtpl:26 - qs422016 := string(qb422016.B) -//line ../../web/auth.qtpl:26 - qt422016.ReleaseByteBuffer(qb422016) -//line ../../web/auth.qtpl:26 - return qs422016 -//line ../../web/auth.qtpl:26 -} - -//line ../../web/auth.qtpl:28 -func (p *AuthPage) StreamBody(qw422016 *qt422016.Writer) { -//line ../../web/auth.qtpl:28 - qw422016.N().S(` - `) -//line ../../web/auth.qtpl:29 - if p.Client.Logo != "" { -//line ../../web/auth.qtpl:29 - qw422016.N().S(` - `)
-//line ../../web/auth.qtpl:31
-		qw422016.E().S(p.Client.Name)
-//line ../../web/auth.qtpl:31
-		qw422016.N().S(` - `) -//line ../../web/auth.qtpl:40 - } -//line ../../web/auth.qtpl:40 - qw422016.N().S(` - -

`) -//line ../../web/auth.qtpl:42 - qw422016.E().S(p.Client.Name) -//line ../../web/auth.qtpl:42 - qw422016.N().S(`

- -
- - `) -//line ../../web/auth.qtpl:53 - if p.CSRF != nil { -//line ../../web/auth.qtpl:53 - qw422016.N().S(` - - `) -//line ../../web/auth.qtpl:58 - } -//line ../../web/auth.qtpl:58 - qw422016.N().S(` - - - - - - - - - - `) -//line ../../web/auth.qtpl:80 - if p.CodeChallenge != "" { -//line ../../web/auth.qtpl:80 - qw422016.N().S(` - - - - `) -//line ../../web/auth.qtpl:90 - } -//line ../../web/auth.qtpl:90 - qw422016.N().S(` - - `) -//line ../../web/auth.qtpl:92 - if p.Scope != "" { -//line ../../web/auth.qtpl:92 - qw422016.N().S(` - - `) -//line ../../web/auth.qtpl:97 - } -//line ../../web/auth.qtpl:97 - qw422016.N().S(` - - `) -//line ../../web/auth.qtpl:99 - if p.Me != "" { -//line ../../web/auth.qtpl:99 - qw422016.N().S(` - - `) -//line ../../web/auth.qtpl:104 - } -//line ../../web/auth.qtpl:104 - qw422016.N().S(` - - - - -
-`) -//line ../../web/auth.qtpl:120 -} - -//line ../../web/auth.qtpl:120 -func (p *AuthPage) WriteBody(qq422016 qtio422016.Writer) { -//line ../../web/auth.qtpl:120 - qw422016 := qt422016.AcquireWriter(qq422016) -//line ../../web/auth.qtpl:120 - p.StreamBody(qw422016) -//line ../../web/auth.qtpl:120 - qt422016.ReleaseWriter(qw422016) -//line ../../web/auth.qtpl:120 -} - -//line ../../web/auth.qtpl:120 -func (p *AuthPage) Body() string { -//line ../../web/auth.qtpl:120 - qb422016 := qt422016.AcquireByteBuffer() -//line ../../web/auth.qtpl:120 - p.WriteBody(qb422016) -//line ../../web/auth.qtpl:120 - qs422016 := string(qb422016.B) -//line ../../web/auth.qtpl:120 - qt422016.ReleaseByteBuffer(qb422016) -//line ../../web/auth.qtpl:120 - return qs422016 -//line ../../web/auth.qtpl:120 -} diff --git a/web/auth.qtpl b/web/authorize.qtpl similarity index 57% rename from web/auth.qtpl rename to web/authorize.qtpl index 9bdbb3b..594dc54 100644 --- a/web/auth.qtpl +++ b/web/authorize.qtpl @@ -1,60 +1,59 @@ -{% import "gitlab.com/toby3d/indieauth/internal/model" %} +{% import "source.toby3d.me/website/indieauth/internal/domain" %} -{% code - type AuthPage struct { - Client *model.Client - CodeChallenge string - CodeChallengeMethod string - CSRF []byte - Me string - RedirectURI string - ResponseType string - Scope string - State []byte - } -%} +{% code type AuthPage struct { + BaseOf + Client *domain.Client + Me *domain.Me + RedirectURI *domain.URL + CodeChallengeMethod domain.CodeChallengeMethod + ResponseType domain.ResponseType + Scope domain.Scopes + CodeChallenge string + CSRF string + State string +} %} {% func (p *AuthPage) Lang() %} en {% endfunc %} {% func (p *AuthPage) Title() %} - Authorize {%s p.Client.Name %} + Authorize {%s p.Client.Name[0] %} {% endfunc %} {% func (p *AuthPage) Head() %} {% endfunc %} {% func (p *AuthPage) Body() %} - {% if p.Client.Logo != "" %} + {% if p.Client.Logo[0] != nil %} {%s p.Client.Name %} {% endif %} -

{%s p.Client.Name %}

+

{%s p.Client.Name[0] %}

- {% if p.CSRF != nil %} + {% if p.CSRF != "" %} + value="{%s p.CSRF %}"> {% endif %} + value="{%s p.Client.URL[0].String() %}"> + value="{%s p.RedirectURI.String() %}"> + value="{%s p.State %}"> {% if p.CodeChallenge != "" %} + value="{%s p.CodeChallengeMethod.String() %}"> {% endif %} - {% if p.Scope != "" %} + {% if len(p.Scope) != 0 %} + value="{%s p.Scope.String() %}"> {% endif %} - {% if p.Me != "" %} + {% if p.Me != nil %} + value="{%s p.Me.String() %}"> {% endif %}
{% endfunc %} \ No newline at end of file diff --git a/web/authorize.qtpl.go b/web/authorize.qtpl.go new file mode 100644 index 0000000..3fd96fc --- /dev/null +++ b/web/authorize.qtpl.go @@ -0,0 +1,362 @@ +// Code generated by qtc from "authorize.qtpl". DO NOT EDIT. +// See https://github.com/valyala/quicktemplate for details. + +//line web/authorize.qtpl:1 +package web + +//line web/authorize.qtpl:1 +import "source.toby3d.me/website/indieauth/internal/domain" + +//line web/authorize.qtpl:3 +import ( + qtio422016 "io" + + qt422016 "github.com/valyala/quicktemplate" +) + +//line web/authorize.qtpl:3 +var ( + _ = qtio422016.Copy + _ = qt422016.AcquireByteBuffer +) + +//line web/authorize.qtpl:3 +type AuthPage struct { + BaseOf + Client *domain.Client + Me *domain.Me + RedirectURI *domain.URL + CodeChallengeMethod domain.CodeChallengeMethod + ResponseType domain.ResponseType + Scope domain.Scopes + CodeChallenge string + CSRF string + State string +} + +//line web/authorize.qtpl:16 +func (p *AuthPage) StreamLang(qw422016 *qt422016.Writer) { +//line web/authorize.qtpl:16 + qw422016.N().S(` + en +`) +//line web/authorize.qtpl:18 +} + +//line web/authorize.qtpl:18 +func (p *AuthPage) WriteLang(qq422016 qtio422016.Writer) { +//line web/authorize.qtpl:18 + qw422016 := qt422016.AcquireWriter(qq422016) +//line web/authorize.qtpl:18 + p.StreamLang(qw422016) +//line web/authorize.qtpl:18 + qt422016.ReleaseWriter(qw422016) +//line web/authorize.qtpl:18 +} + +//line web/authorize.qtpl:18 +func (p *AuthPage) Lang() string { +//line web/authorize.qtpl:18 + qb422016 := qt422016.AcquireByteBuffer() +//line web/authorize.qtpl:18 + p.WriteLang(qb422016) +//line web/authorize.qtpl:18 + qs422016 := string(qb422016.B) +//line web/authorize.qtpl:18 + qt422016.ReleaseByteBuffer(qb422016) +//line web/authorize.qtpl:18 + return qs422016 +//line web/authorize.qtpl:18 +} + +//line web/authorize.qtpl:20 +func (p *AuthPage) StreamTitle(qw422016 *qt422016.Writer) { +//line web/authorize.qtpl:20 + qw422016.N().S(` + Authorize `) +//line web/authorize.qtpl:21 + qw422016.E().S(p.Client.Name[0]) +//line web/authorize.qtpl:21 + qw422016.N().S(` +`) +//line web/authorize.qtpl:22 +} + +//line web/authorize.qtpl:22 +func (p *AuthPage) WriteTitle(qq422016 qtio422016.Writer) { +//line web/authorize.qtpl:22 + qw422016 := qt422016.AcquireWriter(qq422016) +//line web/authorize.qtpl:22 + p.StreamTitle(qw422016) +//line web/authorize.qtpl:22 + qt422016.ReleaseWriter(qw422016) +//line web/authorize.qtpl:22 +} + +//line web/authorize.qtpl:22 +func (p *AuthPage) Title() string { +//line web/authorize.qtpl:22 + qb422016 := qt422016.AcquireByteBuffer() +//line web/authorize.qtpl:22 + p.WriteTitle(qb422016) +//line web/authorize.qtpl:22 + qs422016 := string(qb422016.B) +//line web/authorize.qtpl:22 + qt422016.ReleaseByteBuffer(qb422016) +//line web/authorize.qtpl:22 + return qs422016 +//line web/authorize.qtpl:22 +} + +//line web/authorize.qtpl:24 +func (p *AuthPage) StreamHead(qw422016 *qt422016.Writer) { +//line web/authorize.qtpl:24 + qw422016.N().S(` +`) +//line web/authorize.qtpl:25 +} + +//line web/authorize.qtpl:25 +func (p *AuthPage) WriteHead(qq422016 qtio422016.Writer) { +//line web/authorize.qtpl:25 + qw422016 := qt422016.AcquireWriter(qq422016) +//line web/authorize.qtpl:25 + p.StreamHead(qw422016) +//line web/authorize.qtpl:25 + qt422016.ReleaseWriter(qw422016) +//line web/authorize.qtpl:25 +} + +//line web/authorize.qtpl:25 +func (p *AuthPage) Head() string { +//line web/authorize.qtpl:25 + qb422016 := qt422016.AcquireByteBuffer() +//line web/authorize.qtpl:25 + p.WriteHead(qb422016) +//line web/authorize.qtpl:25 + qs422016 := string(qb422016.B) +//line web/authorize.qtpl:25 + qt422016.ReleaseByteBuffer(qb422016) +//line web/authorize.qtpl:25 + return qs422016 +//line web/authorize.qtpl:25 +} + +//line web/authorize.qtpl:27 +func (p *AuthPage) StreamBody(qw422016 *qt422016.Writer) { +//line web/authorize.qtpl:27 + qw422016.N().S(` + `) +//line web/authorize.qtpl:28 + if p.Client.Logo[0] != nil { +//line web/authorize.qtpl:28 + qw422016.N().S(` + `)
+//line web/authorize.qtpl:30
+		qw422016.E().S(p.Client.Name[0])
+//line web/authorize.qtpl:30
+		qw422016.N().S(` + `) +//line web/authorize.qtpl:39 + } +//line web/authorize.qtpl:39 + qw422016.N().S(` + +

`) +//line web/authorize.qtpl:41 + qw422016.E().S(p.Client.Name[0]) +//line web/authorize.qtpl:41 + qw422016.N().S(`

+ +
+ + `) +//line web/authorize.qtpl:52 + if p.CSRF != "" { +//line web/authorize.qtpl:52 + qw422016.N().S(` + + `) +//line web/authorize.qtpl:57 + } +//line web/authorize.qtpl:57 + qw422016.N().S(` + + + + + + + + + + `) +//line web/authorize.qtpl:79 + if p.CodeChallenge != "" { +//line web/authorize.qtpl:79 + qw422016.N().S(` + + + + `) +//line web/authorize.qtpl:89 + } +//line web/authorize.qtpl:89 + qw422016.N().S(` + + `) +//line web/authorize.qtpl:91 + if len(p.Scope) != 0 { +//line web/authorize.qtpl:91 + qw422016.N().S(` + + `) +//line web/authorize.qtpl:96 + } +//line web/authorize.qtpl:96 + qw422016.N().S(` + + `) +//line web/authorize.qtpl:98 + if p.Me != nil { +//line web/authorize.qtpl:98 + qw422016.N().S(` + + `) +//line web/authorize.qtpl:103 + } +//line web/authorize.qtpl:103 + qw422016.N().S(` + + + + +
+`) +//line web/authorize.qtpl:121 +} + +//line web/authorize.qtpl:121 +func (p *AuthPage) WriteBody(qq422016 qtio422016.Writer) { +//line web/authorize.qtpl:121 + qw422016 := qt422016.AcquireWriter(qq422016) +//line web/authorize.qtpl:121 + p.StreamBody(qw422016) +//line web/authorize.qtpl:121 + qt422016.ReleaseWriter(qw422016) +//line web/authorize.qtpl:121 +} + +//line web/authorize.qtpl:121 +func (p *AuthPage) Body() string { +//line web/authorize.qtpl:121 + qb422016 := qt422016.AcquireByteBuffer() +//line web/authorize.qtpl:121 + p.WriteBody(qb422016) +//line web/authorize.qtpl:121 + qs422016 := string(qb422016.B) +//line web/authorize.qtpl:121 + qt422016.ReleaseByteBuffer(qb422016) +//line web/authorize.qtpl:121 + return qs422016 +//line web/authorize.qtpl:121 +} diff --git a/web/baseof.qtpl b/web/baseof.qtpl index 9537445..87b020e 100644 --- a/web/baseof.qtpl +++ b/web/baseof.qtpl @@ -2,7 +2,7 @@ "golang.org/x/text/language" "golang.org/x/text/message" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) %} {% interface Page { @@ -10,15 +10,14 @@ Head() Lang() Title() + T(format string, args ...interface{}) } %} -{% code - type BaseOf struct { - Config *domain.Config - Language language.Tag - Printer *message.Printer - } -%} +{% code type BaseOf struct { + Config *domain.Config + Language language.Tag + Printer *message.Printer +} %} {% stripspace %} {% func (p *BaseOf) Lang() %} @@ -71,6 +70,7 @@ content="width=device-width, initial-scale=1.0"> {%= p.Head() %} + {%= p.Title() %} @@ -79,9 +79,9 @@ {% endfunc %} -{% func (p *BaseOf) T(str string, args ...interface{}) %} +{% func (p *BaseOf) T(format string, args ...interface{}) %} {% code - result := p.Printer.Sprintf(str, args...) + result := p.Printer.Sprintf(format, args...) %} {%s result %} {% endfunc %} diff --git a/web/baseof.qtpl.go b/web/baseof.qtpl.go index 3b6c5a8..a53bb7f 100644 --- a/web/baseof.qtpl.go +++ b/web/baseof.qtpl.go @@ -9,7 +9,7 @@ import ( "golang.org/x/text/language" "golang.org/x/text/message" - "source.toby3d.me/website/oauth/internal/domain" + "source.toby3d.me/website/indieauth/internal/domain" ) //line web/baseof.qtpl:8 @@ -51,6 +51,12 @@ type Page interface { StreamTitle(qw422016 *qt422016.Writer) //line web/baseof.qtpl:8 WriteTitle(qq422016 qtio422016.Writer) +//line web/baseof.qtpl:8 + T(format string, args ...interface{}) string +//line web/baseof.qtpl:8 + StreamT(qw422016 *qt422016.Writer, format string, args ...interface{}) +//line web/baseof.qtpl:8 + WriteT(qq422016 qtio422016.Writer, format string, args ...interface{}) //line web/baseof.qtpl:8 } @@ -61,177 +67,177 @@ type BaseOf struct { Printer *message.Printer } -//line web/baseof.qtpl:24 +//line web/baseof.qtpl:23 func (p *BaseOf) StreamLang(qw422016 *qt422016.Writer) { -//line web/baseof.qtpl:25 +//line web/baseof.qtpl:24 if p.Language != language.Und { -//line web/baseof.qtpl:26 +//line web/baseof.qtpl:25 qw422016.E().S(p.Language.String()) -//line web/baseof.qtpl:27 +//line web/baseof.qtpl:26 } else { -//line web/baseof.qtpl:27 +//line web/baseof.qtpl:26 qw422016.N().S(`en`) -//line web/baseof.qtpl:29 +//line web/baseof.qtpl:28 } -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 } -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 func (p *BaseOf) WriteLang(qq422016 qtio422016.Writer) { -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 p.StreamLang(qw422016) -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 qt422016.ReleaseWriter(qw422016) -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 } -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 func (p *BaseOf) Lang() string { -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 qb422016 := qt422016.AcquireByteBuffer() -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 p.WriteLang(qb422016) -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 qs422016 := string(qb422016.B) -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 qt422016.ReleaseByteBuffer(qb422016) -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 return qs422016 -//line web/baseof.qtpl:30 +//line web/baseof.qtpl:29 } -//line web/baseof.qtpl:34 +//line web/baseof.qtpl:33 func (p *BaseOf) StreamTitle(qw422016 *qt422016.Writer) { +//line web/baseof.qtpl:33 + qw422016.N().S(` `) +//line web/baseof.qtpl:34 + qw422016.E().S(p.Config.Name) //line web/baseof.qtpl:34 qw422016.N().S(` `) //line web/baseof.qtpl:35 - qw422016.E().S(p.Config.Name) +} + //line web/baseof.qtpl:35 - qw422016.N().S(` `) -//line web/baseof.qtpl:36 -} - -//line web/baseof.qtpl:36 func (p *BaseOf) WriteTitle(qq422016 qtio422016.Writer) { -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 p.StreamTitle(qw422016) -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 qt422016.ReleaseWriter(qw422016) -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 } -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 func (p *BaseOf) Title() string { -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 qb422016 := qt422016.AcquireByteBuffer() -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 p.WriteTitle(qb422016) -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 qs422016 := string(qb422016.B) -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 qt422016.ReleaseByteBuffer(qb422016) -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 return qs422016 -//line web/baseof.qtpl:36 +//line web/baseof.qtpl:35 } -//line web/baseof.qtpl:38 +//line web/baseof.qtpl:37 func (p *BaseOf) StreamHead(qw422016 *qt422016.Writer) { -//line web/baseof.qtpl:38 +//line web/baseof.qtpl:37 qw422016.N().S(` `) -//line web/baseof.qtpl:39 +//line web/baseof.qtpl:38 qw422016.N().S(` `) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 } -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 func (p *BaseOf) WriteHead(qq422016 qtio422016.Writer) { -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 p.StreamHead(qw422016) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 qt422016.ReleaseWriter(qw422016) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 } -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 func (p *BaseOf) Head() string { -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 qb422016 := qt422016.AcquireByteBuffer() -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 p.WriteHead(qb422016) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 qs422016 := string(qb422016.B) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 qt422016.ReleaseByteBuffer(qb422016) -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 return qs422016 -//line web/baseof.qtpl:57 +//line web/baseof.qtpl:56 } -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 func (p *BaseOf) StreamBody(qw422016 *qt422016.Writer) { -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 } -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 func (p *BaseOf) WriteBody(qq422016 qtio422016.Writer) { -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 p.StreamBody(qw422016) -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 qt422016.ReleaseWriter(qw422016) -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 } -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 func (p *BaseOf) Body() string { -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 qb422016 := qt422016.AcquireByteBuffer() -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 p.WriteBody(qb422016) -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 qs422016 := string(qb422016.B) -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 qt422016.ReleaseByteBuffer(qb422016) -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 return qs422016 -//line web/baseof.qtpl:59 +//line web/baseof.qtpl:58 } -//line web/baseof.qtpl:61 +//line web/baseof.qtpl:60 func StreamTemplate(qw422016 *qt422016.Writer, p Page) { -//line web/baseof.qtpl:61 +//line web/baseof.qtpl:60 qw422016.N().S(` `) -//line web/baseof.qtpl:73 +//line web/baseof.qtpl:72 p.StreamHead(qw422016) -//line web/baseof.qtpl:73 +//line web/baseof.qtpl:72 qw422016.N().S(` `) //line web/baseof.qtpl:74 p.StreamTitle(qw422016) @@ -271,11 +277,11 @@ func Template(p Page) string { } //line web/baseof.qtpl:82 -func (p *BaseOf) StreamT(qw422016 *qt422016.Writer, str string, args ...interface{}) { +func (p *BaseOf) StreamT(qw422016 *qt422016.Writer, format string, args ...interface{}) { //line web/baseof.qtpl:82 qw422016.N().S(` `) //line web/baseof.qtpl:84 - result := p.Printer.Sprintf(str, args...) + result := p.Printer.Sprintf(format, args...) //line web/baseof.qtpl:85 qw422016.N().S(` `) @@ -287,22 +293,22 @@ func (p *BaseOf) StreamT(qw422016 *qt422016.Writer, str string, args ...interfac } //line web/baseof.qtpl:87 -func (p *BaseOf) WriteT(qq422016 qtio422016.Writer, str string, args ...interface{}) { +func (p *BaseOf) WriteT(qq422016 qtio422016.Writer, format string, args ...interface{}) { //line web/baseof.qtpl:87 qw422016 := qt422016.AcquireWriter(qq422016) //line web/baseof.qtpl:87 - p.StreamT(qw422016, str, args...) + p.StreamT(qw422016, format, args...) //line web/baseof.qtpl:87 qt422016.ReleaseWriter(qw422016) //line web/baseof.qtpl:87 } //line web/baseof.qtpl:87 -func (p *BaseOf) T(str string, args ...interface{}) string { +func (p *BaseOf) T(format string, args ...interface{}) string { //line web/baseof.qtpl:87 qb422016 := qt422016.AcquireByteBuffer() //line web/baseof.qtpl:87 - p.WriteT(qb422016, str, args...) + p.WriteT(qb422016, format, args...) //line web/baseof.qtpl:87 qs422016 := string(qb422016.B) //line web/baseof.qtpl:87 diff --git a/web/home.qtpl b/web/home.qtpl index 213a71c..9911b99 100644 --- a/web/home.qtpl +++ b/web/home.qtpl @@ -1,14 +1,12 @@ -{% import "source.toby3d.me/website/oauth/internal/domain" %} +{% import "source.toby3d.me/website/indieauth/internal/domain" %} -{% code - type HomePage struct { - BaseOf - RedirectURI []*domain.URL - Client *domain.Client - AuthEndpoint, - State string - } -%} +{% code type HomePage struct { + BaseOf + RedirectURI []*domain.URL + Client *domain.Client + AuthEndpoint, + State string +} %} {% collapsespace %} {% func (p *HomePage) Head() %} diff --git a/web/home.qtpl.go b/web/home.qtpl.go index 223d6c9..9efc90d 100644 --- a/web/home.qtpl.go +++ b/web/home.qtpl.go @@ -5,7 +5,7 @@ package web //line web/home.qtpl:1 -import "source.toby3d.me/website/oauth/internal/domain" +import "source.toby3d.me/website/indieauth/internal/domain" //line web/home.qtpl:3 import ( @@ -20,7 +20,7 @@ var ( _ = qt422016.AcquireByteBuffer ) -//line web/home.qtpl:4 +//line web/home.qtpl:3 type HomePage struct { BaseOf RedirectURI []*domain.URL @@ -29,137 +29,137 @@ type HomePage struct { State string } -//line web/home.qtpl:14 +//line web/home.qtpl:12 func (p *HomePage) StreamHead(qw422016 *qt422016.Writer) { -//line web/home.qtpl:14 +//line web/home.qtpl:12 qw422016.N().S(` `) -//line web/home.qtpl:15 +//line web/home.qtpl:13 p.BaseOf.StreamHead(qw422016) -//line web/home.qtpl:15 +//line web/home.qtpl:13 qw422016.N().S(` `) -//line web/home.qtpl:16 +//line web/home.qtpl:14 for i := range p.RedirectURI { -//line web/home.qtpl:16 +//line web/home.qtpl:14 qw422016.N().S(` <link rel="redirect_uri" href="`) -//line web/home.qtpl:17 +//line web/home.qtpl:15 qw422016.E().S(p.RedirectURI[i].String()) -//line web/home.qtpl:17 +//line web/home.qtpl:15 qw422016.N().S(`"> `) -//line web/home.qtpl:18 +//line web/home.qtpl:16 } -//line web/home.qtpl:18 +//line web/home.qtpl:16 qw422016.N().S(` `) -//line web/home.qtpl:19 +//line web/home.qtpl:17 } -//line web/home.qtpl:19 +//line web/home.qtpl:17 func (p *HomePage) WriteHead(qq422016 qtio422016.Writer) { -//line web/home.qtpl:19 +//line web/home.qtpl:17 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/home.qtpl:19 +//line web/home.qtpl:17 p.StreamHead(qw422016) -//line web/home.qtpl:19 +//line web/home.qtpl:17 qt422016.ReleaseWriter(qw422016) -//line web/home.qtpl:19 +//line web/home.qtpl:17 } -//line web/home.qtpl:19 +//line web/home.qtpl:17 func (p *HomePage) Head() string { -//line web/home.qtpl:19 +//line web/home.qtpl:17 qb422016 := qt422016.AcquireByteBuffer() -//line web/home.qtpl:19 +//line web/home.qtpl:17 p.WriteHead(qb422016) -//line web/home.qtpl:19 +//line web/home.qtpl:17 qs422016 := string(qb422016.B) -//line web/home.qtpl:19 +//line web/home.qtpl:17 qt422016.ReleaseByteBuffer(qb422016) -//line web/home.qtpl:19 +//line web/home.qtpl:17 return qs422016 -//line web/home.qtpl:19 +//line web/home.qtpl:17 } -//line web/home.qtpl:21 +//line web/home.qtpl:19 func (p *HomePage) StreamBody(qw422016 *qt422016.Writer) { -//line web/home.qtpl:21 +//line web/home.qtpl:19 qw422016.N().S(` <div class="h-app h-x-app"> <img class="u-logo" src="`) -//line web/home.qtpl:25 +//line web/home.qtpl:23 qw422016.E().S(p.Client.Logo[0].String()) -//line web/home.qtpl:25 +//line web/home.qtpl:23 qw422016.N().S(`" alt="`) -//line web/home.qtpl:26 +//line web/home.qtpl:24 qw422016.E().S(p.Client.Name[0]) -//line web/home.qtpl:26 +//line web/home.qtpl:24 qw422016.N().S(`" crossorigin="anonymous" decoding="async" height="140" importance="high" referrerpolicy="no-referrer-when-downgrade" width="140"> <h1> <a class="p-name u-url" href="`) -//line web/home.qtpl:37 +//line web/home.qtpl:35 qw422016.E().S(p.Client.URL[0].String()) -//line web/home.qtpl:37 +//line web/home.qtpl:35 qw422016.N().S(`"> `) -//line web/home.qtpl:39 +//line web/home.qtpl:37 qw422016.E().S(p.Client.Name[0]) -//line web/home.qtpl:39 +//line web/home.qtpl:37 qw422016.N().S(` </a> </h1> <form method="get" action="`) -//line web/home.qtpl:45 +//line web/home.qtpl:43 qw422016.E().S(p.AuthEndpoint) -//line web/home.qtpl:45 +//line web/home.qtpl:43 qw422016.N().S(`" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" target="_self"> `) -//line web/home.qtpl:50 +//line web/home.qtpl:48 for name, value := range map[string]string{ "client_id": p.Client.ID.String(), "redirect_uri": p.Client.RedirectURI[0].String(), "response_type": "code", "state": p.State, } { -//line web/home.qtpl:55 +//line web/home.qtpl:53 qw422016.N().S(` <input type="hidden" name="`) -//line web/home.qtpl:58 +//line web/home.qtpl:56 qw422016.E().S(name) -//line web/home.qtpl:58 +//line web/home.qtpl:56 qw422016.N().S(`" value="`) -//line web/home.qtpl:59 +//line web/home.qtpl:57 qw422016.E().S(value) -//line web/home.qtpl:59 +//line web/home.qtpl:57 qw422016.N().S(`"> `) -//line web/home.qtpl:60 +//line web/home.qtpl:58 } -//line web/home.qtpl:60 +//line web/home.qtpl:58 qw422016.N().S(` <input type="hidden" name="scope" value="`) -//line web/home.qtpl:65 +//line web/home.qtpl:63 qw422016.E().S(domain.ScopeProfile.String()) -//line web/home.qtpl:65 +//line web/home.qtpl:63 qw422016.N().S(` `) -//line web/home.qtpl:65 +//line web/home.qtpl:63 qw422016.E().S(domain.ScopeEmail.String()) -//line web/home.qtpl:65 +//line web/home.qtpl:63 qw422016.N().S(`"> <input type="url" name="me" placeholder="https://example.com/" inputmode="url" autocomplete="url" required> <button type="submit">`) -//line web/home.qtpl:75 +//line web/home.qtpl:73 p.StreamT(qw422016, "Sign In") -//line web/home.qtpl:75 +//line web/home.qtpl:73 qw422016.N().S(`</button> </form> </div> `) -//line web/home.qtpl:78 +//line web/home.qtpl:76 } -//line web/home.qtpl:78 +//line web/home.qtpl:76 func (p *HomePage) WriteBody(qq422016 qtio422016.Writer) { -//line web/home.qtpl:78 +//line web/home.qtpl:76 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/home.qtpl:78 +//line web/home.qtpl:76 p.StreamBody(qw422016) -//line web/home.qtpl:78 +//line web/home.qtpl:76 qt422016.ReleaseWriter(qw422016) -//line web/home.qtpl:78 +//line web/home.qtpl:76 } -//line web/home.qtpl:78 +//line web/home.qtpl:76 func (p *HomePage) Body() string { -//line web/home.qtpl:78 +//line web/home.qtpl:76 qb422016 := qt422016.AcquireByteBuffer() -//line web/home.qtpl:78 +//line web/home.qtpl:76 p.WriteBody(qb422016) -//line web/home.qtpl:78 +//line web/home.qtpl:76 qs422016 := string(qb422016.B) -//line web/home.qtpl:78 +//line web/home.qtpl:76 qt422016.ReleaseByteBuffer(qb422016) -//line web/home.qtpl:78 +//line web/home.qtpl:76 return qs422016 -//line web/home.qtpl:78 +//line web/home.qtpl:76 }