|
@@ -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)
|