public function handleRequest(Request $request): Promise
    {
        $path = removeDotPathSegments($request->getUri()->getPath());

        return new Coroutine(
            ($fileInfo = $this->fetchCachedStat($path, $request))
                ? $this->respondFromFileInfo($fileInfo, $request)
                : $this->respondWithLookup($this->root . $path, $path, $request)
        );
    }