Connect issues a connect request to a Hide.me "Connect" endpoint which expects an ordinary POST request with a ConnectRequest JSON payload
( ctx context.Context, key wgtypes.Key )
| 223 | func ( c *Client ) Connect( ctx context.Context, key wgtypes.Key ) ( connectResponse *ConnectResponse, err error ) { |
| 224 | if len( c.Config.Host ) == 0 { err = ErrMissingHost; return } |
| 225 | connectRequest := &ConnectRequest{ |
| 226 | Host: strings.TrimSuffix( c.Config.Host, ".hideservers.net" ), |
| 227 | Domain: c.Config.Domain, |
| 228 | AccessToken: c.accessToken, |
| 229 | PublicKey: key[:], |
| 230 | } |
| 231 | if err = connectRequest.Check(); err != nil { return } |
| 232 | |
| 233 | responseBody, err := c.postJson( ctx, "https://" + c.remote.String() + "/" + c.Config.APIVersion + "/connect", connectRequest ) |
| 234 | if err != nil { return } |
| 235 | |
| 236 | connectResponse = &ConnectResponse{} |
| 237 | err = json.Unmarshal( responseBody, connectResponse ) |
| 238 | return |
| 239 | } |
| 240 | |
| 241 | // Disconnect issues a disconnect request to a Hide.me "Disconnect" endpoint which expects an ordinary POST request with a DisconnectRequest JSON payload |
| 242 | func ( c *Client ) Disconnect( ctx context.Context, sessionToken []byte ) ( err error ) { |
| 243 | if len( c.Host ) == 0 { err = ErrMissingHost; return } |
| 244 | disconnectRequest := &DisconnectRequest{ |