diff --git a/docs/en/lua-modules/http.md b/docs/en/lua-modules/httpserver.md similarity index 53% rename from docs/en/lua-modules/http.md rename to docs/en/lua-modules/httpserver.md index c250aa34..0d733395 100644 --- a/docs/en/lua-modules/http.md +++ b/docs/en/lua-modules/httpserver.md @@ -1,4 +1,4 @@ -# HTTP Module +# HTTP Server Module | Since | Origin / Contributor | Maintainer | Source | | :----- | :-------------------- | :---------- | :------ | | 2015-01-19 | [Vladimir Dronnikov](https://github.com/dvv) | [Vladimir Dronnikov](https://github.com/dvv) | [http.lua](../../../lua_modules/http/http.lua) | @@ -7,17 +7,17 @@ This Lua module provides a simple callback implementation of a [HTTP 1.1](https: ### Require ```lua -httpserver = require("http") +httpserver = require("httpserver") ``` ### Release ```lua httpserver = nil -package.loaded["http"] = nil +package.loaded["httpserver"] = nil ``` ## httpserver.createServer() -Function to start HTTP 1.1 server. +Function to start HTTP server. #### Syntax `httpserver.createServer(port, handler(req, res))` @@ -30,17 +30,25 @@ Function to start HTTP 1.1 server. `net.server` sub module. #### Notes -Callback function has 2 arguments : `req` (request) and `res` (response). The first object holds values: +Callback function has 2 arguments: `req` (request) and `res` (response). The first object holds values: -- `conn`: net.server sub module -- `method`: Request method like `POST` or `GET` -- `url`: Request URL -- `onheader`: value to setup handler function for HTTP headers -- `ondata`: value to setup handler function HTTP data like `content-type` +- `conn`: `net.server` sub module +- `method`: Request method that was used (e.g.`POST` or `GET`) +- `url`: Requested URL +- `onheader`: value to setup handler function for HTTP headers like `content-type`. Handler function has 3 parameters: + + - `self`: `req` object + - `name`: Hearder name + - `value`: Header value + +- `ondata`: value to setup handler function HTTP data. Handler function has 2 parameters: + - `self`: `req` object + - `chunk`: Request data The second object holds functions: -- `send(self, data, [response_code])`: Function to send data to client. `self` is `req` object, `data` is data to send and `response_code` is HTTP response code like 200 or 404 (for example) -- `send_header(self, header_name, header_data)` Function to send HTTP headers to client. `self` is `req` object, `header_name` is HTTP header name and `header_data` is HTTP header data for client. + +- `send(self, data, [response_code])`: Function to send data to client. `self` is `req` object, `data` is data to send and `response_code` is HTTP response code like `200` or `404` (for example) +- `send_header(self, header_name, header_data)`: Function to send HTTP headers to client. `self` is `req` object, `header_name` is HTTP header name and `header_data` is HTTP header data for client. - `finish([data])`: Function to finalize connection, optionally sending data. `data` is optional data to send on connection finalizing. Full example can be found in [http-example.lua](../../../lua_modules/http/http-example.lua) \ No newline at end of file diff --git a/lua_modules/http/http-example.lua b/lua_modules/http/http-example.lua index 5d3788e8..3080dcb6 100644 --- a/lua_modules/http/http-example.lua +++ b/lua_modules/http/http-example.lua @@ -4,7 +4,7 @@ -- LICENCE: http://opensource.org/licenses/MIT -- Vladimir Dronnikov ------------------------------------------------------------------------------ -require("http").createServer(80, function(req, res) +require("httpserver").createServer(80, function(req, res) -- analyse method and url print("+R", req.method, req.url, node.heap()) -- setup handler of headers, if any diff --git a/lua_modules/http/http.lua b/lua_modules/http/httpserver.lua similarity index 100% rename from lua_modules/http/http.lua rename to lua_modules/http/httpserver.lua diff --git a/mkdocs.yml b/mkdocs.yml index 253281ed..96c9eaf0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,6 +43,7 @@ pages: - 'ds3231': 'en/lua-modules/ds3231.md' - 'ftpserver': 'en/lua-modules/ftpserver.md' - 'hdc1000': 'en/lua-modules/hdc1000.md' + - 'httpserver': 'en/lua-modules/httpserver.md' - 'imap': 'en/lua-modules/imap.md' - 'lm92': 'en/lua-modules/lm92.md' - 'mcp23008': 'en/lua-modules/mcp23008.md'