/** * 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)); }
function testRequestEncoding() { $this->assertEqual(SimpleUrl::encodeRequest(array('a' => '1')), 'a=1'); $this->assertEqual(SimpleUrl::encodeRequest(false), ''); $this->assertEqual(SimpleUrl::encodeRequest(array('a' => array('1', '2'))), 'a=1&a=2'); }
/** * Builds the appropriate HTTP request object. * @param string $method Fetching method. * @param SimpleUrl $url Target to fetch as url object. * @param hash $parameters POST/GET parameters. * @return SimpleHttpRequest New request object. * @access protected */ function &_createRequest($method, $url, $parameters) { if ($method == 'POST') { $request =& new SimpleHttpPushRequest($url, SimpleUrl::encodeRequest($parameters), 'POST'); $request->addHeaderLine('Content-Type: application/x-www-form-urlencoded'); return $request; } return new SimpleHttpRequest($url, $method); }
/** * Saves the URL ready for fetching. * @param SimpleUrl $url URL as object. * @param array $parameters Content to send. * @access public */ function SimpleHttpPostRequest($url, $parameters) { $this->SimpleHttpRequest($url, 'POST'); $this->_pushed_content = SimpleUrl::encodeRequest($parameters); }