1 | <?php |
||||
2 | /** |
||||
3 | * Copyright 2017 Facebook, Inc. |
||||
4 | * |
||||
5 | * You are hereby granted a non-exclusive, worldwide, royalty-free license to |
||||
6 | * use, copy, modify, and distribute this software in source code or binary |
||||
7 | * form for use in connection with the web services and APIs provided by |
||||
8 | * Facebook. |
||||
9 | * |
||||
10 | * As with any software that integrates with the Facebook platform, your use |
||||
11 | * of this software is subject to the Facebook Developer Principles and |
||||
12 | * Policies [http://developers.facebook.com/policy/]. This copyright notice |
||||
13 | * shall be included in all copies or substantial portions of the software. |
||||
14 | * |
||||
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||
18 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||
20 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||
21 | * DEALINGS IN THE SOFTWARE. |
||||
22 | * |
||||
23 | */ |
||||
24 | namespace Facebook\HttpClients; |
||||
25 | |||||
26 | use Facebook\Http\GraphRawResponse; |
||||
27 | use Facebook\Exceptions\FacebookSDKException; |
||||
28 | |||||
29 | use GuzzleHttp\Client; |
||||
30 | use GuzzleHttp\Message\ResponseInterface; |
||||
0 ignored issues
–
show
|
|||||
31 | use GuzzleHttp\Ring\Exception\RingException; |
||||
0 ignored issues
–
show
The type
GuzzleHttp\Ring\Exception\RingException was not found. Maybe you did not declare it correctly or list all dependencies?
The issue could also be caused by a filter entry in the build configuration.
If the path has been excluded in your configuration, e.g. filter:
dependency_paths: ["lib/*"]
For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths ![]() |
|||||
32 | use GuzzleHttp\Exception\RequestException; |
||||
33 | |||||
34 | class FacebookGuzzleHttpClient implements FacebookHttpClientInterface |
||||
35 | { |
||||
36 | /** |
||||
37 | * @var \GuzzleHttp\Client The Guzzle client. |
||||
38 | */ |
||||
39 | protected $guzzleClient; |
||||
40 | |||||
41 | /** |
||||
42 | * @param \GuzzleHttp\Client|null The Guzzle client. |
||||
0 ignored issues
–
show
The type
Facebook\HttpClients\The was not found. Maybe you did not declare it correctly or list all dependencies?
The issue could also be caused by a filter entry in the build configuration.
If the path has been excluded in your configuration, e.g. filter:
dependency_paths: ["lib/*"]
For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths ![]() |
|||||
43 | */ |
||||
44 | public function __construct(Client $guzzleClient = null) |
||||
45 | { |
||||
46 | $this->guzzleClient = $guzzleClient ?: new Client(); |
||||
47 | } |
||||
48 | |||||
49 | /** |
||||
50 | * @inheritdoc |
||||
51 | */ |
||||
52 | public function send($url, $method, $body, array $headers, $timeOut) |
||||
53 | { |
||||
54 | $options = [ |
||||
55 | 'headers' => $headers, |
||||
56 | 'body' => $body, |
||||
57 | 'timeout' => $timeOut, |
||||
58 | 'connect_timeout' => 10, |
||||
59 | 'verify' => __DIR__ . '/certs/DigiCertHighAssuranceEVRootCA.pem', |
||||
60 | ]; |
||||
61 | $request = $this->guzzleClient->createRequest($method, $url, $options); |
||||
62 | |||||
63 | try { |
||||
64 | $rawResponse = $this->guzzleClient->send($request); |
||||
0 ignored issues
–
show
$request of type GuzzleHttp\Promise\Promi...ssage\ResponseInterface is incompatible with the type Psr\Http\Message\RequestInterface expected by parameter $request of GuzzleHttp\Client::send() .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||
65 | } catch (RequestException $e) { |
||||
66 | $rawResponse = $e->getResponse(); |
||||
67 | |||||
68 | if ($e->getPrevious() instanceof RingException || !$rawResponse instanceof ResponseInterface) { |
||||
69 | throw new FacebookSDKException($e->getMessage(), $e->getCode()); |
||||
70 | } |
||||
71 | } |
||||
72 | |||||
73 | $rawHeaders = $this->getHeadersAsString($rawResponse); |
||||
74 | $rawBody = $rawResponse->getBody(); |
||||
75 | $httpStatusCode = $rawResponse->getStatusCode(); |
||||
76 | |||||
77 | return new GraphRawResponse($rawHeaders, $rawBody, $httpStatusCode); |
||||
78 | } |
||||
79 | |||||
80 | /** |
||||
81 | * Returns the Guzzle array of headers as a string. |
||||
82 | * |
||||
83 | * @param ResponseInterface $response The Guzzle response. |
||||
84 | * |
||||
85 | * @return string |
||||
86 | */ |
||||
87 | public function getHeadersAsString(ResponseInterface $response) |
||||
88 | { |
||||
89 | $headers = $response->getHeaders(); |
||||
90 | $rawHeaders = []; |
||||
91 | foreach ($headers as $name => $values) { |
||||
92 | $rawHeaders[] = $name . ": " . implode(", ", $values); |
||||
93 | } |
||||
94 | |||||
95 | return implode("\r\n", $rawHeaders); |
||||
96 | } |
||||
97 | } |
||||
98 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths