!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_led/php/vendor/guzzlehttp/guzzle/tests/Message/   drwxrwxr-x
Free 15.58 GB of 61.93 GB (25.15%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     MessageFactoryTest.php (20.3 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace GuzzleHttp\Tests\Message;

use 
GuzzleHttp\Client;
use 
GuzzleHttp\Message\RequestInterface;
use 
GuzzleHttp\Post\PostFile;
use 
GuzzleHttp\Message\Response;
use 
GuzzleHttp\Message\MessageFactory;
use 
GuzzleHttp\Subscriber\Cookie;
use 
GuzzleHttp\Cookie\CookieJar;
use 
GuzzleHttp\Query;
use 
GuzzleHttp\Stream\Stream;
use 
GuzzleHttp\Subscriber\History;
use 
GuzzleHttp\Subscriber\Mock;

/**
 * @covers GuzzleHttp\Message\MessageFactory
 */
class MessageFactoryTest extends \PHPUnit_Framework_TestCase
{
    public function 
testCreatesResponses()
    {
        
$f = new MessageFactory();
        
$response $f->createResponse(200, ['foo' => 'bar'], 'test', [
            
'protocol_version' => 1.0
        
]);
        
$this->assertEquals(200$response->getStatusCode());
        
$this->assertEquals(['foo' => ['bar']], $response->getHeaders());
        
$this->assertEquals('test'$response->getBody());
        
$this->assertEquals(1.0$response->getProtocolVersion());
    }

    public function 
testCreatesRequestFromMessage()
    {
        
$f = new MessageFactory();
        
$req $f->fromMessage("GET / HTTP/1.1\r\nBaz: foo\r\n\r\n");
        
$this->assertEquals('GET'$req->getMethod());
        
$this->assertEquals('/'$req->getPath());
        
$this->assertEquals('foo'$req->getHeader('Baz'));
        
$this->assertNull($req->getBody());
    }

    public function 
testCreatesRequestFromMessageWithBody()
    {
        
$req = (new MessageFactory())->fromMessage("GET / HTTP/1.1\r\nBaz: foo\r\n\r\ntest");
        
$this->assertEquals('test'$req->getBody());
    }

    public function 
testCreatesRequestWithPostBody()
    {
        
$req = (new MessageFactory())->createRequest('GET''http://www.foo.com', ['body' => ['abc' => '123']]);
        
$this->assertEquals('abc=123'$req->getBody());
    }

    public function 
testCreatesRequestWithPostBodyScalars()
    {
        
$req = (new MessageFactory())->createRequest(
            
'GET',
            
'http://www.foo.com',
            [
'body' => [
                
'abc' => true,
                
'123' => false,
                
'foo' => null,
                
'baz' => 10,
                
'bam' => 1.5,
                
'boo' => [1]]
            ]
        );
        
$this->assertEquals(
            
'abc=1&123=&foo&baz=10&bam=1.5&boo%5B0%5D=1',
            (string) 
$req->getBody()
        );
    }

    public function 
testCreatesRequestWithPostBodyAndPostFiles()
    {
        
$pf fopen(__FILE__'r');
        
$pfi = new PostFile('ghi''abc'__FILE__);
        
$req = (new MessageFactory())->createRequest('GET''http://www.foo.com', [
            
'body' => [
                
'abc' => '123',
                
'def' => $pf,
                
'ghi' => $pfi
            
]
        ]);
        
$this->assertInstanceOf('GuzzleHttp\Post\PostBody'$req->getBody());
        
$s = (string) $req;
        
$this->assertContains('testCreatesRequestWithPostBodyAndPostFiles'$s);
        
$this->assertContains('multipart/form-data'$s);
        
$this->assertTrue(in_array($pfi$req->getBody()->getFiles(), true));
    }

    public function 
testCreatesResponseFromMessage()
    {
        
$response = (new MessageFactory())->fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest");
        
$this->assertEquals(200$response->getStatusCode());
        
$this->assertEquals('OK'$response->getReasonPhrase());
        
$this->assertEquals('4'$response->getHeader('Content-Length'));
        
$this->assertEquals('test'$response->getBody(true));
    }

    public function 
testCanCreateHeadResponses()
    {
        
$response = (new MessageFactory())->fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\n");
        
$this->assertEquals(200$response->getStatusCode());
        
$this->assertEquals('OK'$response->getReasonPhrase());
        
$this->assertEquals(null$response->getBody());
        
$this->assertEquals('4'$response->getHeader('Content-Length'));
    }

    
/**
     * @expectedException \InvalidArgumentException
     */
    
public function testFactoryRequiresMessageForRequest()
    {
        (new 
MessageFactory())->fromMessage('');
    }

    
/**
     * @expectedException \InvalidArgumentException
     * @expectedExceptionMessage foo
     */
    
public function testValidatesOptionsAreImplemented()
    {
        (new 
MessageFactory())->createRequest('GET''http://test.com', ['foo' => 'bar']);
    }

    public function 
testOptionsAddsRequestOptions()
    {
        
$request = (new MessageFactory())->createRequest(
            
'GET''http://test.com', ['config' => ['baz' => 'bar']]
        );
        
$this->assertEquals('bar'$request->getConfig()->get('baz'));
    }

    public function 
testCanDisableRedirects()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['allow_redirects' => false]);
        
$this->assertEmpty($request->getEmitter()->listeners('complete'));
    }

    
/**
     * @expectedException \InvalidArgumentException
     */
    
public function testValidatesRedirects()
    {
        (new 
MessageFactory())->createRequest('GET''/', ['allow_redirects' => 'foo']);
    }

    public function 
testCanEnableStrictRedirectsAndSpecifyMax()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', [
            
'allow_redirects' => ['max' => 10'strict' => true]
        ]);
        
$this->assertTrue($request->getConfig()['redirect']['strict']);
        
$this->assertEquals(10$request->getConfig()['redirect']['max']);
    }

    public function 
testCanAddCookiesFromHash()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://www.test.com/', [
            
'cookies' => ['Foo' => 'Bar']
        ]);
        
$cookies null;
        foreach (
$request->getEmitter()->listeners('before') as $l) {
            if (
$l[0] instanceof Cookie) {
                
$cookies $l[0];
                break;
            }
        }
        if (!
$cookies) {
            
$this->fail('Did not add cookie listener');
        } else {
            
$this->assertCount(1$cookies->getCookieJar());
        }
    }

    public function 
testAddsCookieUsingTrue()
    {
        
$factory = new MessageFactory();
        
$request1 $factory->createRequest('GET''/', ['cookies' => true]);
        
$request2 $factory->createRequest('GET''/', ['cookies' => true]);
        
$listeners = function ($r) {
            return 
array_filter($r->getEmitter()->listeners('before'), function ($l) {
                return 
$l[0] instanceof Cookie;
            });
        };
        
$this->assertSame($listeners($request1), $listeners($request2));
    }

    public function 
testAddsCookieFromCookieJar()
    {
        
$jar = new CookieJar();
        
$request = (new MessageFactory())->createRequest('GET''/', ['cookies' => $jar]);
        foreach (
$request->getEmitter()->listeners('before') as $l) {
            if (
$l[0] instanceof Cookie) {
                
$this->assertSame($jar$l[0]->getCookieJar());
            }
        }
    }

    
/**
     * @expectedException \InvalidArgumentException
     */
    
public function testValidatesCookies()
    {
        (new 
MessageFactory())->createRequest('GET''/', ['cookies' => 'baz']);
    }

    public function 
testCanAddQuery()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://foo.com', [
            
'query' => ['Foo' => 'Bar']
        ]);
        
$this->assertEquals('Bar'$request->getQuery()->get('Foo'));
    }

    
/**
     * @expectedException \InvalidArgumentException
     */
    
public function testValidatesQuery()
    {
        (new 
MessageFactory())->createRequest('GET''http://foo.com', [
            
'query' => 'foo'
        
]);
    }

    public function 
testCanSetDefaultQuery()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://foo.com?test=abc', [
            
'query' => ['Foo' => 'Bar''test' => 'def']
        ]);
        
$this->assertEquals('Bar'$request->getQuery()->get('Foo'));
        
$this->assertEquals('abc'$request->getQuery()->get('test'));
    }

    public function 
testCanSetDefaultQueryWithObject()
    {
        
$request = (new MessageFactory)->createRequest(
            
'GET',
            
'http://foo.com?test=abc', [
                
'query' => new Query(['Foo' => 'Bar''test' => 'def'])
            ]
        );
        
$this->assertEquals('Bar'$request->getQuery()->get('Foo'));
        
$this->assertEquals('abc'$request->getQuery()->get('test'));
    }

    public function 
testCanAddBasicAuth()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://foo.com', [
            
'auth' => ['michael''test']
        ]);
        
$this->assertTrue($request->hasHeader('Authorization'));
    }

    public function 
testCanAddDigestAuth()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://foo.com', [
            
'auth' => ['michael''test''digest']
        ]);
        
$this->assertEquals('michael:test'$request->getConfig()->getPath('curl/' CURLOPT_USERPWD));
        
$this->assertEquals(CURLAUTH_DIGEST$request->getConfig()->getPath('curl/' CURLOPT_HTTPAUTH));
    }

    public function 
testCanDisableAuth()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://foo.com', [
            
'auth' => false
        
]);
        
$this->assertFalse($request->hasHeader('Authorization'));
    }

    public function 
testCanSetCustomAuth()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://foo.com', [
            
'auth' => 'foo'
        
]);
        
$this->assertEquals('foo'$request->getConfig()['auth']);
    }

    public function 
testCanAddEvents()
    {
        
$foo null;
        
$client = new Client();
        
$client->getEmitter()->attach(new Mock([new Response(200)]));
        
$client->get('http://test.com', [
            
'events' => [
                
'before' => function () use (&$foo) { $foo true; }
            ]
        ]);
        
$this->assertTrue($foo);
    }

    public function 
testCanAddEventsWithPriority()
    {
        
$foo null;
        
$client = new Client();
        
$client->getEmitter()->attach(new Mock(array(new Response(200))));
        
$request $client->createRequest('GET''http://test.com', [
            
'events' => [
                
'before' => [
                    
'fn' => function () use (&$foo) { $foo true; },
                    
'priority' => 123
                
]
            ]
        ]);
        
$client->send($request);
        
$this->assertTrue($foo);
        
$l $this->readAttribute($request->getEmitter(), 'listeners');
        
$this->assertArrayHasKey(123$l['before']);
    }

    public function 
testCanAddEventsOnce()
    {
        
$foo 0;
        
$client = new Client();
        
$client->getEmitter()->attach(new Mock([
            new 
Response(200),
            new 
Response(200),
        ]));
        
$fn = function () use (&$foo) { ++$foo; };
        
$request $client->createRequest('GET''http://test.com', [
            
'events' => ['before' => ['fn' => $fn'once' => true]]
        ]);
        
$client->send($request);
        
$this->assertEquals(1$foo);
        
$client->send($request);
        
$this->assertEquals(1$foo);
    }

    
/**
     * @expectedException \InvalidArgumentException
     */
    
public function testValidatesEventContainsFn()
    {
        
$client = new Client(['base_url' => 'http://test.com']);
        
$client->createRequest('GET''/', ['events' => ['before' => ['foo' => 'bar']]]);
    }

    
/**
     * @expectedException \InvalidArgumentException
     */
    
public function testValidatesEventIsArray()
    {
        
$client = new Client(['base_url' => 'http://test.com']);
        
$client->createRequest('GET''/', ['events' => ['before' => '123']]);
    }

    public function 
testCanAddSubscribers()
    {
        
$mock = new Mock([new Response(200)]);
        
$client = new Client();
        
$client->getEmitter()->attach($mock);
        
$request $client->get('http://test.com', ['subscribers' => [$mock]]);
    }

    public function 
testCanDisableExceptions()
    {
        
$client = new Client();
        
$this->assertEquals(500$client->get('http://test.com', [
            
'subscribers' => [new Mock([new Response(500)])],
            
'exceptions' => false
        
])->getStatusCode());
    }

    public function 
testCanChangeSaveToLocation()
    {
        
$saveTo Stream::factory();
        
$request = (new MessageFactory())->createRequest('GET''/', ['save_to' => $saveTo]);
        
$this->assertSame($saveTo$request->getConfig()->get('save_to'));
    }

    public function 
testCanSetProxy()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['proxy' => '192.168.16.121']);
        
$this->assertEquals('192.168.16.121'$request->getConfig()->get('proxy'));
    }

    public function 
testCanSetHeadersOption()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['headers' => ['Foo' => 'Bar']]);
        
$this->assertEquals('Bar', (string) $request->getHeader('Foo'));
    }

    public function 
testCanSetHeaders()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', [
            
'headers' => ['Foo' => ['Baz''Bar'], 'Test' => '123']
        ]);
        
$this->assertEquals('Baz, Bar'$request->getHeader('Foo'));
        
$this->assertEquals('123'$request->getHeader('Test'));
    }

    public function 
testCanSetTimeoutOption()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['timeout' => 1.5]);
        
$this->assertEquals(1.5$request->getConfig()->get('timeout'));
    }

    public function 
testCanSetConnectTimeoutOption()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['connect_timeout' => 1.5]);
        
$this->assertEquals(1.5$request->getConfig()->get('connect_timeout'));
    }

    public function 
testCanSetDebug()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['debug' => true]);
        
$this->assertTrue($request->getConfig()->get('debug'));
    }

    public function 
testCanSetVerifyToOff()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['verify' => false]);
        
$this->assertFalse($request->getConfig()->get('verify'));
    }

    public function 
testCanSetVerifyToOn()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['verify' => true]);
        
$this->assertTrue($request->getConfig()->get('verify'));
    }

    public function 
testCanSetVerifyToPath()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['verify' => '/foo.pem']);
        
$this->assertEquals('/foo.pem'$request->getConfig()->get('verify'));
    }

    public function 
inputValidation()
    {
        return 
array_map(function ($option) { return array($option); }, array(
            
'headers''events''subscribers''params'
        
));
    }

    
/**
     * @dataProvider inputValidation
     * @expectedException \InvalidArgumentException
     */
    
public function testValidatesInput($option)
    {
        (new 
MessageFactory())->createRequest('GET''/', [$option => 'foo']);
    }

    public function 
testCanAddSslKey()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['ssl_key' => '/foo.pem']);
        
$this->assertEquals('/foo.pem'$request->getConfig()->get('ssl_key'));
    }

    public function 
testCanAddSslKeyPassword()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['ssl_key' => ['/foo.pem''bar']]);
        
$this->assertEquals(['/foo.pem''bar'], $request->getConfig()->get('ssl_key'));
    }

    public function 
testCanAddSslCert()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['cert' => '/foo.pem']);
        
$this->assertEquals('/foo.pem'$request->getConfig()->get('cert'));
    }

    public function 
testCanAddSslCertPassword()
    {
        
$request = (new MessageFactory())->createRequest('GET''/', ['cert' => ['/foo.pem''bar']]);
        
$this->assertEquals(['/foo.pem''bar'], $request->getConfig()->get('cert'));
    }

    public function 
testCreatesBodyWithoutZeroString()
    {
        
$request = (new MessageFactory())->createRequest('PUT''http://test.com', ['body' => '0']);
        
$this->assertSame('0', (string) $request->getBody());
    }

    public function 
testCanSetProtocolVersion()
    {
        
$request = (new MessageFactory())->createRequest('GET''http://t.com', ['version' => 1.0]);
        
$this->assertEquals(1.0$request->getProtocolVersion());
    }

    public function 
testCanAddJsonData()
    {
        
$request = (new MessageFactory())->createRequest('PUT''http://f.com', [
            
'json' => ['foo' => 'bar']
        ]);
        
$this->assertEquals(
            
'application/json',
            
$request->getHeader('Content-Type')
        );
        
$this->assertEquals('{"foo":"bar"}', (string) $request->getBody());
    }

    public function 
testCanAddJsonDataToAPostRequest()
    {
        
$request = (new MessageFactory())->createRequest('POST''http://f.com', [
            
'json' => ['foo' => 'bar']
        ]);
        
$this->assertEquals(
            
'application/json',
            
$request->getHeader('Content-Type')
        );
        
$this->assertEquals('{"foo":"bar"}', (string) $request->getBody());
    }

    public function 
testCanAddJsonDataAndNotOverwriteContentType()
    {
        
$request = (new MessageFactory())->createRequest('PUT''http://f.com', [
            
'headers' => ['Content-Type' => 'foo'],
            
'json' => null
        
]);
        
$this->assertEquals('foo'$request->getHeader('Content-Type'));
        
$this->assertEquals('null', (string) $request->getBody());
    }

    public function 
testCanUseCustomRequestOptions()
    {
        
$c false;
        
$f = new MessageFactory([
            
'foo' => function (RequestInterface $request$value) use (&$c) {
                
$c true;
                
$this->assertEquals('bar'$value);
            }
        ]);

        
$f->createRequest('PUT''http://f.com', [
            
'headers' => ['Content-Type' => 'foo'],
            
'foo' => 'bar'
        
]);

        
$this->assertTrue($c);
    }

    
/**
     * @ticket https://github.com/guzzle/guzzle/issues/706
     */
    
public function testDoesNotApplyPostBodyRightAway()
    {
        
$request = (new MessageFactory())->createRequest('POST''http://f.cn', [
            
'body' => ['foo' => ['bar''baz']]
        ]);
        
$this->assertEquals(''$request->getHeader('Content-Type'));
        
$this->assertEquals(''$request->getHeader('Content-Length'));
        
$request->getBody()->setAggregator(Query::duplicateAggregator());
        
$request->getBody()->applyRequestHeaders($request);
        
$this->assertEquals('foo=bar&foo=baz'$request->getBody());
    }

    public function 
testCanForceMultipartUploadWithContentType()
    {
        
$client = new Client();
        
$client->getEmitter()->attach(new Mock([new Response(200)]));
        
$history = new History();
        
$client->getEmitter()->attach($history);
        
$client->post('http://foo.com', [
            
'headers' => ['Content-Type' => 'multipart/form-data'],
            
'body'    => ['foo' => 'bar']
        ]);
        
$this->assertContains(
            
'multipart/form-data; boundary=',
            
$history->getLastRequest()->getHeader('Content-Type')
        );
        
$this->assertContains(
            
"Content-Disposition: form-data; name=\"foo\"\r\n\r\nbar",
            (string) 
$history->getLastRequest()->getBody()
        );
    }

    public function 
testDecodeDoesNotForceAcceptHeader()
    {
        
$request = (new MessageFactory())->createRequest('POST''http://f.cn', [
            
'decode_content' => true
        
]);
        
$this->assertEquals(''$request->getHeader('Accept-Encoding'));
        
$this->assertTrue($request->getConfig()->get('decode_content'));
    }

    public function 
testDecodeCanAddAcceptHeader()
    {
        
$request = (new MessageFactory())->createRequest('POST''http://f.cn', [
            
'decode_content' => 'gzip'
        
]);
        
$this->assertEquals('gzip'$request->getHeader('Accept-Encoding'));
        
$this->assertTrue($request->getConfig()->get('decode_content'));
    }

    public function 
testCanDisableDecoding()
    {
        
$request = (new MessageFactory())->createRequest('POST''http://f.cn', [
            
'decode_content' => false
        
]);
        
$this->assertEquals(''$request->getHeader('Accept-Encoding'));
        
$this->assertNull($request->getConfig()->get('decode_content'));
    }
}

class 
ExtendedFactory extends MessageFactory
{
    protected function 
add_foo() {}
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.2945 ]--