Beispiel #1
0
 /**
  * Create a new internal request from an HTTP verb and URI.
  *
  * @param string       $verb
  * @param string       $uri
  * @param string|array $parameters
  *
  * @return \Dingo\Api\Http\InternalRequest
  */
 protected function createRequest($verb, $uri, $parameters)
 {
     if (!isset($this->version)) {
         $this->version = $this->properties->getVersion();
     }
     $api = $this->router->getApiGroups()->getByDomainOrVersion($this->domain, $this->version);
     if (($prefix = $api->option('prefix')) && !starts_with($uri, $prefix)) {
         $uri = sprintf('%s/%s', $prefix, $uri);
     }
     $parameters = array_merge($this->parameters, (array) $parameters);
     $request = InternalRequest::create($this->url->to($uri), $verb, $parameters, $this->cookies, $this->uploads, [], $this->content);
     if ($domain = $api->option('domain')) {
         $request->headers->set('host', $domain);
     }
     foreach ($this->headers as $header => $value) {
         $request->headers->set($header, $value);
     }
     $request->headers->set('accept', $this->buildAcceptHeader());
     return $request;
 }