99 "net/http"
1010 "time"
1111
12+ "github.com/deploymenttheory/go-api-http-client/internal/logger"
1213 "go.uber.org/zap"
1314)
1415
@@ -25,85 +26,43 @@ func (c *Client) SetBearerTokenAuthCredentials(credentials BearerTokenAuthCreden
2526 c .BearerTokenAuthCredentials = credentials
2627}
2728
28- /*
2929// ObtainToken fetches and sets an authentication token using the stored basic authentication credentials.
30- func (c *Client) ObtainToken() error {
30+ func (c * Client ) ObtainToken (log logger. Logger ) error {
3131 authenticationEndpoint := c .ConstructAPIAuthEndpoint (BearerTokenEndpoint )
3232
33- c.logger. Debug("Attempting to obtain token for user", "Username", c.BearerTokenAuthCredentials.Username)
33+ log . Debug ("Attempting to obtain token for user" , zap . String ( "Username" , c .BearerTokenAuthCredentials .Username ) )
3434
3535 req , err := http .NewRequest ("POST" , authenticationEndpoint , nil )
3636 if err != nil {
37- c.logger. Error("Failed to create new request for token", " Error", err)
37+ log . Error ("Failed to create new request for token" , zap . Error ( err ) )
3838 return err
3939 }
4040 req .SetBasicAuth (c .BearerTokenAuthCredentials .Username , c .BearerTokenAuthCredentials .Password )
4141
4242 resp , err := c .httpClient .Do (req )
4343 if err != nil {
44- c.logger. Error("Failed to make request for token", " Error", err)
44+ log . Error ("Failed to make request for token" , zap . Error ( err ) )
4545 return err
4646 }
4747 defer resp .Body .Close ()
4848
4949 if resp .StatusCode != http .StatusOK {
50- c.logger. Warn("Received non-OK response while obtaining token", "StatusCode", resp.StatusCode)
50+ log . Warn ("Received non-OK response while obtaining token" , zap . Int ( "StatusCode" , resp .StatusCode ) )
5151 return c .HandleAPIError (resp )
5252 }
5353
5454 tokenResp := & TokenResponse {}
5555 err = json .NewDecoder (resp .Body ).Decode (tokenResp )
5656 if err != nil {
57- c.logger. Error("Failed to decode token response", " Error", err)
57+ log . Error ("Failed to decode token response" , zap . Error ( err ) )
5858 return err
5959 }
6060
6161 c .Token = tokenResp .Token
6262 c .Expiry = tokenResp .Expires
6363 tokenDuration := time .Until (c .Expiry )
6464
65- c.logger.Info("Token obtained successfully", "Expiry", c.Expiry, "Duration", tokenDuration)
66-
67- return nil
68- }*/
69-
70- // ObtainToken fetches and sets an authentication token using the stored basic authentication credentials.
71- func (c * Client ) ObtainToken () error {
72- authenticationEndpoint := c .ConstructAPIAuthEndpoint (BearerTokenEndpoint )
73-
74- c .logger .Debug ("Attempting to obtain token for user" , zap .String ("Username" , c .BearerTokenAuthCredentials .Username ))
75-
76- req , err := http .NewRequest ("POST" , authenticationEndpoint , nil )
77- if err != nil {
78- c .logger .Error ("Failed to create new request for token" , zap .Error (err ))
79- return err
80- }
81- req .SetBasicAuth (c .BearerTokenAuthCredentials .Username , c .BearerTokenAuthCredentials .Password )
82-
83- resp , err := c .httpClient .Do (req )
84- if err != nil {
85- c .logger .Error ("Failed to make request for token" , zap .Error (err ))
86- return err
87- }
88- defer resp .Body .Close ()
89-
90- if resp .StatusCode != http .StatusOK {
91- c .logger .Warn ("Received non-OK response while obtaining token" , zap .Int ("StatusCode" , resp .StatusCode ))
92- return c .HandleAPIError (resp )
93- }
94-
95- tokenResp := & TokenResponse {}
96- err = json .NewDecoder (resp .Body ).Decode (tokenResp )
97- if err != nil {
98- c .logger .Error ("Failed to decode token response" , zap .Error (err ))
99- return err
100- }
101-
102- c .Token = tokenResp .Token
103- c .Expiry = tokenResp .Expires
104- tokenDuration := time .Until (c .Expiry )
105-
106- c .logger .Info ("Token obtained successfully" , zap .Time ("Expiry" , c .Expiry ), zap .Duration ("Duration" , tokenDuration ))
65+ log .Info ("Token obtained successfully" , zap .Time ("Expiry" , c .Expiry ), zap .Duration ("Duration" , tokenDuration ))
10766
10867 return nil
10968}
@@ -118,77 +77,77 @@ func (c *Client) RefreshToken() error {
11877
11978 req, err := http.NewRequest("POST", tokenRefreshEndpoint, nil)
12079 if err != nil {
121- c.logger .Error("Failed to create new request for token refresh", "error", err)
80+ log .Error("Failed to create new request for token refresh", "error", err)
12281 return err
12382 }
12483 req.Header.Add("Authorization", "Bearer "+c.Token)
12584
126- c.logger .Debug("Attempting to refresh token", "URL", tokenRefreshEndpoint)
85+ log .Debug("Attempting to refresh token", "URL", tokenRefreshEndpoint)
12786
12887 resp, err := c.httpClient.Do(req)
12988 if err != nil {
130- c.logger .Error("Failed to make request for token refresh", "error", err)
89+ log .Error("Failed to make request for token refresh", "error", err)
13190 return err
13291 }
13392 defer resp.Body.Close()
13493
13594 if resp.StatusCode != http.StatusOK {
136- c.logger .Warn("Token refresh response status is not OK", "StatusCode", resp.StatusCode)
95+ log .Warn("Token refresh response status is not OK", "StatusCode", resp.StatusCode)
13796 return c.HandleAPIError(resp)
13897 }
13998
14099 tokenResp := &TokenResponse{}
141100 err = json.NewDecoder(resp.Body).Decode(tokenResp)
142101 if err != nil {
143- c.logger .Error("Failed to decode token response", "error", err)
102+ log .Error("Failed to decode token response", "error", err)
144103 return err
145104 }
146105
147- c.logger .Info("Token refreshed successfully", "Expiry", tokenResp.Expires)
106+ log .Info("Token refreshed successfully", "Expiry", tokenResp.Expires)
148107
149108 c.Token = tokenResp.Token
150109 c.Expiry = tokenResp.Expires
151110 return nil
152111}
153112*/
154113// RefreshToken refreshes the current authentication token.
155- func (c * Client ) RefreshToken () error {
114+ func (c * Client ) RefreshToken (log logger. Logger ) error {
156115 c .tokenLock .Lock ()
157116 defer c .tokenLock .Unlock ()
158117
159118 tokenRefreshEndpoint := c .ConstructAPIAuthEndpoint (TokenRefreshEndpoint )
160119
161120 req , err := http .NewRequest ("POST" , tokenRefreshEndpoint , nil )
162121 if err != nil {
163- c . logger .Error ("Failed to create new request for token refresh" , zap .Error (err ))
122+ log .Error ("Failed to create new request for token refresh" , zap .Error (err ))
164123 return err
165124 }
166125 req .Header .Add ("Authorization" , "Bearer " + c .Token )
167126
168- c . logger .Debug ("Attempting to refresh token" , zap .String ("URL" , tokenRefreshEndpoint ))
127+ log .Debug ("Attempting to refresh token" , zap .String ("URL" , tokenRefreshEndpoint ))
169128
170129 resp , err := c .httpClient .Do (req )
171130 if err != nil {
172- c . logger .Error ("Failed to make request for token refresh" , zap .Error (err ))
131+ log .Error ("Failed to make request for token refresh" , zap .Error (err ))
173132 return err
174133 }
175134 defer resp .Body .Close ()
176135
177136 if resp .StatusCode != http .StatusOK {
178- c . logger .Warn ("Token refresh response status is not OK" , zap .Int ("StatusCode" , resp .StatusCode ))
137+ log .Warn ("Token refresh response status is not OK" , zap .Int ("StatusCode" , resp .StatusCode ))
179138 return c .HandleAPIError (resp )
180139 }
181140
182141 tokenResp := & TokenResponse {}
183142 err = json .NewDecoder (resp .Body ).Decode (tokenResp )
184143 if err != nil {
185- c . logger .Error ("Failed to decode token response" , zap .Error (err ))
144+ log .Error ("Failed to decode token response" , zap .Error (err ))
186145 return err
187146 }
188147
189148 c .Token = tokenResp .Token
190149 c .Expiry = tokenResp .Expires
191- c . logger .Info ("Token refreshed successfully" , zap .Time ("Expiry" , tokenResp .Expires ))
150+ log .Info ("Token refreshed successfully" , zap .Time ("Expiry" , tokenResp .Expires ))
192151
193152 return nil
194153}
0 commit comments