/** * @param Request $request * * @return HttpServer */ public function getHttpServer(Request $request) { $url = $request->getUri(); switch ($request->getMethod()) { case Request::METHOD_POST: $httpServer = HttpServer::post($url); break; case Request::METHOD_PUT: $httpServer = HttpServer::put($url); break; case Request::METHOD_DELETE: $httpServer = HttpServer::delete($url); break; default: $httpServer = HttpServer::get($url); break; } if ($request->headers) { $httpServer->addHeaders($request->headers->all()); } if ($request->getUser()) { $httpServer->authenticateWith($request->getUser(), $request->getPassword()); } if ($request->getContent()) { $httpServer->body($request->getContent()); } return $httpServer; }