Ejemplo n.º 1
0
 /**
  * @param RequestInterface $request
  * @return GuzzleRequest
  * @throws ApplicationException
  * @throws UserException
  */
 protected function getGuzzleRequest(RequestInterface $request)
 {
     if (!$request instanceof RestRequest) {
         throw new ApplicationException("RestClient requires a RestRequest!");
     }
     switch ($request->getMethod()) {
         case 'GET':
             $method = $request->getMethod();
             $endpoint = Utils::buildUrl($request->getEndpoint(), $request->getParams());
             $options = [];
             break;
         case 'POST':
             $method = $request->getMethod();
             $endpoint = $request->getEndpoint();
             $options = ['json' => $request->getParams()];
             break;
         case 'FORM':
             $method = 'POST';
             $endpoint = $request->getEndpoint();
             $options = ['body' => $request->getParams()];
             break;
         default:
             throw new UserException("Unknown request method '" . $request->getMethod() . "' for '" . $request->getEndpoint() . "'");
             break;
     }
     if (!empty($request->getHeaders())) {
         $options['headers'] = $request->getHeaders();
     }
     return $this->client->createRequest($method, $endpoint, $options);
 }