Class Curl
Implements sending Cake\Http\Client\Request via ext/curl.
In addition to the standard options documented in {@link \Cake\Http\Client},
this adapter supports all available curl options. Additional curl options
can be set via the curl option key when making requests or configuring
a client.
Method Summary
-
buildOptions() public
Convert client options into curl options.
-
createResponse() protected
Convert the raw curl response into an Http\Client\Response
-
exec() protected
Execute the curl handle.
-
getProtocolVersion() protected
Convert HTTP version number into curl value.
-
send() public
Send a request and get a response back.
Method Detail
buildOptions() ¶ public
buildOptions(Psr\Http\Message\RequestInterface $request, array<string, mixed> $options): array
Convert client options into curl options.
Parameters
-
Psr\Http\Message\RequestInterface$request The request.
-
array<string, mixed>$options The client options
Returns
arraycreateResponse() ¶ protected
createResponse(CurlHandle $handle, string $responseData): array<Cake\Http\Client\Response>
Convert the raw curl response into an Http\Client\Response
Parameters
-
CurlHandle$handle Curl handle
-
string$responseData string The response data from curl_exec
Returns
array<Cake\Http\Client\Response>exec() ¶ protected
exec(CurlHandle $ch): string|bool
Execute the curl handle.
Parameters
-
CurlHandle$ch Curl Resource handle
Returns
string|boolgetProtocolVersion() ¶ protected
getProtocolVersion(Psr\Http\Message\RequestInterface $request): int
Convert HTTP version number into curl value.
Parameters
-
Psr\Http\Message\RequestInterface$request The request to get a protocol version for.
Returns
intsend() ¶ public
send(Psr\Http\Message\RequestInterface $request, array<string, mixed> $options): array<Cake\Http\Client\Response>
Send a request and get a response back.
Parameters
-
Psr\Http\Message\RequestInterface$request -
array<string, mixed>$options
Returns
array<Cake\Http\Client\Response>