private function resolveMethod(RequestInterface $request)
 {
     unset($this->options[CURLOPT_CUSTOMREQUEST]);
     unset($this->options[CURLOPT_POSTFIELDS]);
     unset($this->options[CURLOPT_POST]);
     unset($this->options[CURLOPT_HTTPGET]);
     switch ($request->getMethod()) {
         case static::METHOD_POST:
             $this->options[CURLOPT_POST] = 1;
             $this->options[CURLOPT_POSTFIELDS] = $request->getBody();
             break;
         case static::METHOD_GET:
             $this->options[CURLOPT_HTTPGET] = 1;
             break;
         case static::METHOD_PUT:
             $this->options[CURLOPT_POST] = 1;
             $this->options[CURLOPT_CUSTOMREQUEST] = static::METHOD_PUT;
             $this->options[CURLOPT_POSTFIELDS] = $request->getBody();
             break;
         case static::METHOD_DELETE:
             $this->options[CURLOPT_CUSTOMREQUEST] = static::METHOD_DELETE;
             break;
     }
 }
 private function resolveMethod(RequestInterface $request)
 {
     $options = array();
     switch ($request->getMethod()) {
         case static::METHOD_POST:
             $options[CURLOPT_POST] = 1;
             $options[CURLOPT_POSTFIELDS] = $request->getBody();
             break;
         case static::METHOD_GET:
             $options[CURLOPT_HTTPGET] = 1;
             break;
         case static::METHOD_PUT:
             $options[CURLOPT_POST] = 1;
             $options[CURLOPT_CUSTOMREQUEST] = static::METHOD_PUT;
             $options[CURLOPT_POSTFIELDS] = $request->getBody();
             break;
         case static::METHOD_DELETE:
             $options[CURLOPT_CUSTOMREQUEST] = static::METHOD_DELETE;
             break;
     }
     return $options;
 }