From 1dc211afa7a034f61c3657c048fbe7db43ad7ba7 Mon Sep 17 00:00:00 2001
From: Matthias Hertel <mathertel@hotmail.com>
Date: Sat, 22 Jan 2022 21:15:25 +0100
Subject: [PATCH] Update RequestHandlersImpl.h

With LittleFS the `fs.exists(path)` returns true also on folders. A `isDirectory()` call is required to set _isFile to false on directories.
This enables serving all files from a folder like : `server->serveStatic("/", LittleFS, "/", cacheHeader.c_str());
        File f = fs.open(path);
        _isFile = (f && (! f.isDirectory()));
---
 libraries/WebServer/src/detail/RequestHandlersImpl.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libraries/WebServer/src/detail/RequestHandlersImpl.h b/libraries/WebServer/src/detail/RequestHandlersImpl.h
index 699015746b3..4a7c28e58ae 100644
--- a/libraries/WebServer/src/detail/RequestHandlersImpl.h
+++ b/libraries/WebServer/src/detail/RequestHandlersImpl.h
@@ -68,7 +68,8 @@ class StaticRequestHandler : public RequestHandler {
     , _path(path)
     , _cache_header(cache_header)
     {
-        _isFile = fs.exists(path);
+        File f = fs.open(path);
+        _isFile = (f && (! f.isDirectory()));
         log_v("StaticRequestHandler: path=%s uri=%s isFile=%d, cache_header=%s\r\n", path, uri, _isFile, cache_header ? cache_header : ""); // issue 5506 - cache_header can be nullptr
         _baseUriLength = _uri.length();
     }