forked from mohammadv184/arcaptcha
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathHttp.php
More file actions
63 lines (53 loc) · 1.32 KB
/
Http.php
File metadata and controls
63 lines (53 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
namespace Mohammadv184\ArCaptcha\Adapter;
use GuzzleHttp\Exception\GuzzleException;
class Http implements Adapter
{
/**
* User Site Key
* @var string
*/
protected $site_key;
/**
* User Secret Key
* @var string
*/
protected $secret_key;
/**
* guzzle http client
* @var \GuzzleHttp\Client
*/
protected $client;
/**
* Http Constructor
* @param string $site_key
* @param string $secret_key
* @param string $base_uri
*/
public function __construct(string $site_key, string $secret_key, string $base_uri)
{
$this->site_key = $site_key;
$this->secret_key = $secret_key;
$this->client = new \GuzzleHttp\Client([
'base_uri' => $base_uri
]);
}
/**
* submit Request
* @param string $uri
* @param string $challenge_id
* @return array
* @throws GuzzleException
*/
public function submit(string $uri, string $challenge_id): array
{
$response = $this->client->post($uri, [
'json' => [
'response' => $challenge_id,
'sitekey' => $this->site_key,
'secret' => $this->secret_key
]
]);
return json_decode($response->getBody()->getContents(), true);
}
}