-
Notifications
You must be signed in to change notification settings - Fork 0
/
ESP8266_Utils_Server.hpp
53 lines (49 loc) · 1.54 KB
/
ESP8266_Utils_Server.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
String GetContentType(String filename)
{
if(filename.endsWith(".htm")) return "text/html";
else if(filename.endsWith(".html")) return "text/html";
else if(filename.endsWith(".css")) return "text/css";
else if(filename.endsWith(".js")) return "application/javascript";
else if(filename.endsWith(".png")) return "image/png";
else if(filename.endsWith(".gif")) return "image/gif";
else if(filename.endsWith(".jpg")) return "image/jpeg";
else if(filename.endsWith(".ico")) return "image/x-icon";
else if(filename.endsWith(".xml")) return "text/xml";
else if(filename.endsWith(".pdf")) return "application/x-pdf";
else if(filename.endsWith(".zip")) return "application/x-zip";
else if(filename.endsWith(".gz")) return "application/x-gzip";
return "text/plain";
}
void ServeFile(String path)
{
File file = SPIFFS.open(path, "r");
size_t sent = server.streamFile(file, GetContentType(path));
file.close();
}
void ServeFile(String path, String contentType)
{
File file = SPIFFS.open(path, "r");
size_t sent = server.streamFile(file, contentType);
file.close();
}
bool HandleFileReadGzip(String path)
{
if (path.endsWith("/")) path += "index.html";
Serial.println("handleFileRead: " + path);
if (SPIFFS.exists(path))
{
ServeFile(path, GetContentType(path));
return true;
}
else
{
String pathWithGz = path + ".gz";
if(SPIFFS.exists(pathWithGz))
{
ServeFile(pathWithGz, GetContentType(path));
return true;
}
}
Serial.println("\tFile Not Found");
return false;
}