narf 0.5.1 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +44 -0
- data/README +6 -2
- data/README~ +124 -0
- data/build.rb +3 -2
- data/build.rb~ +1 -1
- data/doc/apache_cgi.txt +1 -5
- data/doc/apache_cgi.txt~ +17 -0
- data/doc/fastcgi.txt +1 -1
- data/doc/fastcgi.txt~ +19 -0
- data/doc/rdoc/classes/Web.html +9 -6
- data/doc/rdoc/classes/Web.src/M000002.html +1 -1
- data/doc/rdoc/classes/Web.src/M000003.html +1 -1
- data/doc/rdoc/classes/Web.src/M000004.html +1 -1
- data/doc/rdoc/classes/Web.src/M000005.html +1 -1
- data/doc/rdoc/classes/Web.src/M000006.html +1 -1
- data/doc/rdoc/classes/Web.src/M000007.html +1 -1
- data/doc/rdoc/classes/Web.src/M000008.html +1 -1
- data/doc/rdoc/classes/Web.src/M000009.html +1 -1
- data/doc/rdoc/classes/Web/CGD.src/M000038.html +2 -1
- data/doc/rdoc/classes/Web/CGD.src/M000039.html +1 -1
- data/doc/rdoc/classes/Web/CGD.src/M000040.html +1 -1
- data/doc/rdoc/classes/Web/CGD.src/M000041.html +1 -1
- data/doc/rdoc/classes/Web/CGI.src/M000105.html +1 -1
- data/doc/rdoc/classes/Web/CGI.src/M000106.html +1 -1
- data/doc/rdoc/classes/Web/CGI.src/M000107.html +1 -1
- data/doc/rdoc/classes/Web/Narflates.html +4 -2
- data/doc/rdoc/classes/Web/Testing.src/M000027.html +1 -4
- data/doc/rdoc/classes/Web/Testing.src/M000028.html +1 -2
- data/doc/rdoc/classes/Web/Testing.src/M000029.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000030.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000031.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000032.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000033.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000034.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000035.html +1 -1
- data/doc/rdoc/classes/Web/Testing.src/M000036.html +1 -1
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README.html +7 -3
- data/doc/rdoc/files/doc/apache_cgi_txt.html +3 -9
- data/doc/rdoc/files/doc/fastcgi_txt.html +2 -2
- data/doc/rdoc/files/lib/web/cgi_rb.html +1 -1
- data/doc/rdoc/files/lib/web/parser_rb.html +1 -1
- data/doc/rdoc/files/lib/web/template_rb.html +1 -1
- data/doc/rdoc/files/lib/web/testing_rb.html +1 -1
- data/doc/rdoc/files/lib/web/wiki_rb.html +1 -1
- data/doc/rdoc/files/lib/web_rb.html +1 -1
- data/lib/web.rb +127 -20
- data/lib/web/parser.rb +25 -7
- data/lib/web/parser.rb~ +30 -8
- data/lib/web/template.rb +6 -4
- data/lib/web/wiki.rb +23 -12
- data/lib/web/wiki.rb~ +1 -1
- data/narf-0.5.1.gem +0 -0
- data/narf.gemspec +1 -1
- data/narf.gemspec~ +18 -30
- data/test/test.request.rb +33 -20
- data/test/test.request.rb~ +10 -0
- data/test/testfiles/mac_ie_env.yaml +32 -0
- data/test/testfiles/mac_ie_stdin.bin +0 -0
- data/test/testfiles/mac_safari_stdin.bin +0 -0
- data/test/wiki/test.tarpit.rb +16 -0
- data/test/wiki/test.tarpit.rb~ +40 -0
- metadata +9 -3
- data/vandals.test.txt +0 -3
data/ChangeLog
CHANGED
@@ -1,4 +1,48 @@
|
|
1
1
|
------------------------------------------------------------------------
|
2
|
+
rev 62: patsplat | 2004-11-03 00:39:47 -0500 (Wed, 03 Nov 2004) | 1 line
|
3
|
+
|
4
|
+
Updated ChangeLog for 0.6.0
|
5
|
+
------------------------------------------------------------------------
|
6
|
+
rev 61: patsplat | 2004-11-03 00:35:31 -0500 (Wed, 03 Nov 2004) | 1 line
|
7
|
+
|
8
|
+
added escapeHTML methods from cgi.rb; setup tarpit to accept IP ranges ~ pat
|
9
|
+
------------------------------------------------------------------------
|
10
|
+
rev 60: patsplat | 2004-10-31 17:04:24 -0500 (Sun, 31 Oct 2004) | 1 line
|
11
|
+
|
12
|
+
fixed multipart bug ~pat
|
13
|
+
------------------------------------------------------------------------
|
14
|
+
rev 59: patsplat | 2004-10-04 00:47:29 -0400 (Mon, 04 Oct 2004) | 1 line
|
15
|
+
|
16
|
+
re-arrangements ~ pat
|
17
|
+
------------------------------------------------------------------------
|
18
|
+
rev 58: patsplat | 2004-10-03 11:42:02 -0400 (Sun, 03 Oct 2004) | 1 line
|
19
|
+
|
20
|
+
documention tweaks ~ pat
|
21
|
+
------------------------------------------------------------------------
|
22
|
+
rev 57: patsplat | 2004-10-03 11:27:46 -0400 (Sun, 03 Oct 2004) | 1 line
|
23
|
+
|
24
|
+
re-arranged documentation ~ pat
|
25
|
+
------------------------------------------------------------------------
|
26
|
+
rev 56: patsplat | 2004-10-03 10:45:08 -0400 (Sun, 03 Oct 2004) | 1 line
|
27
|
+
|
28
|
+
made Web::env case insensitive (because who cares about case anyways?) ~ pat
|
29
|
+
------------------------------------------------------------------------
|
30
|
+
rev 55: patsplat | 2004-10-01 20:25:15 -0400 (Fri, 01 Oct 2004) | 1 line
|
31
|
+
|
32
|
+
added Web::clear & fixed trivial failures in test.assertincludes.rb for 1.6 -> 1.8 ~ pat
|
33
|
+
------------------------------------------------------------------------
|
34
|
+
rev 54: patsplat | 2004-09-04 01:06:48 -0400 (Sat, 04 Sep 2004) | 1 line
|
35
|
+
|
36
|
+
more documentation fixes ~ pat
|
37
|
+
------------------------------------------------------------------------
|
38
|
+
rev 52: patsplat | 2004-09-03 18:21:33 -0400 (Fri, 03 Sep 2004) | 1 line
|
39
|
+
|
40
|
+
Updated ChangeLog for 0.5.1
|
41
|
+
------------------------------------------------------------------------
|
42
|
+
rev 51: patsplat | 2004-09-03 18:20:36 -0400 (Fri, 03 Sep 2004) | 1 line
|
43
|
+
|
44
|
+
added inatallation notes ~ pat
|
45
|
+
------------------------------------------------------------------------
|
2
46
|
rev 49: patsplat | 2004-09-03 18:19:24 -0400 (Fri, 03 Sep 2004) | 1 line
|
3
47
|
|
4
48
|
Updated ChangeLog for 0.5.0
|
data/README
CHANGED
@@ -52,7 +52,9 @@ this:
|
|
52
52
|
=== Hello World
|
53
53
|
|
54
54
|
require 'web'
|
55
|
-
Web
|
55
|
+
Web::process do
|
56
|
+
Web << 'Hello World'
|
57
|
+
end
|
56
58
|
|
57
59
|
=== Testing an App
|
58
60
|
|
@@ -66,7 +68,9 @@ where script.rb is:
|
|
66
68
|
#!/usr/bin/ruby
|
67
69
|
require 'web'
|
68
70
|
|
69
|
-
Web
|
71
|
+
Web::process do
|
72
|
+
Web << "param is #{Web["param"]}"
|
73
|
+
end
|
70
74
|
|
71
75
|
and test.rb is:
|
72
76
|
|
data/README~
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
=== Purpose
|
2
|
+
|
3
|
+
NARF is a replacement for, and derivative of, the Ruby CGI
|
4
|
+
library. It exists one reason:
|
5
|
+
|
6
|
+
* To trivialize web development
|
7
|
+
|
8
|
+
We hope that these 3 lines of development will accomplish our task:
|
9
|
+
|
10
|
+
* To provide a clean API for writing Web applications.
|
11
|
+
|
12
|
+
* To make it very easy to write testable Web applications (using
|
13
|
+
Web::Testing), and provide a template system (Web::Narflates).
|
14
|
+
|
15
|
+
* To test the above goals by developing integrated, high quality,
|
16
|
+
configurable versions of common web apps in a simple and easy
|
17
|
+
to use manner. The heart of http://www.narf-lib.org, Web::Wiki
|
18
|
+
is an easy to use wiki. Not the only one, but it does make
|
19
|
+
us eat our own dogfood :-)
|
20
|
+
|
21
|
+
NARF does all of this as a regular CGI application. It also runs in-process under fastcgi, mod_ruby, and webrick. View these files for details:
|
22
|
+
|
23
|
+
* sapi/fastcgi/INSTALL.txt
|
24
|
+
* sapi/mod_ruby/INSTALL.txt
|
25
|
+
* sapi/webrick/INSTALL.txt
|
26
|
+
|
27
|
+
=== Installation
|
28
|
+
|
29
|
+
Run the installer for NARF:
|
30
|
+
|
31
|
+
ruby build.rb test (optional)
|
32
|
+
|
33
|
+
ruby install.rb config
|
34
|
+
ruby install.rb setup
|
35
|
+
ruby install.rb install
|
36
|
+
|
37
|
+
=== Dependencies
|
38
|
+
|
39
|
+
NARF requires the following packages on ruby 1.6. These packages are included in ruby 1.8:
|
40
|
+
|
41
|
+
testunit (unit testing framework):
|
42
|
+
http://testunit.talbott.ws/packages/testunit-0.1.6.tar.gz
|
43
|
+
|
44
|
+
strscan (string scanner library):
|
45
|
+
http://www.loveruby.net/archive/strscan/strscan-0.6.5.tar.gz
|
46
|
+
|
47
|
+
You can use raa-install (http://www.ruby-lang.org/raa/list.rhtml?id=729) for
|
48
|
+
this:
|
49
|
+
raa-install -i testunit
|
50
|
+
raa-install -i strscan
|
51
|
+
|
52
|
+
=== Hello World
|
53
|
+
|
54
|
+
require 'web'
|
55
|
+
Web << 'Hello World'
|
56
|
+
|
57
|
+
=== Testing an App
|
58
|
+
|
59
|
+
If you haven't noticed, NARF has a cgi style api. It's also has a testing api. Given these files:
|
60
|
+
|
61
|
+
script.rb
|
62
|
+
test.rb
|
63
|
+
|
64
|
+
where script.rb is:
|
65
|
+
|
66
|
+
#!/usr/bin/ruby
|
67
|
+
require 'web'
|
68
|
+
|
69
|
+
Web << "param is #{Web["param"]}"
|
70
|
+
|
71
|
+
and test.rb is:
|
72
|
+
|
73
|
+
require 'web'
|
74
|
+
require 'test/unit'
|
75
|
+
|
76
|
+
class MyAppTest < Test::Unit::TestCase
|
77
|
+
include Web::Testing
|
78
|
+
|
79
|
+
def test_prints_content
|
80
|
+
do_request "script.rb", "param" => "THIS!"
|
81
|
+
assert_content "param is THIS!"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
Do this to run tests:
|
86
|
+
|
87
|
+
ruby test.rb
|
88
|
+
|
89
|
+
See Web::Testing for more examples.
|
90
|
+
|
91
|
+
=== Websites
|
92
|
+
|
93
|
+
Home page:
|
94
|
+
http://www.narf-lib.org
|
95
|
+
|
96
|
+
Project info page, including downloads and CVS instructions:
|
97
|
+
http://www.sourceforge.net/projects/narf-lib
|
98
|
+
|
99
|
+
=== Credits
|
100
|
+
|
101
|
+
Narf was written by Tom Clarke and Patrick May, partly based on cgi.rb
|
102
|
+
written by Wakou Aoyama. It makes significant use of ruby-htmltools,
|
103
|
+
written by Ned Konz. Also, Keunwoo Lee patched Request.read_multipart
|
104
|
+
to be cleaner.
|
105
|
+
|
106
|
+
NARF contains code from the following projects, and we are in their debt:
|
107
|
+
|
108
|
+
ruby-htmltools::
|
109
|
+
This is a Ruby library for building trees representing HTML structure.
|
110
|
+
http://bike-nomad.com/ruby
|
111
|
+
sgml-parser::
|
112
|
+
The html-parser package is a variant language implementation of the
|
113
|
+
Python's SGML parser (sgmllib.py), HTML parser (htmllib.py) and
|
114
|
+
Formatter (formatter.py).
|
115
|
+
http://www.jin.gr.jp/%7Enahi/Ruby/html-parser/README.html
|
116
|
+
webunit::
|
117
|
+
WebUnit is Ruby API for testing html/cgi without browser, and is
|
118
|
+
idealy suited for automated unit testing of web sites when combined
|
119
|
+
with a Ruby unit test framework such as RubyUnit. It was designed
|
120
|
+
and implemented by Masaki Suketa.
|
121
|
+
http://www.xpenguin.biz/download/webunit/index-en.html
|
122
|
+
|
123
|
+
Thanks also go to http://www.sourceforge.net for hosting the
|
124
|
+
project's CVS and website
|
data/build.rb
CHANGED
@@ -169,13 +169,14 @@ Target.new( "test", "run narf unit tests" ) {
|
|
169
169
|
require 'test/unit'
|
170
170
|
require 'test/unit/ui/console/testrunner'
|
171
171
|
|
172
|
-
$:.replace(['./lib/'].concat($:))
|
173
|
-
|
172
|
+
$:.replace( ['./lib/'].concat($:) )
|
173
|
+
|
174
174
|
require 'web'
|
175
175
|
require 'web/wiki'
|
176
176
|
|
177
177
|
def setup_wiki
|
178
178
|
File.rm_rf( Web::Wiki::store_dir )
|
179
|
+
Web::Wiki::wipe
|
179
180
|
end
|
180
181
|
|
181
182
|
alias :teardown_wiki :setup_wiki
|
data/build.rb~
CHANGED
@@ -109,7 +109,7 @@ end
|
|
109
109
|
|
110
110
|
Target.new( "upload_doc", "upload doc" ) {
|
111
111
|
Target.run( "rdoc" )
|
112
|
-
`scp -r rdoc/* patsplat@ssh.narf-lib.org:~/narf-lib.org/doc`
|
112
|
+
`scp -r doc/rdoc/* patsplat@ssh.narf-lib.org:~/narf-lib.org/doc`
|
113
113
|
}
|
114
114
|
|
115
115
|
Target.new( "rdoc", "build rdoc" ) {
|
data/doc/apache_cgi.txt
CHANGED
@@ -10,8 +10,4 @@ Copy this file where ever you like, make it executable, and tell apache to run i
|
|
10
10
|
|
11
11
|
#!/usr/local/bin/narf
|
12
12
|
|
13
|
-
This file may
|
14
|
-
|
15
|
-
Cheers,
|
16
|
-
|
17
|
-
patrick@hexane.org
|
13
|
+
This file may have a buffer overflow in it. Please be cautious with this until I can get verification that it is ok.
|
data/doc/apache_cgi.txt~
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
The main advantage of this executable is that this runner can print syntax errors to the screen. To compile, run this from the project root (/narf):
|
2
|
+
|
3
|
+
ruby build.rb compile_narf_runner
|
4
|
+
|
5
|
+
The compiled binary will be in
|
6
|
+
|
7
|
+
/narf/apache_cgi/bin/narf
|
8
|
+
|
9
|
+
Copy this file where ever you like, make it executable, and tell apache to run it with a shebang:
|
10
|
+
|
11
|
+
#!/usr/local/bin/narf
|
12
|
+
|
13
|
+
This file may likely has a buffer overflow in it. Please be cautious with this until I can get verification that it is ok.
|
14
|
+
|
15
|
+
Cheers,
|
16
|
+
|
17
|
+
patrick@hexane.org
|
data/doc/fastcgi.txt
CHANGED
@@ -10,7 +10,7 @@ You can find a list of FastCGI servers here:
|
|
10
10
|
|
11
11
|
After installing and configuring the appropriate libraries for your server, you will need to make sure that the cgi script executes in a Web::process block:
|
12
12
|
|
13
|
-
#!/usr/local/bin/ruby
|
13
|
+
#!/usr/local/bin/ruby -rweb
|
14
14
|
|
15
15
|
Web::process{
|
16
16
|
Web << 'Hello World!'
|
data/doc/fastcgi.txt~
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
== FastCGI
|
2
|
+
|
3
|
+
FastCGI support for narf requires the 'fcgi' libary:
|
4
|
+
|
5
|
+
http://raa.ruby-lang.org/list.rhtml?name=fcgi
|
6
|
+
|
7
|
+
You can find a list of FastCGI servers here:
|
8
|
+
|
9
|
+
http://www.fastcgi.com
|
10
|
+
|
11
|
+
After installing and configuring the appropriate libraries for your server, you will need to make sure that the cgi script executes in a Web::process block:
|
12
|
+
|
13
|
+
#!/usr/local/bin/ruby
|
14
|
+
|
15
|
+
Web::process{
|
16
|
+
Web << 'Hello World!'
|
17
|
+
}
|
18
|
+
|
19
|
+
There is a neat continuation trick that matz discussed in [ruby-talk:13428] that makes the Web::process block unnecessary. I've had some trouble getting it too work; when I do, I'll update these docs.
|
data/doc/rdoc/classes/Web.html
CHANGED
@@ -87,12 +87,15 @@ module delegates to a <a href="Web/CGI.html">Web::CGI</a> object, which
|
|
87
87
|
does the actual work.
|
88
88
|
</p>
|
89
89
|
<pre>
|
90
|
-
#!/usr/bin/
|
91
|
-
|
92
|
-
Web
|
93
|
-
|
94
|
-
|
95
|
-
|
90
|
+
#!/usr/bin/ruby
|
91
|
+
require 'web'
|
92
|
+
Web::process do
|
93
|
+
Web["field"] # access parameters
|
94
|
+
Web.cookies["muppet"] # access cookies
|
95
|
+
Web.session["key"] ||= "value" # get and set session values
|
96
|
+
Web.set_cookie( "muppet", "cookie monster" ) # set cookies
|
97
|
+
Web.puts "something" # print 'something' out
|
98
|
+
end
|
96
99
|
</pre>
|
97
100
|
<p>
|
98
101
|
If the request contained multipart/form-data, uploaded files are returned
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 165</span>
|
11
11
|
<span class="kw">def</span> method_missing(method, *args, &block)
|
12
12
|
CGI.get_cgi.send(method,*args, &block)
|
13
13
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 169</span>
|
11
11
|
<span class="kw">def</span> set_cgi( cgi )
|
12
12
|
CGI.set_cgi( cgi )
|
13
13
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 173</span>
|
11
11
|
<span class="kw">def</span> get_cgi
|
12
12
|
CGI.get_cgi
|
13
13
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 177</span>
|
11
11
|
<span class="kw">def</span> process(options={}, &block)
|
12
12
|
CGI.process(options, &block)
|
13
13
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 183</span>
|
11
11
|
<span class="kw">def</span> Web::html_encode(string)
|
12
12
|
<span class="kw">return</span> <span class="kw">nil</span> <span class="kw">unless</span> string
|
13
13
|
newstring = string.dup
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 194</span>
|
11
11
|
<span class="kw">def</span> Web::escape(string)
|
12
12
|
<span class="kw">return</span> <span class="kw">nil</span> <span class="kw">unless</span> string
|
13
13
|
string.gsub(<span class="re">/([^ a-zA-Z0-9_.-]+)/n</span>) <span class="kw">do</span>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 203</span>
|
11
11
|
<span class="kw">def</span> Web::unescape(string)
|
12
12
|
<span class="kw">return</span> <span class="kw">nil</span> <span class="kw">unless</span> string
|
13
13
|
string.tr(<span class="str">'+'</span>, <span class="str">' '</span>).gsub(<span class="re">/((?:%[0-9a-fA-F]{2})+)/n</span>) <span class="kw">do</span>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web.rb, line 214</span>
|
11
11
|
<span class="kw">def</span> Web::rfc1123_date(time)
|
12
12
|
t = time.clone.gmtime
|
13
13
|
<span class="kw">return</span> format(<span class="str">"%s, %.2d %s %.4d %.2d:%.2d:%.2d GMT"</span>,
|
@@ -14,8 +14,9 @@
|
|
14
14
|
@input = options[:in] || $stdin
|
15
15
|
@output = options[:out] || $stdout
|
16
16
|
@env = downcase_env( options[:env] || ENV )
|
17
|
-
|
17
|
+
|
18
18
|
@env[<span class="str">'document_root'</span>] = options[:document_root] || Web.get_docroot || @env[<span class="str">'document_root'</span>]
|
19
|
+
@env[<span class="str">'script_name'</span> ] = options[:script_name] || @env[<span class="str">'script_name'</span>]
|
19
20
|
|
20
21
|
parse_request
|
21
22
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web/cgi.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web/cgi.rb, line 542</span>
|
11
11
|
<span class="kw">def</span> close
|
12
12
|
|
13
13
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web/cgi.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web/cgi.rb, line 547</span>
|
11
11
|
<span class="kw">def</span> nph?
|
12
12
|
@options[:nph] || <span class="re">/IIS/</span>.match(env[<span class="str">"server_software"</span>])
|
13
13
|
<span class="kw">end</span></pre>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web/cgi.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web/cgi.rb, line 551</span>
|
11
11
|
<span class="kw">def</span> send_header( header )
|
12
12
|
send_nph_header( header ) <span class="kw">if</span> (nph?)
|
13
13
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web/cgi.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web/cgi.rb, line 578</span>
|
11
11
|
<span class="kw">def</span> report_error( err )
|
12
12
|
<span class="kw">self</span>.puts <span class="str">"<h3>ruby error:</h3>"</span>
|
13
13
|
<span class="kw">self</span>.puts Dir.pwd
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel=StyleSheet href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
8
8
|
</head>
|
9
9
|
<body bgcolor="white">
|
10
|
-
<pre><span class="cmt"># File lib/web/cgi.rb, line
|
10
|
+
<pre><span class="cmt"># File lib/web/cgi.rb, line 593</span>
|
11
11
|
<span class="kw">def</span> CGI::server_sniff
|
12
12
|
<span class="kw">if</span>( Object.const_defined?( <span class="str">"Apache"</span> ) \
|
13
13
|
&& Apache.const_defined?( <span class="str">"Request"</span> ) \
|