diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2019-11-28 18:13:00 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2019-11-28 18:13:00 +0300 |
commit | 738d560e79d3488277fa1355a5df4484c32a251c (patch) | |
tree | d2020409f2ee2ca147e572b1ea196a220a87670e /internal/source/gitlab/client | |
parent | 18e0901b298d922ebda8295b675ac1df0f4bf77f (diff) |
Make fetching domains from domain source more resilient
Diffstat (limited to 'internal/source/gitlab/client')
-rw-r--r-- | internal/source/gitlab/client/client.go | 4 | ||||
-rw-r--r-- | internal/source/gitlab/client/client_stub.go | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/internal/source/gitlab/client/client.go b/internal/source/gitlab/client/client.go index a612f751..6b475047 100644 --- a/internal/source/gitlab/client/client.go +++ b/internal/source/gitlab/client/client.go @@ -29,6 +29,8 @@ var ( errNotFound = errors.New("Not Found") ) +var tokenTimeout = 30 * time.Second + // NewClient initializes and returns new Client baseUrl is // appConfig.GitLabServer secretKey is appConfig.GitLabAPISecretKey func NewClient(baseURL string, secretKey []byte) *Client { @@ -137,7 +139,7 @@ func (gc *Client) request(method string, endpoint *url.URL) (*http.Request, erro func (gc *Client) token() (string, error) { claims := jwt.StandardClaims{ Issuer: "gitlab-pages", - ExpiresAt: time.Now().Add(5 * time.Second).Unix(), + ExpiresAt: time.Now().Add(tokenTimeout).Unix(), } token, err := jwt.NewWithClaims(jwt.SigningMethodHS256, claims).SignedString(gc.secretKey) diff --git a/internal/source/gitlab/client/client_stub.go b/internal/source/gitlab/client/client_stub.go index 0e24fe7f..809d60d3 100644 --- a/internal/source/gitlab/client/client_stub.go +++ b/internal/source/gitlab/client/client_stub.go @@ -13,16 +13,17 @@ type StubClient struct { } // GetVirtualDomain reads a test fixture and unmarshalls it -func (m *StubClient) GetVirtualDomain(host string) (domain *api.VirtualDomain, err error) { +func (m *StubClient) GetVirtualDomain(host string) (*api.VirtualDomain, error) { f, err := os.Open(m.file) defer f.Close() if err != nil { return nil, err } + var domain api.VirtualDomain err = json.NewDecoder(f).Decode(&domain) - return domain, err + return &domain, err } // NewStubClient return a stubbed client |