GetAccessToken issues an AccessToken request to a Hide.me "AccessToken" endpoint which expects an ordinary POST request with a AccessTokenRequest JSON payload
( ctx context.Context )
| 256 | |
| 257 | // GetAccessToken issues an AccessToken request to a Hide.me "AccessToken" endpoint which expects an ordinary POST request with a AccessTokenRequest JSON payload |
| 258 | func ( c *Client ) GetAccessToken( ctx context.Context ) ( accessToken string, err error ) { |
| 259 | if len( c.Host ) == 0 { err = ErrMissingHost; return } |
| 260 | accessTokenRequest := &AccessTokenRequest{ |
| 261 | Host: strings.TrimSuffix( c.Config.Host, ".hideservers.net" ), |
| 262 | Domain: c.Config.Domain, |
| 263 | AccessToken: c.accessToken, |
| 264 | Username: c.Config.Username, |
| 265 | Password: c.Config.Password, |
| 266 | } |
| 267 | if err = accessTokenRequest.Check(); err != nil { return } |
| 268 | |
| 269 | accessTokenJson, err := c.postJson( ctx, "https://" + c.remote.String() + "/" + c.Config.APIVersion + "/accessToken", accessTokenRequest ) |
| 270 | if err != nil { return } |
| 271 | |
| 272 | if err = json.Unmarshal( accessTokenJson, &accessToken ); err != nil { return } |
| 273 | if c.accessToken, err = base64.StdEncoding.DecodeString( accessToken ); err != nil { return } |
| 274 | |
| 275 | if len( c.Config.AccessTokenPath ) > 0 { err = os.WriteFile( c.Config.AccessTokenPath, []byte( accessToken ), 0600 ) } |
| 276 | return |
| 277 | } |
| 278 | |
| 279 | func ( c *Client ) ApplyFilter( ctx context.Context ) ( err error ) { |
| 280 | if err = c.Config.Filter.Check(); err != nil { return } |
no test coverage detected