Вход Регистрация
Файл: includes/library/aws/GuzzleHttp/Handler/EasyHandle.php
Строк: 82
<?php
namespace GuzzleHttpHandler;

use 
GuzzleHttpPsr7Response;
use 
PsrHttpMessageRequestInterface;
use 
PsrHttpMessageResponseInterface;
use 
PsrHttpMessageStreamInterface;

/**
 * Represents a cURL easy handle and the data it populates.
 *
 * @internal
 */
final class EasyHandle
{
    
/** @var resource cURL resource */
    
public $handle;

    
/** @var StreamInterface Where data is being written */
    
public $sink;

    
/** @var array Received HTTP headers so far */
    
public $headers = [];

    
/** @var ResponseInterface 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 Exception Exception during on_headers (if any) */
    
public $onHeadersException;

    
/**
     * Attach a response to the easy handle based on the received headers.
     *
     * @throws RuntimeException if no headers have been received.
     */
    
public function createResponse()
    {
        if (empty(
$this->headers)) {
            throw new 
RuntimeException('No headers have been received');
        }

        
// HTTP-version SP status-code SP reason-phrase
        
$startLine explode(' 'array_shift($this->headers), 3);

        
// Attach a response to the easy handle with the parsed headers.
        
$this->response = new Response(
            
$startLine[1],
            
GuzzleHttpheaders_from_lines($this->headers),
            
$this->sink,
            
substr($startLine[0], 5),
            isset(
$startLine[2]) ? (int) $startLine[2] : null
        
);
    }

    public function 
__get($name)
    {
        
$msg $name === 'handle'
            
'The EasyHandle has been released'
            
'Invalid property: ' $name;
        throw new 
BadMethodCallException($msg);
    }
}
Онлайн: 0
Реклама