public function testToHttpRequestWithDefaultContentType() { $request = new Solarium_Client_Request(); $request->setMethod(Solarium_Client_Request::METHOD_POST); $httpRequest = $this->_adapter->toHttpRequest($request); $this->assertEquals(array('timeout' => 10, 'headers' => array('Content-Type' => 'text/xml; charset=utf-8')), $httpRequest->getOptions()); }
/** * Build request for a ping query * * @param Solarium_Query_Ping $query * @return Solarium_Client_Request */ public function build($query) { $request = new Solarium_Client_Request(); $request->setHandler($query->getHandler()); $request->setMethod(Solarium_Client_Request::METHOD_GET); $request->addParam('wt', 'json'); return $request; }
public function testExecuteHeadRequestReturnsNoData() { $request = new Solarium_Client_Request(); $request->setMethod(Solarium_Client_Request::METHOD_HEAD); $response = new Zend_Http_Response(200, array('status' => 'HTTP 1.1 200 OK'), 'data'); $mock = $this->getMock('Zend_Http_Client'); $mock->expects($this->once())->method('request')->will($this->returnValue($response)); $this->_adapter->setZendHttp($mock); $response = $this->_adapter->execute($request); $this->assertEquals('', $response->getBody()); }
public function testSetAndGetMethod() { $this->_request->setMethod(Solarium_Client_Request::METHOD_POST); $this->assertEquals(Solarium_Client_Request::METHOD_POST, $this->_request->getMethod()); }
public function testCreateContextPostRequest() { $timeout = 13; $method = Solarium_Client_Request::METHOD_POST; $data = 'test123'; $request = new Solarium_Client_Request(); $request->setMethod($method); $request->setRawData($data); $this->_adapter->setTimeout($timeout); $context = $this->_adapter->createContext($request); $this->assertEquals(array('http' => array('method' => $method, 'timeout' => $timeout, 'content' => $data, 'header' => 'Content-Type: text/xml; charset=UTF-8')), stream_context_get_options($context)); }
/** * Event hook to adjust client settings just before query execution * * @param Solarium_Query $query * @param Solarium_Client_Request $request * @return void */ public function postCreateRequest($query, $request) { $queryString = $request->getQueryString(); if ($request->getMethod() == Solarium_Client_Request::METHOD_GET && strlen($queryString) > $this->getMaxQueryStringLength()) { $request->setMethod(Solarium_Client_Request::METHOD_POST); $request->setRawData($queryString); $request->clearParams(); $request->addHeader('Content-Type: application/x-www-form-urlencoded'); } }