Class Stream
Implements sending Cake\Http\Client\Request via php's stream API.
This approach and implementation is partly inspired by Aura.Http
Properties summary
- $_connectionErrors protected
arrayConnection error list.
- $_context protected
resource|nullContext resource used by the stream API.
- $_contextOptions protected
arrayArray of options/content for the HTTP stream context.
- $_sslContextOptions protected
arrayArray of options/content for the SSL stream context.
- $_stream protected
resource|nullThe stream resource.
Method Summary
Method Detail
_buildContent() protected
_buildContent(\Psr\Http\Message\RequestInterface $request, array $options)
Builds the request content based on the request object.
If the $request->body() is a string, it will be used as is. Array data will be processed with Cake\Http\Client\FormData
Parameters
-
\Psr\Http\Message\RequestInterface$request The request being sent.
-
array$options Array of options to use.
_buildContext() protected
_buildContext(\Psr\Http\Message\RequestInterface $request, array $options)
Build the stream context out of the request object.
Parameters
-
\Psr\Http\Message\RequestInterface$request The request to build context from.
-
array$options Additional request options.
_buildHeaders() protected
_buildHeaders(\Psr\Http\Message\RequestInterface $request, array $options)
Build the header context for the request.
Creates cookies & headers.
Parameters
-
\Psr\Http\Message\RequestInterface$request The request being sent.
-
array$options Array of options to use.
_buildOptions() protected
_buildOptions(\Psr\Http\Message\RequestInterface $request, array $options)
Build miscellaneous options for the request.
Parameters
-
\Psr\Http\Message\RequestInterface$request The request being sent.
-
array$options Array of options to use.
_buildResponse() protected
_buildResponse(array $headers, string $body)
Build a response object
Parameters
-
array$headers Unparsed headers.
-
string$body The response body.
Returns
\Cake\Http\Client\Response_buildSslContext() protected
_buildSslContext(\Psr\Http\Message\RequestInterface $request, array $options)
Build SSL options for the request.
Parameters
-
\Psr\Http\Message\RequestInterface$request The request being sent.
-
array$options Array of options to use.
_open() protected
_open(string $url, \Psr\Http\Message\RequestInterface $request)
Open the socket and handle any connection errors.
Parameters
-
string$url The url to connect to.
-
\Psr\Http\Message\RequestInterface$request The request object.
Throws
Psr\Http\Client\RequestExceptionInterface_send() protected
_send(\Psr\Http\Message\RequestInterface $request)
Open the stream and send the request.
Parameters
-
\Psr\Http\Message\RequestInterface$request The request object.
Returns
arrayArray of populated Response objects
Throws
Psr\Http\Client\NetworkExceptionInterfacecontextOptions() public
contextOptions()
Get the context options
Useful for debugging and testing context creation.
Returns
arraycreateResponses() public
createResponses(array $headers, string $content)
Create the response list based on the headers & content
Creates one or many response objects based on the number of redirects that occurred.
Parameters
-
array$headers The list of headers from the request(s)
-
string$content The response content.
Returns
\Cake\Http\Client\Response[]The list of responses from the request(s)
send() public
send(\Psr\Http\Message\RequestInterface $request, array $options)
Send a request and get a response back.
Parameters
-
\Psr\Http\Message\RequestInterface$request The request object to send.
-
array$options Array of options for the stream.
Returns
\Cake\Http\Client\Response[]Array of populated Response objects
Property Detail
$_connectionErrors protected
Connection error list.
Type
array$_context protected
Context resource used by the stream API.
Type
resource|null$_contextOptions protected
Array of options/content for the HTTP stream context.
Type
array$_sslContextOptions protected
Array of options/content for the SSL stream context.
Type
array$_stream protected
The stream resource.
Type
resource|null
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Http.Client.Adapter.Stream.html