Example #1
0
 /**
  * Add request settings for DistributedSearch.
  *
  * @param DistributedSearchComponent $component
  * @param Request                    $request
  *
  * @return Request
  */
 public function buildComponent($component, $request)
 {
     // add shards to request
     $shards = array_values($component->getShards());
     if (count($shards)) {
         $request->addParam('shards', implode(',', $shards));
     }
     $replicas = array_values($component->getReplicas());
     if (count($replicas)) {
         $value = $request->getParam('shards') ? $request->getParam('shards') . ',' . implode('|', $replicas) : implode('|', $replicas);
         $request->addParam('shards', $value, true);
     }
     $request->addParam('shards.qt', $component->getShardRequestHandler());
     // add collections to request
     $collections = array_values($component->getCollections());
     if (count($collections)) {
         $request->addParam('collection', implode(',', $collections));
     }
     return $request;
 }
 public function testPreExecuteRequestWithPersistentAndNonPersistentCustomizations()
 {
     $input = array('key' => 'xid', 'type' => 'param', 'name' => 'xid', 'value' => 123);
     $this->plugin->addCustomization($input);
     $input = array('key' => 'auth', 'type' => 'header', 'name' => 'X-my-auth', 'value' => 'mypassword', 'persistent' => true);
     $this->plugin->addCustomization($input);
     $request = new Request();
     $event = new PreExecuteRequestEvent($request, new Endpoint());
     $this->plugin->preExecuteRequest($event);
     $this->assertEquals(123, $request->getParam('xid'));
     $this->assertEquals(array('X-my-auth: mypassword'), $request->getHeaders());
     // second use, only the header should be persistent
     $request = new Request();
     $event = new PreExecuteRequestEvent($request, new Endpoint());
     $this->plugin->preExecuteRequest($event);
     $this->assertEquals(null, $request->getParam('xid'));
     $this->assertEquals(array('X-my-auth: mypassword'), $request->getHeaders());
 }
Example #3
0
 public function testGetInvalidParam()
 {
     $this->assertEquals(null, $this->request->getParam('invalidname'));
 }