nitro 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS +3 -0
- data/ChangeLog +83 -0
- data/LICENCE +8 -8
- data/README +5 -1
- data/RELEASES +9 -0
- data/Rakefile +43 -23
- data/bin/cluster.rb +15 -12
- data/examples/ndb/README +5 -0
- data/examples/ndb/run.rb +271 -0
- data/examples/simple/README +27 -0
- data/examples/simple/app.rb +2 -2
- data/examples/simple/conf/config.rb +3 -8
- data/examples/simple/conf/debug-config.rb +6 -7
- data/examples/simple/conf/live-config.rb +2 -4
- data/examples/simple/conf/requires.rb +2 -10
- data/examples/simple/ctl +1 -1
- data/examples/simple/env.rb +2 -2
- data/examples/simple/root/article-form.ss +1 -1
- data/examples/simple/root/comments-form.ss +1 -1
- data/examples/tiny/README +15 -0
- data/examples/tiny/app.rb +2 -2
- data/examples/tiny/conf/config.rb +8 -13
- data/examples/tiny/conf/requires.rb +2 -8
- data/examples/tiny/ctl +2 -17
- data/examples/tiny/root/index.sx +1 -1
- data/lib/n/app/cluster.rb +15 -12
- data/lib/n/app/cookie.rb +10 -9
- data/lib/n/app/filters/autologin.rb +5 -4
- data/lib/n/app/fragment.rb +13 -10
- data/lib/n/app/handlers.rb +29 -22
- data/lib/n/app/handlers/code-handler.rb +2 -4
- data/lib/n/app/handlers/page-handler.rb +3 -5
- data/lib/n/app/request-part.rb +2 -7
- data/lib/n/app/request.rb +27 -22
- data/lib/n/app/script.rb +4 -15
- data/lib/n/app/server.rb +11 -7
- data/lib/n/app/session.rb +7 -11
- data/lib/n/app/user.rb +10 -11
- data/lib/n/app/webrick-servlet.rb +23 -10
- data/lib/n/app/webrick.rb +13 -10
- data/lib/n/application.rb +13 -6
- data/lib/n/config.rb +18 -7
- data/lib/n/db.rb +56 -40
- data/lib/n/db/connection.rb +18 -22
- data/lib/n/db/managed.rb +6 -8
- data/lib/n/db/mixins.rb +4 -7
- data/lib/n/db/mysql.rb +6 -3
- data/lib/n/db/psql.rb +15 -10
- data/lib/n/db/tools.rb +5 -9
- data/lib/n/db/utils.rb +11 -8
- data/lib/n/events.rb +14 -10
- data/lib/n/logger.rb +8 -2
- data/lib/n/macros.rb +5 -2
- data/lib/n/parts.rb +13 -10
- data/lib/n/properties.rb +17 -12
- data/lib/n/server.rb +3 -2
- data/lib/n/server/filter.rb +2 -4
- data/lib/n/shaders.rb +11 -13
- data/lib/n/sitemap.rb +23 -20
- data/lib/n/std.rb +15 -4
- data/lib/n/sync/clc.rb +4 -2
- data/lib/n/sync/handler.rb +20 -12
- data/lib/n/sync/server.rb +24 -18
- data/lib/n/ui/date-select.rb +2 -4
- data/lib/n/ui/pager.rb +10 -8
- data/lib/n/ui/popup.rb +5 -4
- data/lib/n/ui/select.rb +3 -4
- data/lib/n/ui/tabs.rb +3 -4
- data/lib/n/utils/array.rb +6 -14
- data/lib/n/utils/cache.rb +3 -7
- data/lib/n/utils/gfx.rb +5 -6
- data/lib/n/utils/hash.rb +7 -12
- data/lib/n/utils/html.rb +8 -4
- data/lib/n/utils/http.rb +10 -6
- data/lib/n/utils/mail.rb +6 -6
- data/lib/n/utils/number.rb +3 -4
- data/lib/n/utils/pool.rb +5 -8
- data/lib/n/utils/string.rb +12 -10
- data/lib/n/utils/template.rb +3 -5
- data/lib/n/utils/time.rb +7 -5
- data/lib/n/utils/uri.rb +5 -4
- data/lib/p/README +1 -0
- data/lib/xsl/xforms.xsl +2 -0
- data/test/n/app/tc_cookie.rb +34 -0
- data/test/n/app/tc_request.rb +70 -0
- data/test/n/app/tc_requestpart.rb +28 -0
- data/test/n/app/tc_session.rb +34 -0
- data/test/n/tc_db.rb +223 -0
- data/test/n/tc_db_mysql.rb +241 -0
- data/test/n/tc_events.rb +44 -0
- data/test/n/tc_properties.rb +68 -0
- data/test/n/tc_sitemap.rb +37 -0
- data/test/n/ui/tc_pager.rb +52 -0
- data/test/n/utils/tc_cache.rb +47 -0
- data/test/n/utils/tc_hash.rb +39 -0
- data/test/n/utils/tc_html.rb +79 -0
- data/test/n/utils/tc_http.rb +18 -0
- data/test/n/utils/tc_number.rb +21 -0
- data/test/n/utils/tc_strings.rb +149 -0
- data/test/n/utils/tc_uri.rb +100 -0
- metadata +49 -22
- data/doc/css.txt +0 -20
- data/doc/ideas.txt +0 -120
- data/doc/pg.txt +0 -47
- data/doc/svn.txt +0 -82
- data/doc/todo.txt +0 -30
- data/examples/simple/conf/overrides.rb +0 -9
- data/examples/simple/logs/access_log +0 -2
- data/examples/simple/logs/apache.log +0 -3
- data/examples/simple/logs/app.log +0 -1
- data/examples/simple/logs/events.log +0 -1
- data/examples/tiny/conf/apache.conf +0 -100
- data/examples/tiny/logs/access_log +0 -9
- data/examples/tiny/logs/apache.log +0 -9
- data/lib/n/db/make-release.sh +0 -26
- data/lib/n/tools/README +0 -11
- data/lib/xsl/ce.xsl +0 -30
- data/lib/xsl/localization.xsl +0 -23
- data/test/run.rb +0 -95
data/examples/simple/README
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
= A Simple Web Application
|
|
2
2
|
|
|
3
|
+
This simple application demonstrates various Nitro features.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
== Description of contents
|
|
7
|
+
|
|
8
|
+
conf/apache.conf
|
|
9
|
+
apache configuration
|
|
10
|
+
|
|
11
|
+
conf/config.rb
|
|
12
|
+
application configuration
|
|
13
|
+
|
|
14
|
+
root/
|
|
15
|
+
the public web directory
|
|
16
|
+
|
|
17
|
+
logs/
|
|
18
|
+
logfiles come here
|
|
19
|
+
|
|
20
|
+
lib/n/
|
|
21
|
+
application specific ruby code
|
|
22
|
+
|
|
23
|
+
lib/p/
|
|
24
|
+
application specific Nitro parts
|
|
25
|
+
|
|
26
|
+
test/
|
|
27
|
+
unit tests
|
|
28
|
+
|
|
29
|
+
|
|
3
30
|
== Setup
|
|
4
31
|
|
|
5
32
|
To setup this example web application run the follwing script:
|
data/examples/simple/app.rb
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
# A simple Web Application to demonstrate the Engine.
|
|
6
6
|
#
|
|
7
7
|
# code:
|
|
8
|
-
# George Moschovitis <gm@navel.gr>
|
|
8
|
+
# * George Moschovitis <gm@navel.gr>
|
|
9
9
|
#
|
|
10
10
|
# (c) 2004 Navel, all rights reserved.
|
|
11
|
-
# $Id: app.rb
|
|
11
|
+
# $Id: app.rb 101 2004-10-22 12:35:39Z gmosx $
|
|
12
12
|
|
|
13
13
|
$:.unshift "simple/lib"
|
|
14
14
|
$:.unshift "../lib"
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
# = Configuration
|
|
2
2
|
#
|
|
3
|
-
# === Design:
|
|
4
|
-
#
|
|
5
3
|
# Use a separate file for configuration, makes the
|
|
6
4
|
# main file more readable, and allows for reconfiguring
|
|
7
5
|
# (reload) the webapp without restarting the server.
|
|
8
6
|
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# code: gmosx
|
|
7
|
+
# code:
|
|
8
|
+
# * George Moschovitis <gm@navel.gr>
|
|
12
9
|
#
|
|
13
10
|
# (c) 2004 Navel, all rights reserved.
|
|
14
|
-
# $Id: config.rb
|
|
11
|
+
# $Id: config.rb 106 2004-10-25 11:31:11Z gmosx $
|
|
15
12
|
|
|
16
13
|
require "n/std"
|
|
17
14
|
require "n/properties"
|
|
@@ -31,10 +28,8 @@ $elog = Logger.new("simple/logs/events.log", "weekly");
|
|
|
31
28
|
|
|
32
29
|
require "n/db"
|
|
33
30
|
require "n/app/cluster"
|
|
34
|
-
require "n/config"
|
|
35
31
|
|
|
36
32
|
require "simple/conf/requires"
|
|
37
|
-
require "simple/conf/overrides"
|
|
38
33
|
|
|
39
34
|
$srv_extension_map = {
|
|
40
35
|
"sx" => ["text/html",
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
# = Debug Configuration
|
|
2
2
|
#
|
|
3
3
|
# Configuration to use while debugging, this is slow.
|
|
4
|
-
|
|
4
|
+
#
|
|
5
5
|
# code:
|
|
6
|
-
# George Moschovitis <gm@navel.gr>
|
|
6
|
+
# * George Moschovitis <gm@navel.gr>
|
|
7
7
|
#
|
|
8
8
|
# (c) 2004 Navel, all rights reserved.
|
|
9
|
-
# $Id: debug-config.rb
|
|
10
|
-
#++
|
|
9
|
+
# $Id: debug-config.rb 106 2004-10-25 11:31:11Z gmosx $
|
|
11
10
|
|
|
12
11
|
require "simple/conf/config"
|
|
13
12
|
|
|
@@ -43,10 +42,10 @@ $db = N::Db.new(
|
|
|
43
42
|
:connection_count => 5
|
|
44
43
|
)
|
|
45
44
|
|
|
46
|
-
$appsrv_address = "127.0.0.1"
|
|
45
|
+
$srv_address = $appsrv_address = "127.0.0.1"
|
|
46
|
+
$srv_port = 8080
|
|
47
47
|
$appsrv_port = 9090
|
|
48
|
-
$srv_url = "http
|
|
49
|
-
#$srv_url = "http://192.168.0.3:8080"
|
|
48
|
+
$srv_url = "http://#$srv_address:#$srv_port"
|
|
50
49
|
|
|
51
50
|
# gmosx: no error page in debug mode to avoid loops when there
|
|
52
51
|
# is a bug in the handler code or the shader.
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
#
|
|
3
3
|
# Configuration to use in the live server, optimized for speed.
|
|
4
4
|
#
|
|
5
|
-
#--
|
|
6
5
|
# code:
|
|
7
|
-
# George Moschovitis <gm@navel.gr>
|
|
6
|
+
# * George Moschovitis <gm@navel.gr>
|
|
8
7
|
#
|
|
9
8
|
# (c) 2004 Navel, all rights reserved.
|
|
10
|
-
# $Id: live-config.rb
|
|
11
|
-
#++
|
|
9
|
+
# $Id: live-config.rb 101 2004-10-22 12:35:39Z gmosx $
|
|
12
10
|
|
|
13
11
|
require "simple/conf/config"
|
|
14
12
|
|
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
# = Requires all needed files
|
|
2
2
|
#
|
|
3
|
-
# === Design:
|
|
4
|
-
#
|
|
5
3
|
# Collect all requires in one file includable
|
|
6
4
|
# in multiple executable scripts. Moreover, it
|
|
7
5
|
# makes the main script file more readable.
|
|
8
6
|
#
|
|
9
|
-
# === Ideas:
|
|
10
|
-
#
|
|
11
|
-
# - use load instead of require to make reloadable?
|
|
12
|
-
#
|
|
13
|
-
#--
|
|
14
7
|
# code:
|
|
15
|
-
# George Moschovitis <gm@navel.gr>
|
|
8
|
+
# * George Moschovitis <gm@navel.gr>
|
|
16
9
|
#
|
|
17
10
|
# (c) 2004 Navel, all rights reserved.
|
|
18
|
-
# $Id: requires.rb
|
|
19
|
-
#++
|
|
11
|
+
# $Id: requires.rb 101 2004-10-22 12:35:39Z gmosx $
|
|
20
12
|
|
|
21
13
|
require "n/std"
|
|
22
14
|
require "n/properties"
|
data/examples/simple/ctl
CHANGED
data/examples/simple/env.rb
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
# AppServer environment.
|
|
5
5
|
#
|
|
6
6
|
# code:
|
|
7
|
-
# George Moschovitis <gm@navel.gr>
|
|
7
|
+
# * George Moschovitis <gm@navel.gr>
|
|
8
8
|
#
|
|
9
9
|
# (c) 2004 Navel, all rights reserved.
|
|
10
|
-
# $Id: env.rb
|
|
10
|
+
# $Id: env.rb 101 2004-10-22 12:35:39Z gmosx $
|
|
11
11
|
|
|
12
12
|
$:.unshift ".."
|
|
13
13
|
$:.unshift "simple/lib"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- the <?xml declaration is optional, but lets be strict. -->
|
|
4
4
|
|
|
5
|
-
<form id="comments_form" method="post"
|
|
5
|
+
<form id="comments_form" method="post">
|
|
6
6
|
<input type="hidden" name="add_comment_pid" value="#{request[:comments_parent].oid}" />
|
|
7
7
|
<input type="hidden" name="oid" value="#{request[:comments_parent].oid}" />
|
|
8
8
|
|
data/examples/tiny/app.rb
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
# A simple Web Application to demonstrate the Engine.
|
|
6
6
|
#
|
|
7
7
|
# code:
|
|
8
|
-
# George Moschovitis <gm@navel.gr>
|
|
8
|
+
# * George Moschovitis <gm@navel.gr>
|
|
9
9
|
#
|
|
10
10
|
# (c) 2004 Navel, all rights reserved.
|
|
11
|
-
# $Id: app.rb
|
|
11
|
+
# $Id: app.rb 101 2004-10-22 12:35:39Z gmosx $
|
|
12
12
|
|
|
13
13
|
$:.unshift "../lib"
|
|
14
14
|
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
# = Configuration
|
|
2
2
|
#
|
|
3
|
-
# === Design:
|
|
4
|
-
#
|
|
5
3
|
# Use a separate file for configuration, makes the
|
|
6
4
|
# main file more readable, and allows for reconfiguring
|
|
7
5
|
# (reload) the webapp without restarting the server.
|
|
8
6
|
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# code: gmosx
|
|
7
|
+
# code:
|
|
8
|
+
# * George Moschovitis <gm@navel.gr>
|
|
12
9
|
#
|
|
13
10
|
# (c) 2004 Navel, all rights reserved.
|
|
14
|
-
# $Id: config.rb
|
|
11
|
+
# $Id: config.rb 106 2004-10-25 11:31:11Z gmosx $
|
|
15
12
|
|
|
16
|
-
require "n/std"
|
|
17
|
-
require "n/properties"
|
|
18
13
|
require "n/logger"
|
|
19
14
|
require "n/config"
|
|
20
15
|
|
|
@@ -26,8 +21,8 @@ $log = Logger.new(STDERR, 10);
|
|
|
26
21
|
|
|
27
22
|
$reload_scripts = $DBG
|
|
28
23
|
|
|
29
|
-
require "n/
|
|
30
|
-
|
|
24
|
+
require "n/std"
|
|
25
|
+
require "n/properties"
|
|
31
26
|
require "tiny/conf/requires"
|
|
32
27
|
|
|
33
28
|
$srv_extension_map = {
|
|
@@ -42,9 +37,9 @@ $srv_extension_map = {
|
|
|
42
37
|
]
|
|
43
38
|
}
|
|
44
39
|
|
|
45
|
-
$appsrv_address = "127.0.0.1"
|
|
46
|
-
$appsrv_port =
|
|
47
|
-
$srv_url = "http
|
|
40
|
+
$srv_address = $appsrv_address = "127.0.0.1"
|
|
41
|
+
$srv_port = $appsrv_port = 8080
|
|
42
|
+
$srv_url = "http://#$srv_address:#$srv_port"
|
|
48
43
|
|
|
49
44
|
module App
|
|
50
45
|
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
# = Requires all needed files
|
|
2
2
|
#
|
|
3
|
-
# === Design:
|
|
4
|
-
#
|
|
5
3
|
# Collect all requires in one file includable
|
|
6
4
|
# in multiple executable scripts. Moreover, it
|
|
7
5
|
# makes the main script file more readable.
|
|
8
6
|
#
|
|
9
|
-
# === Ideas:
|
|
10
|
-
#
|
|
11
|
-
# - use load instead of require to make reloadable?
|
|
12
|
-
#
|
|
13
7
|
# code:
|
|
14
|
-
# George Moschovitis <gm@navel.gr>
|
|
8
|
+
# * George Moschovitis <gm@navel.gr>
|
|
15
9
|
#
|
|
16
10
|
# (c) 2004 Navel, all rights reserved.
|
|
17
|
-
# $Id: requires.rb
|
|
11
|
+
# $Id: requires.rb 101 2004-10-22 12:35:39Z gmosx $
|
|
18
12
|
|
|
19
13
|
require "n/std"
|
|
20
14
|
require "n/properties"
|
data/examples/tiny/ctl
CHANGED
|
@@ -3,27 +3,12 @@
|
|
|
3
3
|
ARGV="$@"
|
|
4
4
|
|
|
5
5
|
case $ARGV in
|
|
6
|
-
start)
|
|
7
|
-
/usr/sbin/httpd -d `pwd` -f conf/apache.conf
|
|
8
|
-
ruby -C.. tiny/app.rb --start # --daemon
|
|
9
|
-
ERROR=$?
|
|
10
|
-
;;
|
|
11
|
-
restart)
|
|
12
|
-
# restart appserver only!
|
|
13
|
-
export ASPID= `ps ax | grep app.rb | grep ruby | cut -d" " -f1`
|
|
14
|
-
if [ -n "$ASPID" ]; then
|
|
15
|
-
echo $ASPID
|
|
16
|
-
kill -9 $ASPID
|
|
17
|
-
fi
|
|
18
|
-
ruby -C.. tiny/app.rb --restart # --daemon
|
|
19
|
-
ERROR=$?
|
|
20
|
-
;;
|
|
21
6
|
stop)
|
|
22
|
-
killall -9 ruby
|
|
7
|
+
killall -9 ruby
|
|
23
8
|
ERROR=$?
|
|
24
9
|
;;
|
|
25
10
|
*)
|
|
26
|
-
|
|
11
|
+
ruby -C.. tiny/app.rb --start # --daemon
|
|
27
12
|
ERROR=$?
|
|
28
13
|
esac
|
|
29
14
|
|
data/examples/tiny/root/index.sx
CHANGED
data/lib/n/app/cluster.rb
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# TODO: use Sync instead of Monitor
|
|
4
|
-
#
|
|
5
|
-
# code:: gmosx
|
|
1
|
+
# code:
|
|
2
|
+
# * George Moschovitis <gm@navel.gr>
|
|
6
3
|
#
|
|
7
4
|
# (c) 2004 Navel, all rights reserved.
|
|
8
|
-
# $Id: cluster.rb
|
|
5
|
+
# $Id: cluster.rb 104 2004-10-22 13:35:03Z gmosx $
|
|
9
6
|
|
|
10
|
-
$:.unshift "
|
|
7
|
+
$:.unshift "lib"
|
|
11
8
|
|
|
12
9
|
require "drb"
|
|
13
10
|
require "monitor"
|
|
@@ -21,16 +18,20 @@ module N
|
|
|
21
18
|
|
|
22
19
|
# = Cluster
|
|
23
20
|
#
|
|
24
|
-
# A Cluster
|
|
25
|
-
# servers and distributes the state. An older version
|
|
26
|
-
# system, ie: the servers polled the cluster to
|
|
27
|
-
# version uses a push system, ie when the
|
|
28
|
-
# is pushed to the clients.
|
|
21
|
+
# A Cluster manages the state of a collection of servers. The cluster
|
|
22
|
+
# synchronizes the servers and distributes the state. An older version
|
|
23
|
+
# used a polling system, ie: the servers polled the cluster to
|
|
24
|
+
# obtain the state. This version uses a push system, ie when the
|
|
25
|
+
# state is changed a delta is pushed to the clients.
|
|
26
|
+
#
|
|
27
|
+
# TODO: use Sync instead of Monitor
|
|
29
28
|
#
|
|
30
29
|
class Cluster < N::Application
|
|
31
30
|
|
|
32
31
|
# = CHash ClusterHash
|
|
33
32
|
#
|
|
33
|
+
# The CHash 'endpoint' resides in the Cluster server
|
|
34
|
+
#
|
|
34
35
|
class CHash < Hash
|
|
35
36
|
attr :mon
|
|
36
37
|
|
|
@@ -111,6 +112,8 @@ class Cluster < N::Application
|
|
|
111
112
|
|
|
112
113
|
# = SHash ServerHash
|
|
113
114
|
#
|
|
115
|
+
# The SHash 'endpoint' resides in the App server
|
|
116
|
+
#
|
|
114
117
|
class SHash < Hash
|
|
115
118
|
attr :mon
|
|
116
119
|
|
data/lib/n/app/cookie.rb
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# code:: gmosx
|
|
1
|
+
# code:
|
|
2
|
+
# * George Moschovitis <gm@navel.gr>
|
|
4
3
|
#
|
|
5
4
|
# (c) 2004 Navel, all rights reserved.
|
|
6
|
-
# $Id: cookie.rb
|
|
5
|
+
# $Id: cookie.rb 99 2004-10-22 09:50:28Z gmosx $
|
|
7
6
|
|
|
8
7
|
require "cgi"
|
|
9
8
|
|
|
@@ -34,9 +33,11 @@ end # class CGI
|
|
|
34
33
|
|
|
35
34
|
module N; module App
|
|
36
35
|
|
|
37
|
-
# Cookie
|
|
36
|
+
# = Cookie
|
|
37
|
+
#
|
|
38
|
+
# An encapsulation of the standard HTTP Cookie.
|
|
38
39
|
#
|
|
39
|
-
# === Design
|
|
40
|
+
# === Design
|
|
40
41
|
#
|
|
41
42
|
# Ruby's default cgi library implements the functionality,
|
|
42
43
|
# so we reuse it here!
|
|
@@ -44,14 +45,14 @@ module N; module App
|
|
|
44
45
|
# The http request contains only key/values pairs so we
|
|
45
46
|
# dont keep a full object.
|
|
46
47
|
#
|
|
47
|
-
# ===
|
|
48
|
+
# === Future
|
|
48
49
|
#
|
|
49
50
|
# - switch to libapreq!
|
|
50
51
|
#
|
|
51
52
|
class Cookie < CGI::Cookie
|
|
52
53
|
|
|
53
54
|
# Override default implementation
|
|
54
|
-
|
|
55
|
+
#
|
|
55
56
|
def initialize(name, *value)
|
|
56
57
|
super
|
|
57
58
|
|
|
@@ -83,4 +84,4 @@ class Cookie < CGI::Cookie
|
|
|
83
84
|
|
|
84
85
|
end
|
|
85
86
|
|
|
86
|
-
end; end # module
|
|
87
|
+
end; end # module
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# code:: gmosx
|
|
1
|
+
# code:
|
|
2
|
+
# * George Moschovitis
|
|
4
3
|
#
|
|
5
4
|
# (c) 2004 Navel, all rights reserved.
|
|
6
|
-
# $Id: autologin.rb
|
|
5
|
+
# $Id: autologin.rb 99 2004-10-22 09:50:28Z gmosx $
|
|
7
6
|
|
|
8
7
|
require "n/utils/string"
|
|
9
8
|
require "n/server/filter"
|
|
@@ -19,6 +18,8 @@ module N; module App
|
|
|
19
18
|
#
|
|
20
19
|
class AutoLoginFilter < N::ServerFilter
|
|
21
20
|
|
|
21
|
+
# Perform the actual work of auto logging in the user
|
|
22
|
+
#
|
|
22
23
|
def process(request)
|
|
23
24
|
if request.is_top?
|
|
24
25
|
# only try to autologin for top level requests
|