getMethod() публичный Метод

This overrides the parent functionality to ensure the method is never empty; if no method is present, it returns 'GET'.
public getMethod ( ) : string
Результат string
Пример #1
0
 /**
  * @return mixed|null
  */
 public function getRoute()
 {
     $this->_routeMap->sortRoutes();
     foreach ($this->_routeMap as $route) {
         if ($this->_request->getMethod() !== $route->getRequestMethod()) {
             continue;
         }
         $route->replaceTokens();
         if (preg_match(sprintf("#^%s\$#i", $route->getPattern()), $this->_request->getUri()->getPath(), $matches)) {
             $this->_request = $this->_request->withAttribute('match', $route->getPattern());
             foreach ($matches as $key => $value) {
                 if (!is_int($key)) {
                     $this->_request = $this->_request->withAttribute($key, $value);
                 }
             }
             return $route;
         }
     }
     return null;
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public static function fromGlobals(array $server = null, array $query = null, array $body = null, array $cookies = null, array $files = null)
 {
     $server = static::normalizeServer($server ?: $_SERVER);
     $files = static::normalizeFiles($files ?: $_FILES);
     $headers = static::marshalHeaders($server);
     $request = new ServerRequest($server, $files, static::marshalUriFromServer($server, $headers), static::get('REQUEST_METHOD', $server, 'GET'), 'php://input', $headers);
     $contentType = current($request->getHeader('Content-Type'));
     $input = file_get_contents('php://input');
     // support header like "application/json" and "application/json; charset=utf-8"
     if ($contentType !== false && stristr($contentType, 'application/json')) {
         $data = (array) json_decode($input);
     } else {
         switch ($request->getMethod()) {
             case 'POST':
                 $data = $_POST;
                 break;
             default:
                 parse_str($input, $data);
                 break;
         }
     }
     return $request->withCookieParams($cookies ?: $_COOKIE)->withQueryParams($query ?: $_GET)->withParsedBody($body ?: $data);
 }
 public function testSimulateRequest()
 {
     $simulatedRequest = "DELETE / HTTP/1.1\r\nBar: faz\r\nHost: php-middleware.com";
     $postBody = http_build_query([RequestSimulatorMiddleware::PARAM => $simulatedRequest]);
     $stream = new Stream('php://memory', 'wb+');
     $stream->write($postBody);
     $request = new ServerRequest([], [], new Uri(), 'POST', $stream, ['Content-type' => 'application/x-www-form-urlencoded']);
     $responseBody = json_encode(['boo' => 'foo']);
     $response = new Response('php://memory', 200, ['content-type' => 'application/json']);
     $response->getBody()->write($responseBody);
     $next = function (ServerRequestInterface $request, ResponseInterface $response) {
         $this->assertSame('DELETE', $request->getMethod());
         $this->assertSame('faz', $request->getHeaderLine('Bar'));
         return $response;
     };
     /* @var $result ResponseInterface */
     $result = call_user_func($this->middleware, $request, $response, $next);
     $body = (string) $result->getBody();
     $this->assertContains('text/html', $result->getHeaderLine('Content-type'));
     $this->assertContains('{"boo":"foo"}', $body);
     $this->assertContains('<html>', $body);
     $this->assertContains('DELETE / HTTP/1.1', $body);
 }
 /**
  * Create
  *
  * @return Request Request
  */
 public static function fromRequest(ServerRequest $request)
 {
     return new HttpMessages_CraftRequest($request->getServerParams(), $request->getUploadedFiles(), $request->getUri(), $request->getMethod(), $request->getBody(), $request->getHeaders(), $request->getCookieParams(), $request->getQueryParams(), $request->getParsedBody(), $request->getProtocolVersion());
 }
Пример #5
0
 /**
  * Returns true if a JSON-RCP request has been received.
  *
  * @return boolean
  */
 public function isJsonRpc(Request $request)
 {
     $method = $request->getMethod();
     $type = $request->getHeader('content-type');
     return $method === 'POST' && !empty($type[0]) && strpos($type[0], 'application/json') !== false;
 }