Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1432400
EasyHandle.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
EasyHandle.php
View Options
<?php
namespace
GuzzleHttp\Handler
;
use
GuzzleHttp\Psr7\Response
;
use
GuzzleHttp\Utils
;
use
Psr\Http\Message\RequestInterface
;
use
Psr\Http\Message\ResponseInterface
;
use
Psr\Http\Message\StreamInterface
;
/**
* Represents a cURL easy handle and the data it populates.
*
* @internal
*/
final
class
EasyHandle
{
/**
* @var resource|\CurlHandle cURL resource
*/
public
$handle
;
/**
* @var StreamInterface Where data is being written
*/
public
$sink
;
/**
* @var array Received HTTP headers so far
*/
public
$headers
=
[];
/**
* @var ResponseInterface|null Received response (if any)
*/
public
$response
;
/**
* @var RequestInterface Request being sent
*/
public
$request
;
/**
* @var array Request options
*/
public
$options
=
[];
/**
* @var int cURL error number (if any)
*/
public
$errno
=
0
;
/**
* @var \Throwable|null Exception during on_headers (if any)
*/
public
$onHeadersException
;
/**
* @var \Exception|null Exception during createResponse (if any)
*/
public
$createResponseException
;
/**
* Attach a response to the easy handle based on the received headers.
*
* @throws \RuntimeException if no headers have been received or the first
* header line is invalid.
*/
public
function
createResponse
():
void
{
[
$ver
,
$status
,
$reason
,
$headers
]
=
HeaderProcessor
::
parseHeaders
(
$this
->
headers
);
$normalizedKeys
=
Utils
::
normalizeHeaderKeys
(
$headers
);
if
(!
empty
(
$this
->
options
[
'decode_content'
])
&&
isset
(
$normalizedKeys
[
'content-encoding'
]))
{
$headers
[
'x-encoded-content-encoding'
]
=
$headers
[
$normalizedKeys
[
'content-encoding'
]];
unset
(
$headers
[
$normalizedKeys
[
'content-encoding'
]]);
if
(
isset
(
$normalizedKeys
[
'content-length'
]))
{
$headers
[
'x-encoded-content-length'
]
=
$headers
[
$normalizedKeys
[
'content-length'
]];
$bodyLength
=
(
int
)
$this
->
sink
->
getSize
();
if
(
$bodyLength
)
{
$headers
[
$normalizedKeys
[
'content-length'
]]
=
$bodyLength
;
}
else
{
unset
(
$headers
[
$normalizedKeys
[
'content-length'
]]);
}
}
}
// Attach a response to the easy handle with the parsed headers.
$this
->
response
=
new
Response
(
$status
,
$headers
,
$this
->
sink
,
$ver
,
$reason
);
}
/**
* @param string $name
*
* @return void
*
* @throws \BadMethodCallException
*/
public
function
__get
(
$name
)
{
$msg
=
$name
===
'handle'
?
'The EasyHandle has been released'
:
'Invalid property: '
.
$name
;
throw
new
\BadMethodCallException
(
$msg
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 21:43 (1 d, 7 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
69/6d/2982b76bd9781823b83afde52248
Default Alt Text
EasyHandle.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment