public function getRequestInfo() : ProvidesRequestInfo { if ($this->requestInfo === null) { $this->requestInfo = $this->config->getRequestInfo(); } return $this->requestInfo; }
public function handleRequest() { $requestInfo = $this->config->getRequestInfo(); if (in_array($requestInfo->getMethod(), HttpMethod::WRITE_METHODS)) { $requestHandler = new WriteRequestHandler($this->config, $this->eventPublisher); $requestHandler->handleRequest(); } elseif (in_array($requestInfo->getMethod(), HttpMethod::READ_METHODS)) { $requestHandler = new ReadRequestHandler($this->config, $this->eventPublisher); $requestHandler->handleRequest(); } elseif ($requestInfo->getMethod() == HttpMethod::OPTIONS) { $requestHandler = new OptionsRequestHandler($this->config, $this->eventPublisher); $requestHandler->handleRequest(); } else { (new MethodNotImplemented($requestInfo->getMethod()))->respond(); } }