Exemplo n.º 1
0
 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());
 }
Exemplo n.º 2
0
 /**
  * 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;
 }
Exemplo n.º 3
0
 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());
 }
Exemplo n.º 4
0
 public function testSetAndGetMethod()
 {
     $this->_request->setMethod(Solarium_Client_Request::METHOD_POST);
     $this->assertEquals(Solarium_Client_Request::METHOD_POST, $this->_request->getMethod());
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
 /**
  * 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');
     }
 }