diff --git a/README.md b/README.md index 3499628..bddcfac 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,36 @@ A (very) simple web server written in Lua for the ESP8266 firmware NodeMCU. ## Features * **GET** +* **Multiple MIME types** +* **Error pages (404 and others)** - Simple GET method will return the requested file. - NodeMCU's filesystem does not support folders, but filenames *can* contain slashes. - So prefix your server files with "http/" (yeah, weird). +## How to use - __Example:__ Say the IP for your ESP8266 is 2.2.2.2 and the server is running in the default port 80. - Go to http://2.2.2.2/index.html using your web browser. The ESP8266 will serve you with the contents - of the file "http_index.html" (if it exists). +1. Upload httpserver.lua using [luatool.py](https://github.com/4refr0nt/luatool) or equivalent. + Add the following to your init.lua in order to start the server: + + require("httpserver") + server = httpserver.start(80, 10) + + 80 is the port your server is listening to, and 10 is the timeout (in seconds) for clients. + +2. Upload the files you want to serve. + Again, use luatool.py or similar and upload the HTML and other files. + + All the files you upload must be prefixed with "http/". Wait, what? + + Yes: NodeMCU's filesystem does not support folders, but filenames *can* contain slashes. + +3. Visit your server from a web browser. + + __Example:__ Say the IP for your ESP8266 is 2.2.2.2 and the server is + running in the default port 80. Go to http://2.2.2.2/index.html using your web browser. The ESP8266 will serve you with the contents + of the file "http/myPage.html" (if it exists). If you visit the root (/) + then index.html is server. By the way, the URLs are case-sensitive. ## Not supported -* Other methods: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH -* Serving anything that's not HTML (different mime types) +* Other methods: HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH * Server side scripting. ## Open issues