Example #1
0
 /**
  * @param $resultData
  */
 protected function processResult($resultData)
 {
     if ($this->request->getCurlOptions(CURLOPT_PROXY) !== null) {
         $this->stripProxyHeader($resultData);
     }
     list($headerText, $this->body) = explode("\r\n\r\n", $resultData, 2);
     foreach (explode("\r\n", $headerText) as $i => $headerLine) {
         if ($i === 0) {
             $this->header['http_code'] = $headerLine;
         } else {
             list($key, $value) = explode(': ', $headerLine);
             $this->header[$key] = $value;
         }
     }
 }
 /**
  * Confirms that cURL options are returned as expected.
  */
 public function testCurlOptions()
 {
     $request = new Request('foo.bar/api', array('composer' => 'brahms'));
     $expected = array(CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_URL => 'http://foo.bar/api?composer=brahms', CURLOPT_FOLLOWLOCATION => true, CURLOPT_MAXREDIRS => 10);
     $this->assertEquals($expected, $request->getCurlOptions());
     $request->autoRedirect(false);
     unset($expected[CURLOPT_FOLLOWLOCATION]);
     unset($expected[CURLOPT_MAXREDIRS]);
     $this->assertEquals($expected, $request->getCurlOptions());
     $request->setVerb('FROWN');
     $expected[CURLOPT_CUSTOMREQUEST] = 'FROWN';
     $this->assertEquals($expected, $request->getCurlOptions());
     $postContent = 'aosidfjoaisdfjoiasdfj';
     $request->setPayload($postContent);
     $request->setVerb('POST');
     $expected[CURLOPT_CUSTOMREQUEST] = 'POST';
     $expected[CURLOPT_POSTFIELDS] = $postContent;
     // When the payload is a string, the content type should be this
     $expected[CURLOPT_HTTPHEADER] = array('Content-Type: application/x-www-form-urlencoded');
     $this->assertEquals($expected, $request->getCurlOptions());
     // WHen it's an array, it's this
     $postContent = array('foo' => 'bar');
     $request->setPayload($postContent);
     $expected[CURLOPT_HTTPHEADER] = array('Content-Type: multipart/form-data');
     $expected[CURLOPT_POSTFIELDS] = $postContent;
     $request->setBasicAuthentication('max', 'mypassword123');
     $expected[CURLOPT_USERPWD] = 'max:mypassword123';
     $this->assertEquals($expected, $request->getCurlOptions());
     $request->setHeader('Foo: bar');
     $expected[CURLOPT_HTTPHEADER][] = 'Foo: bar';
     $this->assertEquals($expected, $request->getCurlOptions());
 }