/** * Applies options to Request object * * @param Request $request * @return self */ public function applyTo(Request $request) { if (!empty($this->data)) { curl_setopt_array($request->getHandle(), $this->data); } return $this; }
/** * Constructs response * * @param Request $request Request * @param string $content Content of reponse */ public function __construct(Request $request, $content = null) { $this->ch = $request->getHandle(); if (is_string($content)) { $this->content = $content; } }
/** * Constructs response * * @param Request $request Request * @param string $content Content of reponse * * @return void */ public function __construct(Request $request, $content = null) { $this->ch = $request->getHandle(); if (is_string($content)) { $this->content = $content; if ($content) { while (strpos($content, 'HTTP/1.') === 0) { list($header, $content) = explode("\r\n\r\n", $content, 2); } $this->body = $content; $headers = explode("\r\n", $header); $statusLine = array_shift($headers); preg_match('/HTTP\\/1\\.\\d (?P<statusCode>\\d{3}) (?P<reasonPhrase>[^\\r]*)/', $statusLine, $matches); $this->statusCode = (int) $matches['statusCode']; $this->reasonPhrase = $matches['reasonPhrase']; foreach ($headers as $h) { list($name, $value) = explode(": ", $h); $this->headers[$name] = $value; } } } }
/** * Remove a request from the multi handle * * @param \Bronto\Transfer\Curl\Request $request * @return self */ public function remove(Request $request) { $this->_multi->removeHandle($request->getHandle()->getResource()); unset($this->_requests[(int) $request->getHandle()->getResource()]); return $this; }