Aerys\Request::getMethod PHP Method

getMethod() public method

Retrieve the HTTP method used to make this request
public getMethod ( ) : string
return string
    public function getMethod() : string;

Usage Example

Example #1
0
 private function respond($fileInfo, Request $request, Response $response)
 {
     // If the file doesn't exist don't bother to do anything else so the
     // HTTP server can send a 404 and/or allow handlers further down the chain
     // a chance to respond.
     if (empty($fileInfo->exists)) {
         return;
     }
     switch ($request->getMethod()) {
         case "GET":
         case "HEAD":
             break;
         case "OPTIONS":
             $response->setStatus(HTTP_STATUS["OK"]);
             $response->setHeader("Allow", "GET, HEAD, OPTIONS");
             $response->setHeader("Accept-Ranges", "bytes");
             $response->setHeader("Aerys-Generic-Response", "enable");
             return;
         default:
             $response->setStatus(HTTP_STATUS["METHOD_NOT_ALLOWED"]);
             $response->setHeader("Allow", "GET, HEAD, OPTIONS");
             $response->setHeader("Aerys-Generic-Response", "enable");
             return;
     }
     $precondition = $this->checkPreconditions($request, $fileInfo->mtime, $fileInfo->etag);
     switch ($precondition) {
         case self::PRECOND_NOT_MODIFIED:
             $response->setStatus(HTTP_STATUS["NOT_MODIFIED"]);
             $lastModifiedHttpDate = \gmdate('D, d M Y H:i:s', $fileInfo->mtime) . " GMT";
             $response->setHeader("Last-Modified", $lastModifiedHttpDate);
             if ($fileInfo->etag) {
                 $response->setHeader("Etag", $fileInfo->etag);
             }
             $response->end();
             return;
         case self::PRECOND_FAILED:
             $response->setStatus(HTTP_STATUS["PRECONDITION_FAILED"]);
             $response->end();
             return;
         case self::PRECOND_IF_RANGE_FAILED:
             // Return this so the resulting generator will be auto-resolved
             return $this->doNonRangeResponse($fileInfo, $response);
     }
     if (!($rangeHeader = $request->getHeader("Range"))) {
         // Return this so the resulting generator will be auto-resolved
         return $this->doNonRangeResponse($fileInfo, $response);
     }
     if ($range = $this->normalizeByteRanges($fileInfo->size, $rangeHeader)) {
         // Return this so the resulting generator will be auto-resolved
         return $this->doRangeResponse($range, $fileInfo, $response);
     }
     // If we're still here this is the only remaining response we can send
     $response->setStatus(HTTP_STATUS["REQUESTED_RANGE_NOT_SATISFIABLE"]);
     $response->setHeader("Content-Range", "*/{$fileInfo->size}");
     $response->end();
 }
All Usage Examples Of Aerys\Request::getMethod