/** * @return \Blar\Http\HttpRequest */ public function createRequest() { $request = new HttpRequest(); $request->setMethod('POST'); $request->setUrl($this->getHubUrl()); return $request; }
/** * @return \Blar\Http\HttpRequest */ public function createRequest() { $request = new HttpRequest(); $request->setMethod('POST'); $request->getHeaders()->set('Content-Type', 'application/xml'); $request->getHeaders()->set('Accept', 'application/xml, text/xml'); return $request; }
public function testRedirect() { $request = new HttpRequest(); $request->setUrl('http://httpbin.org/redirect/5'); $response = $request->send(); $this->assertEquals('http://httpbin.org/get', $response->getUrl()); }
/** * @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; }
/** * @param Blar\Http\HttpRequest $request Request. * @param Blar\Webservice\WebserviceMethod $method Method. * @return self */ protected function prepareRequest($request, $method) { $templateVariables = new Collection(); $query = new Query(); $body = array(); foreach ($method->getParameters() as $parameter) { switch ($parameter->getStyle()) { case 'template': $templateVariables->set($parameter->getName(), $parameter->getValue()); break; case 'query': $query->set($parameter->getName(), $parameter->getValue()); break; case 'header': $request->getHeaders()->set($parameter->getName(), $parameter->getValue()); break; case 'body': $body[$parameter->getName()] = $parameter->getValue(); break; } } $url = $method->getUrl(); $template = new UriTemplate($url); $url = $template->create($templateVariables); $url = new Url($url); $url->setQuery($query); $request->setUrl($url); $request->setBody($body); return $this; }