summaryrefslogtreecommitdiffhomepage
path: root/doc/modules/luci.http.protocol.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/modules/luci.http.protocol.html')
-rw-r--r--doc/modules/luci.http.protocol.html721
1 files changed, 721 insertions, 0 deletions
diff --git a/doc/modules/luci.http.protocol.html b/doc/modules/luci.http.protocol.html
new file mode 100644
index 000000000..b443ef58b
--- /dev/null
+++ b/doc/modules/luci.http.protocol.html
@@ -0,0 +1,721 @@
+<!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><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.jsonc.html">luci.jsonc</a>
+ </li>
+
+ <li>
+ <a href="../modules/luci.jsonc.parser.html">luci.jsonc.parser</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/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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>&nbsp;(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>