753 lines
12 KiB
HTML
753 lines
12 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Reference</title>
|
|
<link rel="stylesheet" href="../luadoc.css" type="text/css" />
|
|
<!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/-->
|
|
</head>
|
|
|
|
<body>
|
|
<div id="container">
|
|
|
|
<div id="product">
|
|
<div id="product_logo"></div>
|
|
<div id="product_name"><big><b></b></big></div>
|
|
<div id="product_description"></div>
|
|
</div> <!-- id="product" -->
|
|
|
|
<div id="main">
|
|
|
|
<div id="navigation">
|
|
|
|
|
|
<h1>LuaDoc</h1>
|
|
<ul>
|
|
|
|
<li><a href="../index.html">Index</a></li>
|
|
|
|
</ul>
|
|
|
|
|
|
<!-- Module list -->
|
|
|
|
<h1>Modules</h1>
|
|
<ul>
|
|
|
|
<li>
|
|
<a href="../modules/luci.dispatcher.html">luci.dispatcher</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.html">luci.http</a>
|
|
</li>
|
|
|
|
<li><strong>luci.http.protocol</strong></li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.conditionals.html">luci.http.protocol.conditionals</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.date.html">luci.http.protocol.date</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.mime.html">luci.http.protocol.mime</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.i18n.html">luci.i18n</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.ip.html">luci.ip</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.ip.cidr.html">luci.ip.cidr</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.json.html">luci.json</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.jsonc.html">luci.jsonc</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.jsonc.parser.html">luci.jsonc.parser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.model.ipkg.html">luci.model.ipkg</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.model.uci.html">luci.model.uci</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.rpcc.html">luci.rpcc</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.rpcc.ruci.html">luci.rpcc.ruci</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.html">luci.sys</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.init.html">luci.sys.init</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.iptparser.html">luci.sys.iptparser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.net.html">luci.sys.net</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.process.html">luci.sys.process</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.user.html">luci.sys.user</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.wifi.html">luci.sys.wifi</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.util.html">luci.util</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.html">nixio</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.CHANGELOG.html">nixio.CHANGELOG</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.CryptoHash.html">nixio.CryptoHash</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.File.html">nixio.File</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.README.html">nixio.README</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.Socket.html">nixio.Socket</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.TLSContext.html">nixio.TLSContext</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.TLSSocket.html">nixio.TLSSocket</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.UnifiedIO.html">nixio.UnifiedIO</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.bin.html">nixio.bin</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.bit.html">nixio.bit</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.crypto.html">nixio.crypto</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.fs.html">nixio.fs</a>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<!-- File list -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div><!-- id="navigation" -->
|
|
|
|
<div id="content">
|
|
|
|
<h1>Class <code>luci.http.protocol</code></h1>
|
|
|
|
<p></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2>Functions</h2>
|
|
<table class="function_list">
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#header_source">header_source</a> (sock)</td>
|
|
<td class="summary">
|
|
|
|
Creates a ltn12 source from the given socket.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#mimedecode_message_body">mimedecode_message_body</a> (src, msg, filecb)</td>
|
|
<td class="summary">
|
|
|
|
Decode a mime encoded http message body with multipart/form-data
|
|
|
|
Content-Type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#parse_message_body">parse_message_body</a> (src, msg, filecb)</td>
|
|
<td class="summary">
|
|
|
|
Try to extract and decode a http message body from the given ltn12 source.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#parse_message_header">parse_message_header</a> (src)</td>
|
|
<td class="summary">
|
|
|
|
Try to extract an http message header including information like protocol
|
|
|
|
version, message headers and resulting CGI environment variables from the
|
|
given ltn12 source.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#urldecode">urldecode</a> (str, no_plus)</td>
|
|
<td class="summary">
|
|
|
|
Decode an urlencoded string - optionally without decoding
|
|
|
|
the "+" sign to " " - and return the decoded string.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#urldecode_message_body">urldecode_message_body</a> (src, msg)</td>
|
|
<td class="summary">
|
|
|
|
Decode an urlencoded http message body with application/x-www-urlencoded
|
|
|
|
Content-Type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#urldecode_params">urldecode_params</a> (url, tbl)</td>
|
|
<td class="summary">
|
|
|
|
Extract and split urlencoded data pairs, separated bei either "&" or ";"
|
|
|
|
from given url or string.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#urlencode">urlencode</a> (str)</td>
|
|
<td class="summary">
|
|
|
|
Encode given string to x-www-urlencoded format.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#urlencode_params">urlencode_params</a> (tbl)</td>
|
|
<td class="summary">
|
|
|
|
Encode each key-value-pair in given table to x-www-urlencoded format,
|
|
|
|
separated by "&".</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
|
|
<h2><a name="functions"></a>Functions</h2>
|
|
<dl class="function">
|
|
|
|
|
|
|
|
<dt><a name="header_source"></a><strong>header_source</strong> (sock)</dt>
|
|
<dd>
|
|
|
|
|
|
Creates a ltn12 source from the given socket. The source will return it's
|
|
|
|
data line by line with the trailing \r\n stripped of.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
sock: Readable network socket
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return value:</h3>
|
|
Ltn12 source function
|
|
|
|
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="mimedecode_message_body"></a><strong>mimedecode_message_body</strong> (src, msg, filecb)</dt>
|
|
<dd>
|
|
|
|
|
|
Decode a mime encoded http message body with multipart/form-data
|
|
|
|
Content-Type. Stores all extracted data associated with its parameter name
|
|
in the params table withing the given message object. Multiple parameter
|
|
values are stored as tables, ordinary ones as strings.
|
|
If an optional file callback function is given then it is feeded with the
|
|
file contents chunk by chunk and only the extracted file name is stored
|
|
within the params table. The callback function will be called subsequently
|
|
with three arguments:
|
|
o Table containing decoded (name, file) and raw (headers) mime header data
|
|
o String value containing a chunk of the file data
|
|
o Boolean which indicates wheather the current chunk is the last one (eof)
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
src: Ltn12 source function
|
|
</li>
|
|
|
|
<li>
|
|
msg: HTTP message object
|
|
</li>
|
|
|
|
<li>
|
|
filecb: File callback function (optional)
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return values:</h3>
|
|
<ol>
|
|
|
|
<li>Value indicating successful operation (not nil means "ok")
|
|
|
|
<li>String containing the error if unsuccessful
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#parse_message_header">
|
|
parse_message_header
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="parse_message_body"></a><strong>parse_message_body</strong> (src, msg, filecb)</dt>
|
|
<dd>
|
|
|
|
|
|
Try to extract and decode a http message body from the given ltn12 source.
|
|
|
|
This function will examine the Content-Type within the given message object
|
|
to select the appropriate content decoder.
|
|
Currently the application/x-www-urlencoded and application/form-data
|
|
mime types are supported. If the encountered content encoding can't be
|
|
handled then the whole message body will be stored unaltered as "content"
|
|
property within the given message object.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
src: Ltn12 source function
|
|
</li>
|
|
|
|
<li>
|
|
msg: HTTP message object
|
|
</li>
|
|
|
|
<li>
|
|
filecb: File data callback (optional, see mimedecode_message_body())
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return values:</h3>
|
|
<ol>
|
|
|
|
<li>Value indicating successful operation (not nil means "ok")
|
|
|
|
<li>String containing the error if unsuccessful
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#parse_message_header">
|
|
parse_message_header
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="parse_message_header"></a><strong>parse_message_header</strong> (src)</dt>
|
|
<dd>
|
|
|
|
|
|
Try to extract an http message header including information like protocol
|
|
|
|
version, message headers and resulting CGI environment variables from the
|
|
given ltn12 source.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
src: Ltn12 source function
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return value:</h3>
|
|
HTTP message object
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#parse_message_body">
|
|
parse_message_body
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="urldecode"></a><strong>urldecode</strong> (str, no_plus)</dt>
|
|
<dd>
|
|
|
|
|
|
Decode an urlencoded string - optionally without decoding
|
|
|
|
the "+" sign to " " - and return the decoded string.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
str: Input string in x-www-urlencoded format
|
|
</li>
|
|
|
|
<li>
|
|
no_plus: Don't decode "+" signs to spaces
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return value:</h3>
|
|
The decoded string
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#urlencode">
|
|
urlencode
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="urldecode_message_body"></a><strong>urldecode_message_body</strong> (src, msg)</dt>
|
|
<dd>
|
|
|
|
|
|
Decode an urlencoded http message body with application/x-www-urlencoded
|
|
|
|
Content-Type. Stores all extracted data associated with its parameter name
|
|
in the params table withing the given message object. Multiple parameter
|
|
values are stored as tables, ordinary ones as strings.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
src: Ltn12 source function
|
|
</li>
|
|
|
|
<li>
|
|
msg: HTTP message object
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return values:</h3>
|
|
<ol>
|
|
|
|
<li>Value indicating successful operation (not nil means "ok")
|
|
|
|
<li>String containing the error if unsuccessful
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#parse_message_header">
|
|
parse_message_header
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="urldecode_params"></a><strong>urldecode_params</strong> (url, tbl)</dt>
|
|
<dd>
|
|
|
|
|
|
Extract and split urlencoded data pairs, separated bei either "&" or ";"
|
|
|
|
from given url or string. Returns a table with urldecoded values.
|
|
Simple parameters are stored as string values associated with the parameter
|
|
name within the table. Parameters with multiple values are stored as array
|
|
containing the corresponding values.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
url: The url or string which contains x-www-urlencoded form data
|
|
</li>
|
|
|
|
<li>
|
|
tbl: Use the given table for storing values (optional)
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return value:</h3>
|
|
Table containing the urldecoded parameters
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#urlencode_params">
|
|
urlencode_params
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="urlencode"></a><strong>urlencode</strong> (str)</dt>
|
|
<dd>
|
|
|
|
|
|
Encode given string to x-www-urlencoded format.
|
|
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
str: String to encode
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return value:</h3>
|
|
String containing the encoded data
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#urldecode">
|
|
urldecode
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><a name="urlencode_params"></a><strong>urlencode_params</strong> (tbl)</dt>
|
|
<dd>
|
|
|
|
|
|
Encode each key-value-pair in given table to x-www-urlencoded format,
|
|
|
|
separated by "&". Tables are encoded as parameters with multiple values by
|
|
repeating the parameter name with each value.
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
|
|
<li>
|
|
tbl: Table with the values
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Return value:</h3>
|
|
String containing encoded values
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
|
|
<li><a href="#urldecode_params">
|
|
urldecode_params
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
</div> <!-- id="content" -->
|
|
|
|
</div> <!-- id="main" -->
|
|
|
|
<div id="about">
|
|
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
|
|
</div> <!-- id="about" -->
|
|
|
|
</div> <!-- id="container" -->
|
|
</body>
|
|
</html>
|