( ctx context.Context, url string )
| 182 | func ( c *Client ) get( ctx context.Context, url string ) ( body []byte, headers http.Header, err error ) { |
| 183 | request, err := http.NewRequestWithContext( ctx, "GET", url, nil ) |
| 184 | if err != nil { return } |
| 185 | request.Header.Set( "user-agent", userAgent ) |
| 186 | response, err := c.client.Do( request ) |
| 187 | if err != nil { return } |
| 188 | defer response.Body.Close() |
| 189 | if response.StatusCode != http.StatusOK { log.Println( "Rest: [ERR] Bad HTTP response (", response.StatusCode, ")" ); err = ErrHttpStatus( response.StatusCode ); return } |
| 190 | headers = response.Header |
| 191 | body, err = io.ReadAll( response.Body ) |
| 192 | return |
| 193 | } |
| 194 | |
| 195 | func ( c *Client ) HaveAccessToken() bool { if c.accessToken != nil { return true }; return false } |
| 196 | |
| 197 | // Resolve resolves an IP of a Hide.me endpoint and stores that IP for further use. Hide.me balances DNS rapidly, so once an IP is acquired it needs to be used for the remainder of the session |
| 198 | func ( c *Client ) Resolve( ctx context.Context ) ( err error ) { |
no test coverage detected