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
array
createResponse() ¶ protected
createResponse(CurlHandle $handle, string $responseData): arrayCake\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
arrayCake\Http\Client\Response>
exec() ¶ protected
exec(CurlHandle $ch): string|bool
Execute the curl handle.
Parameters
-
CurlHandle
$ch Curl Resource handle
Returns
string|bool
getProtocolVersion() ¶ 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
int
send() ¶ public
send(Psr\Http\Message\RequestInterface $request, array<string, mixed> $options): arrayCake\Http\Client\Response>
Send a request and get a response back.
Parameters
-
Psr\Http\Message\RequestInterface
$request -
array<string, mixed>
$options
Returns
arrayCake\Http\Client\Response>