Browse Source

Use gzipped file if exists

If foo.html is requested and not found, foo.html.gz is checked and if
exists, will served.
Hazar Karabay 8 years ago
parent
commit
13e2bfbe9c
1 changed files with 14 additions and 1 deletions
  1. 14 1
      httpserver.lua

+ 14 - 1
httpserver.lua

@@ -23,8 +23,21 @@ return function (port)
                fileServeFunction = dofile("httpserver-error.lc")
             else
                local fileExists = file.open(uri.file, "r")
+               file.close()			   
+            
+			if not fileExists then
+               -- gzip check
+               fileExists = file.open(uri.file .. ".gz", "r")
                file.close()
-               if not fileExists then
+
+               if fileExists then
+                  print("gzip variant exists, serving that one")
+                  uri.file = uri.file .. ".gz"
+                  uri.ext = uri.ext .. ".gz"
+               end
+            end
+			   
+            if not fileExists then
                   uri.args = {code = 404, errorString = "Not Found"}
                   fileServeFunction = dofile("httpserver-error.lc")
                elseif uri.isScript then