File: index.html

package info (click to toggle)
lua-cgi 6.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 956 kB
  • sloc: javascript: 2,216; makefile: 25
file content (321 lines) | stat: -rwxr-xr-x 12,913 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>CGILua: Building Web Scripts with Lua</title>
    <link rel="stylesheet" href="doc.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">
		<img alt="CGILua logo" src="cgi-128.gif"/>
	</div>
	<div id="product_name"><big><strong>CGILua</strong></big></div>
	<div id="product_description">Building Web Scripts with Lua</div>
</div> <!-- id="product" -->

<div id="main">
	
<div id="navigation">
<h1>CGILua</h1>
	<ul>
		<li><strong>Home</strong>
			<ul>
				<li><a href="index.html#overview">Overview</a></li>
				<li><a href="index.html#status">Status</a></li>
				<li><a href="index.html#download">Download</a></li>
				<li><a href="index.html#history">History</a></li>
				<li><a href="index.html#incompatibility">Incompatibilities</a></li>
				<li><a href="index.html#credits">Credits</a></li>
				<li><a href="index.html#contact">Contact us</a></li>
			</ul>
		</li>
		<li><a href="manual.html">Manual</a>
		</li>
		<li><a href="reference.html">Reference</a>
		</li>
		<li><a href="libraries.html">Libraries</a>
		</li>
		<li><a href="sapi.html">SAPI</a></li>
		<li><a href="license.html">License</a></li>
	</ul>
</div> <!-- id="navigation" -->

<div id="content">


<h2><a name="overview"></a>Overview</h2>
<p>CGILua is a tool for creating dynamic Web pages and manipulating input data
from Web forms. CGILua allows the separation of logic and data handling from
the generation of pages, making it easy to develop web applications with Lua.
</p>

<p>
One of advantages of CGILua is its abstraction of the underlying Web server.
CGILua can be used with a variety of Web servers and, for each server, with
different launchers. A launcher is responsible for the interaction of CGILua
and the Web server, for example using ISAPI on IIS or mod_lua on Apache.
The reference implementation of CGILua launchers is
<a href="http://www.keplerproject.org/kepler/">Kepler</a>.
</p>

<p>
CGILua is free software and uses the same <a href="license.html">license</a>
as Lua 5.1.
</p>

<h2><a name="status"></a>Status</h2>

<p>Current version is 5.2</p>

<h2><a name="download"></a>Download</h2>

<p>CGILua source code can be downloaded from its
<a href="http://luaforge.net/projects/cgilua/files">LuaForge</a> page</p>

<p>You can also install CGILua using <a href="http://www.luarocks.org">LuaRocks</a>:</p>

<pre class="example">
luarocks install cgilua
</pre>
	
<h2><a name="history"></a>History</h2>

<dl>
    <dt><strong>Version 5.2</strong> [22/Apr/2015]</dt>
	<dd><ul>
        <li>Code adapted to work with Lua 5.1 and Lua 5.2</li>
	</ul></dd>

    <dt><strong>Version 5.1.4</strong> [22/Mar/2010]</dt>
	<dd><ul>
        <li>Fixes file upload reentrancy</li>
        <li>New launchers for cgilua that do not depend on kepler_init</li>
        <li>Correction on mkurlpath</li>
	</ul></dd>

    <dt><strong>Version 5.1.3</strong> [9/Mar/2009]</dt>
	<dd><ul>
		<li>Strips utf-8 BOM from templates in lp.include</li>
		<li>Fixed reentrancy bug</li>
		<li>Fixed reset of cgilua.urlpath</li>
	</ul></dd>
	
    <dt><strong>Version 5.1.2</strong> [19/May/2008]</dt>
	<dd>
	<ul>
        <li>Added the <a href="libraries.html#authentication"><code>cgilua.authentication</code></a> module</li>
        <li><a href="reference.html#print"><code>cgilua.print</code></a> now separates arguments with tabs,
        like Lua <code>print</code></li>
        <li>Now <code>print</code> and <code>write</code> are aliases to <a href="reference.html#print"><code>cgilua.print</code></a>
        and <a href="reference.html#put"><code>cgilua.put</code></a>.</li>
		<li>Now strips an eventual <code>#!</code> from top of Lua Pages files</li>
		<li>CGILua can now process sequential requests in the same Lua state</li>
        <li>Better error handling. Wraps error message in valid HTML</li>
        <li>Bug fixed: CGILua was ignoring <code>CGILUA_TMP</code> in Windows</li>
		<li>Corrected the URL handling for the dispatcher (bug found by Ronaldo Sugii)</li>
		<li>Better URL handling for different locales</li>
        <li>Handling multiple values in the generated URL (patch by Matt Campbell)</li>
		<li>Fixed file handle leak in <code>loader.lua</code></li>
		<li>Fixed bug [<a href="http://luaforge.net/tracker/?func=detail&amp;group_id=104&amp;aid=2630&amp;atid=508">#2630</a>] - Including new files (bug found by Bruno Massa)</li>
    </ul>
    </dd>
    
	<dt><strong>Version 5.1.1</strong> [21/Nov/2007]</dt>
	<dd>
	<ul>
		<li>Changed the security policy for scripts. Now scripts have access to all Lua globals,
		including the <code>debug</code> and <code>os</code> packages. It is up to the application
		developer to choose what policy to use</li>
        <li>If you are using Kepler, it is strongly suggested that you replace your previous CGILua <code>config.lua</code>
        file with the new one installed by Kepler and then merge the differences</li>
        <li>Added the <a href="libraries.html#dispatcher"><code>cgilua.dispatcher</code></a> module</li>
		<li>Added default handlers for a set of MIME types. The default handlers return
		only the content-type and conten-lenght headers for the files.</li>
		<li>Added functions <a href="reference.html#splitonfirst"><code>cgilua.splitonfirst</code></a> and
		<a href="reference.html#splitonlast"><code>cgilua.splitonlast</code></a></li>
		<li>Added functions <a href="reference.html#tmpfile"><code>cgilua.tmpfile</code></a> and
		<a href="reference.html#tmpname"><code>cgilua.tmpname</code></a></li>
		<li>Changed the use of <code>"/test"</code> for the session temporary directory
		checking (bug found by Yuri Takhteyev)</li>
		<li>Corrected the use of cgilua.QUERY in the session handling (bug found by Jim Madsen)</li>
		<li>Better handling of "application/xml" POST content types (patch by Ignacio Burgue&ntilde;o)</li>
		<li>Fixed
		<a href="http://luaforge.net/tracker/?group_id=5&amp;atid=101&amp;func=detail&amp;aid=1910">Bug [#1910]</a> -
		Bug in byte accounting in post.lua (found by Greg Bell)</li>
	</ul>
	</dd>
	
    <dt><strong>Version 5.1.0</strong> [23/Aug/2007]</dt>
    <dd>
    <ul>
        <li>Uses Lua 5.1</li>
        <li>Added function <code>cgilua.print</code> (that uses
        <code>tostring</code> on its parameters)</li>
        <li>Added a generic dispatcher and the concept of CGILua Apps</li>
        <li>Replaced the <code>cgi</code> table used until CGILua 5.0 by two others
        <code>cgilua.QUERY</code> and <code>cgilua.POST</code>)</li>
        <li>Added fake "<code>package</code>" table to enable the user/programmer
        to create modules with global visibility</li>
        <li>Bug fix: return of HTTP status code</li>
        <li>Bug fix: close method was recreating the session file</li>
        <li>Correcting how LP handles strings with CR characters
        (Lua 5.0 would not mind, but Lua 5.1 does)</li>
        <li>Fixed a bug with lighttpd</li>
    </ul>
    </dd>

    <dt><strong><a href="http://keplerproject.org/cgilua/5.0">Version 5.0.1</a></strong> [20/Sep/2006]</dt>
    <dd>
    <ul>
        <li>Uses Compat-5.1 Release 5.</li>
        <li>Caches Lua Pages template strings.</li>
        <li>New configuration examples.</li>
        <li>Improvements in the <a href="libraries.html#session">Session</a> library.</li>
        <li>Removed the <code>debug</code> package from the user scripts environment.</li>
        <li>POST handling bug fixes (related to the <code>text/plain</code> content type).</li>
    </ul>
    </dd>


    <dt><strong>Version 5.0</strong> [23/Jul/2005]</dt>
    <dd>
    <ul>
        <li>CGILua distribution includes now only the Lua files, the launchers
        have been moved to <a href="http://www.keplerproject.org/kepler/">Kepler</a>.</li>
        <li>The <a href="http://www.keplerproject.org/venv/manual.html#reference">Stable</a>
        library is now distributed with <a href="http://www.keplerproject.org/venv/">VEnv</a>.</li>
        <li>Fixed a file upload bug in the CGI and Xavante launchers.</li>
        <li><code>cgilua.lp.include()</code> now accepts an environment to run
        the preprocessed file in it.</li>
    </ul>
    </dd>
    
    <dt><strong>Version 5.0 beta 2</strong> [23/Dec/2004]</dt>
    <dd>
    <ul>
      <li>Distribution bug fix: stable.lua was missing</li>
    </ul>
    </dd>
    
    <dt><strong>Version 5.0 beta</strong> [15/Dec/2004]</dt>
    <dd>
    <ul>
        <li>New ISAPI and Servlet Launchers.</li>
        <li>New Error Handling features.</li>
        <li>New persistent data feature (Stable).</li>
        <li>Uses the <a href="http://www.keplerproject.org/compat/">package model</a>
        for Lua 5.1.</li>
        <li>Simpler User <a href="libraries.html#session">Session</a> API.</li>
        <li>Small bug corrections</li>
    </ul>
    </dd>
    
    <dt><strong>Version 5.0 alpha 3</strong> [8/Jun/2004]</dt>
    <dd></dd>

    <dt><strong>Version 5.0 alpha</strong> [21/Apr/2004]</dt>
    <dd></dd>
</dl>

<h2><a name="incompatibility"></a>Incompatibility with previous CGILua versions (5.0, 4.0 and 3.x)</h2>

<dt><strong>CGILua 5.2</strong></dt>
<dd><ul>
    <li>All CGILua 5.2 modules return a table when loaded.</li>
    <li>Function <code>cgilua.lp.include</code> ...
</ul></dd>

<dt><strong>CGILua 5.1</strong></dt>
<dd><ul>
    <li>CGILua 5.1 uses <a href="http://www.lua.org">Lua 5.1</a>.</li>
    <li>The <code>cgi</code> table is now deprecated. See
    <a href="manual.html#parameters">Receiving parameters</a> for a more
    detailed explanation.</li>
    <li>The template tags have changed. See
    <a href="manual.html#templates">Lua pages</a> for a more detailed
    explanation.</li>
    <li>The use of <code>getenv</code> calls to obtain CGI variables
    should be replaced by
    <a href="reference.html#servervariable"><code>cgilua.servervariable</code></a>
    calls.</li>
</ul></dd>

<h2><a name="credits"></a>Credits</h2>

<dl>
    <dt><strong>CGILua 5.2</strong></dt>
    <dd>
    CGILua 5.2 is being maintained by Tom&aacute;s Guisasola
    with contributions from F&aacute;bio Mascarenhas, Carla Ourofino
    and others from the Kepler community.
    </dd>
    
    <dt><strong>CGILua 5.1</strong></dt>
    <dd>
    CGILua 5.1 is being maintained by Andr&eacute; Carregal and
    Tom&aacute;s Guisasola with contributions from F&aacute;bio Mascarenhas
    and others from the Kepler <a href="http://luaforge.net/mail/?group_id=104">mailing list</a>.
    </dd>
    
    <dt><strong>CGILua 5.0</strong></dt>
    <dd>CGILua 5.0 was completely redesigned by Roberto Ierusalimschy,
    Andr&eacute; Carregal and Tom&aacute;s Guisasola as part of the
    <a href="http://www.keplerproject.org">Kepler Project</a>.
    The implementation is compatible with Lua 5.0 and was coded by
    Tom&aacute;s Guisasola with invaluable contributions by Ana
    L&uacute;cia de Moura, F&aacute;bio Mascarenhas and Danilo Tuler.
    CGILua 5.0 development was sponsored by
    <a href="http://www.fabricadigital.com.br">F&aacute;brica Digital</a>,
    <a href="http://www.finep.gov.br/">FINEP</a> and
    <a href="http://www.cnpq.br/">CNPq</a>.</dd>
    
    <dt><strong>CGILua 4.0</strong></dt>
    <dd>Ana L&uacute;cia de Moura adapted CGILua 3.2 to Lua 4.0,
    reimplemented some code and added a few improvements but this
    version was not officially distributed.</dd>
    
    <dt><strong>CGILua 3.x</strong></dt>
    <dd>CGILua was born as the evolution of an early system developed by
    Renato Ferreira Borges and Andr&eacute; Cl&iacute;nio at
    <a href="http://www.tecgraf.puc-rio.br">TeCGraf</a>.
    At the time (circa 1995) there were no CGI tools available and everything
    was done with shell scripts!<br />
    However, the main contribution to CGILua 3 was done by Anna Hester, who
    consolidated the whole tool and developed a consistent distribution
    with versions 3.1 and 3.2 (the number was an effort to follow
    Lua version numbers). This version was widely used on a great
    variety of systems.</dd>
</dl>


<h2><a name="contact"></a>Contact us</h2>

<p>
For more information please
<a href="mailto:info-NO-SPAM-THANKS@keplerproject.org">contact us</a>.
Comments are welcome!
</p>

<p>
You can also reach other CGILua developers and users on the Kepler
Project <a href="http://luaforge.net/mail/?group_id=104">mailing list</a>.
</p>

</div> <!-- id="content" -->

</div> <!-- id="main" -->

<div id="about">
	<p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p>
	<p><small>$Id: index.html,v 1.68 2009/03/09 23:37:18 carregal Exp $</small></p>
</div> <!-- id="about" -->

</div> <!-- id="container" -->

</body>
</html>