Ejemplo n.º 1
0
 /**
  * @param \Blar\Events\Event $event Event.
  */
 public function responseReceivedCallback($event)
 {
     $response = $event->getTarget();
     $decoded = Xmlrpc::decodeResponse($response->getBody());
     if (Xmlrpc::isFault($decoded)) {
         throw new Exception($decoded['faultString'], $decoded['faultCode']);
     }
     $response->setBody($decoded);
 }
Ejemplo n.º 2
0
 public function testEventsWithNoPriority()
 {
     $this->expectOutputString('fooEmitterTestbarEmitterTest');
     $emitter = new Emitter();
     $emitter->on('foobar', function ($event) {
         echo 'foo';
         echo get_class($event->getTarget());
     });
     $emitter->on('foobar', function ($event) {
         echo 'bar';
         echo get_class($event->getTarget());
     });
     $event = new Event();
     $event->setTarget($this);
     $emitter->fireEvent('foobar', $event);
 }
Ejemplo n.º 3
0
 /**
  * @return \Blar\Http\HttpResponse
  */
 public function send()
 {
     $response = $this->createHttpResponse();
     $response->setUrl($this->getUrl());
     $event = new Event();
     $event->setTarget($this);
     $this->fireEvent('beforeSend', $event);
     $curl = $this->createCurl();
     $this->configureCurl($curl, $response);
     $curl->execute();
     // Wenn bei der Anfrage eine Umleitung aufgetreten ist, die Url in der Antwort aktualisieren.
     $response->setUrl($curl->getInfo(CURLINFO_EFFECTIVE_URL));
     $event = new Event();
     $event->setTarget($response);
     $this->fireEvent('responseReceived', $event);
     return $response;
 }
Ejemplo n.º 4
0
 /**
  * @param string $methodName Method name.
  * @param array $arguments Arguments.
  * @return Blar\Http\HttpRequest
  */
 public function createRequest($methodName, array $arguments = array())
 {
     if (!$this->getWebserviceDescription()->has($methodName)) {
         throw new Exception(sprintf('Method "%s" not found', $methodName), 404);
     }
     $method = $this->getWebserviceDescription()->get($methodName);
     $method->getParameters()->setValues($this->getDefaultArguments());
     $method->getParameters()->setValues($arguments);
     $request = new HttpRequest();
     $request->setMethod($method->getMethod());
     $this->prepareRequest($request, $method);
     $event = new Event();
     $event->setTarget($request);
     $this->getEmitter()->fireEvent('requestCreated', $event);
     return $request;
 }