nitro 0.15.0 → 0.16.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/CHANGELOG +218 -0
- data/INSTALL +3 -0
- data/README +4 -2
- data/Rakefile +150 -8
- data/benchmark/bench.rb +1 -1
- data/doc/AUTHORS +2 -8
- data/doc/RELEASES +63 -1
- data/examples/ajax/controller.rb +2 -2
- data/examples/ajax/public/index.xhtml +3 -1
- data/examples/ajax/run.rb +3 -3
- data/examples/blog/README +8 -0
- data/examples/blog/cache/entriesadmintrue +3 -0
- data/examples/blog/run.rb +38 -40
- data/examples/blog/src/blog.rb +2 -1
- data/examples/blog/src/controller.rb +40 -20
- data/examples/blog/src/mailer.rb +2 -2
- data/examples/blog/src/models/blog.rb +2 -1
- data/examples/blog/src/models/content.rb +4 -33
- data/examples/blog/src/views/error.xhtml +1 -1
- data/examples/blog/src/xsl/style.xsl +1 -1
- data/examples/blog/test/tc_blog.rb +43 -0
- data/examples/flash/run.rb +2 -2
- data/examples/no_xsl_blog/lib/blog.rb +1 -1
- data/examples/no_xsl_blog/lib/blog/controller.rb +26 -17
- data/examples/no_xsl_blog/lib/blog/model.rb +3 -3
- data/examples/no_xsl_blog/lib/blog/template.rb +1 -1
- data/examples/no_xsl_blog/lib/content.rb +3 -7
- data/examples/no_xsl_blog/run.rb +34 -34
- data/examples/tiny/public/deep/dir/hello.xhtml +2 -0
- data/examples/tiny/run.rb +2 -2
- data/examples/wee_style/run.rb +5 -3
- data/examples/why_wiki/run.rb +5 -3
- data/install.rb +1 -1
- data/lib/nitro.rb +10 -9
- data/lib/nitro/adapters/cgi.rb +27 -2
- data/lib/nitro/adapters/fastcgi.rb +6 -2
- data/lib/nitro/adapters/webrick.rb +11 -9
- data/lib/nitro/buffering.rb +2 -2
- data/lib/nitro/builders/atom.rb +78 -0
- data/lib/nitro/builders/form.rb +2 -2
- data/lib/nitro/builders/rss.rb +4 -4
- data/lib/nitro/builders/table.rb +2 -2
- data/lib/nitro/builders/xhtml.rb +5 -8
- data/lib/nitro/builders/xml.rb +38 -14
- data/lib/nitro/caching.rb +2 -2
- data/lib/nitro/caching/actions.rb +2 -2
- data/lib/nitro/caching/fragments.rb +2 -2
- data/lib/nitro/caching/invalidation.rb +2 -28
- data/lib/nitro/caching/output.rb +3 -3
- data/lib/nitro/caching/stores.rb +4 -4
- data/lib/nitro/conf.rb +11 -6
- data/lib/nitro/context.rb +2 -2
- data/lib/nitro/controller.rb +12 -7
- data/lib/nitro/cookie.rb +2 -2
- data/lib/nitro/dispatcher.rb +33 -40
- data/lib/nitro/environment.rb +1 -1
- data/lib/nitro/localization.rb +5 -7
- data/lib/nitro/mail.rb +2 -2
- data/lib/nitro/markup.rb +5 -5
- data/lib/nitro/output.rb +2 -2
- data/lib/nitro/part.rb +8 -5
- data/lib/nitro/render.rb +46 -45
- data/lib/nitro/request.rb +7 -6
- data/lib/nitro/response.rb +14 -5
- data/lib/nitro/routing.rb +2 -2
- data/lib/nitro/runner.rb +57 -17
- data/lib/nitro/scaffold.rb +14 -8
- data/lib/nitro/session.rb +7 -4
- data/lib/nitro/session/drb.rb +2 -2
- data/lib/nitro/session/drbserver.rb +2 -2
- data/lib/nitro/session/memory.rb +2 -2
- data/lib/nitro/shaders.rb +8 -7
- data/lib/nitro/simple.rb +4 -1
- data/lib/nitro/template.rb +8 -8
- data/lib/nitro/testing.rb +6 -0
- data/lib/nitro/testing/assertions.rb +102 -0
- data/lib/nitro/testing/context.rb +52 -0
- data/lib/nitro/testing/testcase.rb +55 -0
- data/lib/nitro/ui/pager.rb +3 -3
- data/lib/nitro/ui/popup.rb +8 -13
- data/lib/nitro/ui/tabs.rb +4 -10
- data/lib/nitro/uri.rb +7 -7
- data/proto/doc/README +1 -0
- data/proto/public/cgi.rb +5 -0
- data/proto/run.rb +2 -4
- data/test/nitro/adapters/tc_cgi.rb +1 -1
- data/test/nitro/adapters/tc_webrick.rb +1 -2
- data/test/nitro/builders/tc_atom.rb +26 -0
- data/test/nitro/builders/tc_rss.rb +3 -2
- data/test/nitro/builders/tc_table.rb +1 -1
- data/test/nitro/builders/tc_xhtml.rb +4 -3
- data/test/nitro/builders/tc_xml.rb +7 -7
- data/test/nitro/tc_context.rb +1 -1
- data/test/nitro/tc_controller.rb +5 -3
- data/test/nitro/tc_dispatcher.rb +19 -18
- data/test/nitro/tc_localization.rb +1 -1
- data/test/nitro/tc_mail.rb +1 -1
- data/test/nitro/tc_session.rb +1 -1
- data/test/nitro/tc_template.rb +1 -1
- data/test/nitro/tc_uri.rb +3 -4
- data/test/nitro/ui/tc_pager.rb +7 -7
- data/test/public/blog/inc1.xhtml +2 -0
- data/test/public/blog/inc2.xhtml +1 -0
- data/test/public/blog/list.xhtml +3 -0
- metadata +180 -203
- data/examples/blog/cache/entriesadmin +0 -12
- data/lib/nitro/cluster.rb +0 -218
- data/lib/nitro/component.rb +0 -15
- data/lib/nitro/filters.rb +0 -215
- data/lib/nitro/ui/date-select.rb +0 -69
- data/test/nitro/tc_filters.rb +0 -111
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
|
2
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'src')
|
|
3
|
+
|
|
4
|
+
require 'test/unit'
|
|
5
|
+
require 'ostruct'
|
|
6
|
+
|
|
7
|
+
require 'og'
|
|
8
|
+
require 'glue/validation'
|
|
9
|
+
require 'nitro/testing'
|
|
10
|
+
|
|
11
|
+
require 'blog'
|
|
12
|
+
|
|
13
|
+
class TC_Blog < Test::Unit::TestCase # :nodoc: all
|
|
14
|
+
include Nitro
|
|
15
|
+
|
|
16
|
+
def setup
|
|
17
|
+
@conf = Conf.new(
|
|
18
|
+
:dispatcher => Dispatcher.new(BlogController, :xml => 'text/xml')
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_context
|
|
23
|
+
handle(
|
|
24
|
+
'/login',
|
|
25
|
+
request = { 'password' => Blog.password }
|
|
26
|
+
)
|
|
27
|
+
assert_redirect
|
|
28
|
+
assert_session_has(:owner)
|
|
29
|
+
assert_session_equal(:username, 'George Moschovitis')
|
|
30
|
+
assert_has_cookie('nauth')
|
|
31
|
+
assert_has_no_cookie('wow')
|
|
32
|
+
assert_cookie_equal('nauth', 'just an example, not used :)')
|
|
33
|
+
|
|
34
|
+
ctx = handle(
|
|
35
|
+
'/login',
|
|
36
|
+
request = { 'password' => 'dunno' }
|
|
37
|
+
)
|
|
38
|
+
assert_no_redirect
|
|
39
|
+
assert_output_contains('Invalid password')
|
|
40
|
+
assert_status_ok
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
data/examples/flash/run.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id: run.rb
|
|
3
|
+
# $Id: run.rb 1 2005-04-11 11:04:30Z gmosx $
|
|
4
4
|
|
|
5
5
|
require 'nitro'
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Nitro::Runner.run(:host => '127.0.0.1', :port => 9999)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id$
|
|
3
|
+
# $Id: controller.rb 21 2005-04-15 15:41:20Z gmosx $
|
|
4
4
|
|
|
5
5
|
require 'nitro/controller'
|
|
6
6
|
require 'nitro/builders/rss'
|
|
@@ -12,12 +12,11 @@ require 'lib/blog/template'
|
|
|
12
12
|
|
|
13
13
|
# The controller of the Blog part.
|
|
14
14
|
|
|
15
|
-
class BlogController <
|
|
15
|
+
class BlogController < Nitro::Controller
|
|
16
16
|
include BlogTemplate
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# after_filter :cache
|
|
18
|
+
pre :get_errors
|
|
19
|
+
wrap Nitro::LocalizationAspect, :pre => :localize
|
|
21
20
|
|
|
22
21
|
scaffold BlogEntry, :name => 'entry', :index => true
|
|
23
22
|
scaffold Comment
|
|
@@ -40,12 +39,6 @@ class BlogController < N::Controller
|
|
|
40
39
|
entry.save!
|
|
41
40
|
end
|
|
42
41
|
|
|
43
|
-
# example of generated view
|
|
44
|
-
|
|
45
|
-
def list_entry__xml
|
|
46
|
-
@out.build_rss(@entries, :description => 'Blog entries', :link => context.host_url)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
42
|
def new_comment
|
|
50
43
|
comment = request.fill(Comment.new)
|
|
51
44
|
|
|
@@ -57,12 +50,6 @@ class BlogController < N::Controller
|
|
|
57
50
|
comment.save!
|
|
58
51
|
end
|
|
59
52
|
|
|
60
|
-
# example of generated view
|
|
61
|
-
|
|
62
|
-
def list_comment__xml
|
|
63
|
-
@out.build_rss(@comments, :description => 'Blog comments', :link => context.host_url)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
53
|
def login
|
|
67
54
|
if password = request['password']
|
|
68
55
|
if password == Blog.password
|
|
@@ -109,3 +96,25 @@ private
|
|
|
109
96
|
end
|
|
110
97
|
|
|
111
98
|
end
|
|
99
|
+
|
|
100
|
+
# A special controller for that presents
|
|
101
|
+
# the blog content using XML (RSS). This controller
|
|
102
|
+
# reuses the BlogController actions but adds
|
|
103
|
+
# XML templates.
|
|
104
|
+
|
|
105
|
+
class XmlController < BlogController
|
|
106
|
+
@base = 'xml'
|
|
107
|
+
@content_type = 'text/xml'
|
|
108
|
+
@template_root = 'src/views/xml'
|
|
109
|
+
|
|
110
|
+
def list_entry
|
|
111
|
+
super
|
|
112
|
+
o.build_rss(@entries, :description => 'Blog entries', :link => context.host_url)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def list_comment
|
|
116
|
+
super
|
|
117
|
+
o.build_rss(@comments, :description => 'Blog comments', :link => context.host_url)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id$
|
|
3
|
+
# $Id: model.rb 1 2005-04-11 11:04:30Z gmosx $
|
|
4
4
|
|
|
5
5
|
require 'lib/content'
|
|
6
6
|
|
|
@@ -15,8 +15,8 @@ class Comment; end
|
|
|
15
15
|
# the markup expanding/compacting for the body.
|
|
16
16
|
|
|
17
17
|
module Common
|
|
18
|
-
include
|
|
19
|
-
include
|
|
18
|
+
include BaseContent
|
|
19
|
+
include CreateTime
|
|
20
20
|
|
|
21
21
|
prop_accessor :author, String
|
|
22
22
|
validate_value :body
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004 Navel, all rights reserved.
|
|
3
|
-
# $Id: content.rb
|
|
3
|
+
# $Id: content.rb 1 2005-04-11 11:04:30Z gmosx $
|
|
4
4
|
|
|
5
5
|
require 'nitro/markup'
|
|
6
6
|
|
|
7
|
-
module N
|
|
8
|
-
|
|
9
7
|
# The foundamental Content Unit.
|
|
10
8
|
|
|
11
9
|
module BaseContent
|
|
12
|
-
include Markup
|
|
10
|
+
include Nitro::Markup
|
|
13
11
|
|
|
14
12
|
prop_accessor :title, String
|
|
15
13
|
prop_accessor :body, String, :markup => true, :ui => :textarea
|
|
@@ -36,7 +34,7 @@ end
|
|
|
36
34
|
#++
|
|
37
35
|
|
|
38
36
|
module Content
|
|
39
|
-
include
|
|
37
|
+
include BaseContent
|
|
40
38
|
prop_accessor :name, String
|
|
41
39
|
prop_accessor :ctime, Time
|
|
42
40
|
prop_accessor :mtime, Time
|
|
@@ -51,5 +49,3 @@ end
|
|
|
51
49
|
class Category
|
|
52
50
|
include BaseContent
|
|
53
51
|
end
|
|
54
|
-
|
|
55
|
-
end
|
data/examples/no_xsl_blog/run.rb
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id: run.rb
|
|
3
|
+
# $Id: run.rb 21 2005-04-15 15:41:20Z gmosx $
|
|
4
4
|
|
|
5
|
-
require 'nitro'
|
|
5
|
+
require 'nitro'
|
|
6
6
|
require 'og'
|
|
7
7
|
|
|
8
8
|
require 'nitro/localization'
|
|
9
9
|
require 'lib/blog'
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
dispatcher = Dispatcher.new(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
11
|
+
include Nitro
|
|
12
|
+
|
|
13
|
+
Nitro.run do |conf|
|
|
14
|
+
Localization.add(
|
|
15
|
+
:en => 'conf/locales/en.yml',
|
|
16
|
+
:de => 'conf/locales/de.yml'
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
Og.connect(
|
|
20
|
+
# :address => 'localhost',
|
|
21
|
+
:adapter => 'mysql',
|
|
22
|
+
# :backend => 'psql',
|
|
23
|
+
:database => 'blog',
|
|
24
|
+
:user => 'root',
|
|
25
|
+
:password => 'navelrulez'
|
|
26
|
+
# :user => 'postgres',
|
|
27
|
+
# :password => 'navelrulez',
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
conf.dispatcher = Dispatcher.new(
|
|
31
|
+
:root => BlogController,
|
|
32
|
+
'xml' => XmlController
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
Rendering.shader = LocalizationShader.new(RubyShader.new(CompressShader.new))
|
|
36
|
+
|
|
37
|
+
conf = Conf.new(
|
|
38
|
+
:name => 'Blog sans XSLT',
|
|
39
|
+
:host => '127.0.0.1',
|
|
40
|
+
:port => 9999
|
|
41
|
+
)
|
|
42
|
+
end
|
data/examples/tiny/run.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id: run.rb
|
|
3
|
+
# $Id: run.rb 1 2005-04-11 11:04:30Z gmosx $
|
|
4
4
|
|
|
5
5
|
require 'nitro'
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Nitro.run(:host => '127.0.0.1', :port => 9999)
|
data/examples/wee_style/run.rb
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id: run.rb
|
|
3
|
+
# $Id: run.rb 18 2005-04-15 09:17:08Z gmosx $
|
|
4
4
|
|
|
5
|
-
require 'nitro'
|
|
5
|
+
require 'nitro'
|
|
6
6
|
require 'nitro/adapters/webrick'
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
include Nitro
|
|
9
|
+
|
|
10
|
+
class Wee < Controller
|
|
9
11
|
|
|
10
12
|
def index
|
|
11
13
|
counter = session[:counter] || 0
|
data/examples/why_wiki/run.rb
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
|
-
# $Id: run.rb
|
|
2
|
+
# $Id: run.rb 18 2005-04-15 09:17:08Z gmosx $
|
|
3
3
|
|
|
4
4
|
require 'cgi'
|
|
5
5
|
require 'redcloth'
|
|
6
6
|
require 'yaml/store'
|
|
7
7
|
|
|
8
|
-
require 'nitro'
|
|
8
|
+
require 'nitro'
|
|
9
9
|
require 'nitro/adapters/webrick'
|
|
10
10
|
|
|
11
|
+
include Nitro
|
|
12
|
+
|
|
11
13
|
# A simple wiki. A straight conversion of the redhanded.hobix.com
|
|
12
14
|
# example. Original code by why the lucky stiff.
|
|
13
15
|
# This is just a cool example, not the preffered way to write
|
|
@@ -15,7 +17,7 @@ require 'nitro/adapters/webrick'
|
|
|
15
17
|
|
|
16
18
|
WIKI = YAML::Store.new('wiki.yml')
|
|
17
19
|
|
|
18
|
-
class Wiki <
|
|
20
|
+
class Wiki < Controller
|
|
19
21
|
|
|
20
22
|
def index
|
|
21
23
|
@p = 'Home'
|
data/install.rb
CHANGED
data/lib/nitro.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# = Nitro
|
|
2
2
|
#
|
|
3
|
-
# Nitro is an efficient, yet simple engine for developing
|
|
4
|
-
# Web Applications using the Ruby language.
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
3
|
+
# Nitro is an efficient, yet simple engine for developing
|
|
4
|
+
# professional Web Applications using the Ruby language.
|
|
5
|
+
# Nitro aims to provide a robust infrastructure for scalable
|
|
6
|
+
# web applications that can be distributed over a server
|
|
7
|
+
# cluster. However, Nitro can also power simple web
|
|
8
|
+
# applications for deployment on intranets or even personal
|
|
8
9
|
# computers.
|
|
9
10
|
#
|
|
10
11
|
# Nitro integrates the powerful Og Object-Relational mapping
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
#
|
|
13
14
|
# * George Moschovitis <gm@navel.gr>
|
|
14
15
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
15
|
-
# $Id: nitro.rb
|
|
16
|
+
# $Id: nitro.rb 20 2005-04-15 15:18:36Z gmosx $
|
|
16
17
|
|
|
17
18
|
require 'glue'
|
|
18
19
|
require 'glue/logger'
|
|
@@ -20,10 +21,10 @@ require 'glue/logger'
|
|
|
20
21
|
# Define Nitro namespace.
|
|
21
22
|
|
|
22
23
|
module Nitro
|
|
23
|
-
|
|
24
|
+
|
|
24
25
|
# The version.
|
|
25
26
|
|
|
26
|
-
Version = '0.
|
|
27
|
+
Version = '0.16.0'
|
|
27
28
|
|
|
28
29
|
# Library path.
|
|
29
30
|
|
|
@@ -38,7 +39,7 @@ require 'nitro/dispatcher'
|
|
|
38
39
|
require 'nitro/render'
|
|
39
40
|
require 'nitro/conf'
|
|
40
41
|
require 'nitro/runner'
|
|
41
|
-
require 'nitro/
|
|
42
|
+
require 'nitro/controller'
|
|
42
43
|
require 'nitro/part'
|
|
43
44
|
|
|
44
45
|
require 'nitro/environment' unless $NITRO_NO_ENVIRONMENT
|
data/lib/nitro/adapters/cgi.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
|
+
# * James Britt <james_b@neurogami.com>
|
|
2
3
|
# (c) 2005 Navel, all rights reserved.
|
|
3
|
-
# $Id$
|
|
4
|
+
# $Id: cgi.rb 1 2005-04-11 11:04:30Z gmosx $
|
|
4
5
|
|
|
5
6
|
require 'cgi'
|
|
6
7
|
require 'stringio'
|
|
@@ -8,7 +9,11 @@ require 'tempfile'
|
|
|
8
9
|
|
|
9
10
|
require 'glue/attribute'
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
# Speeds things up, more comaptible with OSX.
|
|
13
|
+
|
|
14
|
+
Socket.do_not_reverse_lookup = true
|
|
15
|
+
|
|
16
|
+
module Nitro
|
|
12
17
|
|
|
13
18
|
class Cgi
|
|
14
19
|
# Maximum content length allowed in requests.
|
|
@@ -18,6 +23,26 @@ class Cgi
|
|
|
18
23
|
# Multipart parsing buffer size.
|
|
19
24
|
|
|
20
25
|
cattr_accessor :buffer_size, (10 * 1024)
|
|
26
|
+
|
|
27
|
+
def self.start( conf )
|
|
28
|
+
cgi = CGI.new
|
|
29
|
+
conf = Flexob.new(conf) unless conf.is_a?(Flexob)
|
|
30
|
+
context = Context.new(conf)
|
|
31
|
+
context.headers = ENV
|
|
32
|
+
|
|
33
|
+
CgiUtils.parse_params(context)
|
|
34
|
+
CgiUtils.parse_cookies(context)
|
|
35
|
+
|
|
36
|
+
# gmosx, TODO: move this into a filter.
|
|
37
|
+
Og.db.get_connection if defined?(Og) and Og.db
|
|
38
|
+
|
|
39
|
+
context.render( context.path)
|
|
40
|
+
|
|
41
|
+
Og.db.put_connection if defined?(Og) and Og.db
|
|
42
|
+
|
|
43
|
+
cgi.print(CgiUtils.response_headers(context))
|
|
44
|
+
cgi.print(context.out)
|
|
45
|
+
end
|
|
21
46
|
end
|
|
22
47
|
|
|
23
48
|
# CGI utility methods.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
|
3
|
-
# $Id$
|
|
3
|
+
# $Id: fastcgi.rb 1 2005-04-11 11:04:30Z gmosx $
|
|
4
4
|
|
|
5
5
|
require 'cgi'
|
|
6
6
|
require 'fcgi'
|
|
@@ -11,7 +11,11 @@ require 'nitro/adapters/cgi'
|
|
|
11
11
|
|
|
12
12
|
require 'glue/flexob'
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
# Speeds things up, more comaptible with OSX.
|
|
15
|
+
|
|
16
|
+
Socket.do_not_reverse_lookup = true
|
|
17
|
+
|
|
18
|
+
module Nitro
|
|
15
19
|
|
|
16
20
|
# FastCGI Adaptor. FastCGI is a language independent,
|
|
17
21
|
# scalable, open extension to CGI that provides high
|