function testHttp() { $http = new SimpleHttpRequest("www.lastcraft.com/test/network_confirm.php?gkey=gvalue"); $http->setCookie(new SimpleCookie("ckey", "cvalue")); $this->assertIsA($reponse = $http->fetch(), "SimpleHttpResponse"); $this->assertEqual($reponse->getResponseCode(), 200); $this->assertEqual($reponse->getMimeType(), "text/html"); $this->assertWantedPattern('/A target for the SimpleTest test suite/', $reponse->getContent()); $this->assertWantedPattern('/gkey=gvalue/', $reponse->getContent()); $this->assertWantedPattern('/ckey=cvalue/', $reponse->getContent()); }
/** * Adds additional manual headers. * @param SimpleHttpRequest $request Outgoing request. * @access private */ protected function addAdditionalHeaders(&$request) { foreach ($this->additional_headers as $header) { $request->addHeaderLine($header); } }
/** * Sends the headers. * @param SimpleSocket $socket Open socket. * @param string $method HTTP request method, * usually GET. * @param string $content Content to send with request. * @access protected */ function _dispatchRequest(&$socket, $method, $content) { parent::_dispatchRequest($socket, $method, SimpleUrl::encodeRequest($content)); }
/** * Presents the appropriate headers for this * location for basic authentication. * @param SimpleHttpRequest $request Request to modify. * @param string $username Username for realm. * @param string $password Password for realm. * @access public */ static function addBasicHeaders($request, $username, $password) { if ($username && $password) { $request->addHeaderLine('Authorization: Basic ' . base64_encode("{$username}:{$password}")); } }
public function testContentHeadersCalculatedWithXmlEntityBody() { $socket = new MockSimpleSocket(); $socket->expectAt(0, 'write', array("Content-Length: 27\r\n")); $socket->expectAt(1, 'write', array("Content-Type: text/xml\r\n")); $socket->expectAt(2, 'write', array("\r\n")); $socket->expectAt(3, 'write', array("<a><b>one</b><c>two</c></a>")); $route = new MockSimpleRoute(); $route->setReturnReference('createConnection', $socket); $route->expect('createConnection', array('POST', 15)); $request = new SimpleHttpRequest($route, new SimplePostEncoding('<a><b>one</b><c>two</c></a>', 'text/xml')); $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); }
function testContentHeadersCalculated() { $socket = new MockSimpleSocket(); $socket->expectArgumentsAt(0, 'write', array("Content-Length: 3\r\n")); $socket->expectArgumentsAt(1, 'write', array("Content-Type: application/x-www-form-urlencoded\r\n")); $socket->expectArgumentsAt(2, 'write', array("\r\n")); $socket->expectArgumentsAt(3, 'write', array("a=A")); $route = new MockSimpleRoute(); $route->setReturnReference('createConnection', $socket); $route->expectArguments('createConnection', array('POST', 15)); $request = new SimpleHttpRequest($route, new SimplePostEncoding(array('a' => 'A'))); $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); }
public static function post($url, $data) { return SimpleHttpRequest::doConnect('post', $url, $data); }
/** * Adds additional manual headers. * @param SimpleHttpRequest $request Outgoing request. * @access private */ function _addAdditionalHeaders($request) { foreach ($this->_additional_headers as $header) { $request->addHeaderLine($header); } }
/** * Adds the current cookies to a request. * @param SimpleHttpRequest $request Request to modify. * @param SimpleUrl $url Cookie selector. * @access private */ function addHeaders(&$request, $url) { $cookies = $this->getValidCookies($url->getHost(), $url->getPath()); foreach ($cookies as $cookie) { $request->setCookie($cookie); } }
/** * Sends the headers and request data. * @param SimpleSocket $socket Open socket. * @param string $method HTTP request method, usually GET. * @access protected */ function _request(&$socket, $method) { $this->addHeaderLine('Content-Length: ' . strlen($this->_pushed_content)); parent::_request($socket, $method); $socket->write($this->_pushed_content); }
/** * Fetches a URL performing the standard tests. * @param $url Target to fetch as string. * @param $request Test version of SimpleHttpRequest. * @return Content of page. * @access public */ function fetchUrl($url, $request = false) { if (!is_object($request)) { $request = new SimpleHttpRequest($url); } foreach ($this->_cookie_jar->getValidCookies() as $cookie) { $request->setCookie($cookie); } $this->_response = $request->fetch(); $this->_checkExpectations($url, $this->_response); foreach ($this->_response->getNewCookies() as $cookie) { $parsed_url = new SimpleUrl($url); if ($parsed_url->getHost()) { $cookie->setHost($parsed_url->getHost()); } $this->_cookie_jar->setCookie($cookie); } return $this->_response->getContent(); }
/** * Presents the appropriate headers for this * location for basic authentication. * @param SimpleHttpRequest $request Request to modify. * @param string $username Username for realm. * @param string $password Password for realm. * @access public * @static */ function addBasicHeaders(&$request, $username, $password) { if ($username && $password) { $request->addHeaderLine( 'Authorization: Basic ' . base64_encode("$username:$password")); } }
/** * Sends the headers and request data. * @param SimpleSocket $socket Open socket. * @param string $method HTTP request method, usually GET. * @access protected */ function _request(&$socket, $method) { $this->addHeaderLine('Content-Length: ' . strlen($this->_pushed_content)); $this->addHeaderLine('Content-Type: application/x-www-form-urlencoded'); parent::_request($socket, $method); $socket->write($this->_pushed_content); }
function testMultipleCookieWriting() { $request = new SimpleHttpRequest("a.valid.host/and/path"); $request->setCookie(new SimpleCookie("a", "A")); $request->setCookie(new SimpleCookie("b", "B")); $socket =& new MockSimpleSocket($this); $socket->setReturnValue("isError", false); $socket->expectArgumentsSequence(2, "write", array("Cookie: a=A;b=B\r\n")); $request->fetch($socket); $socket->tally(); }