Esempio n. 1
0
 /**
  * @scenario POST should work just like GET
  */
 public function testPost()
 {
     $client = new Client('someone', 'some_secret', 'http://www.whatever.com');
     $mock = new Mock([new Response(200, [], Stream::factory('ABC'))]);
     $client->getGuzzleClient()->getEmitter()->attach($mock);
     $response = $client->post('some_path', [], 'data');
     $this->assertEquals('ABC', $response->getBody()->getContents());
 }
Esempio n. 2
0
 /**
  * @scenario POST should work just like GET
  */
 public function testPost()
 {
     $client = new Client('someone', 'some_secret', 'http://www.whatever.com');
     $mock = new MockHandler([new Response(200, [], Psr7\stream_for('ABC'))]);
     $client->getGuzzleClient()->getConfig('handler')->setHandler($mock);
     $response = $client->post('some_path', [], 'data');
     $this->assertEquals('ABC', $response->getBody()->getContents());
 }
Esempio n. 3
0
 public function post($path, $parameters = [], $data = '', $autoresolveDeferred = true, string $contentType = null)
 {
     if ($contentType) {
         switch ($contentType) {
             case 'xml':
             case 'json':
                 break;
             default:
                 throw new InvalidArgumentException("contentType '{$contentType}' is invalid");
         }
     } else {
         $contentType = 'xml';
     }
     $response = parent::post($path, $parameters, $data, $autoresolveDeferred);
     switch ($contentType) {
         case 'xml':
             return (string) $response->getBody();
         case 'json':
             return json_decode((string) $response->getBody(), true);
     }
 }