serverside 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +22 -16
- data/Rakefile +11 -4
- data/bin/serverside +1 -1
- data/doc/rdoc/classes/Daemon.html +4 -4
- data/doc/rdoc/classes/ServerSide.html +10 -10
- data/doc/rdoc/classes/ServerSide/HTTP.html +5 -6
- data/doc/rdoc/classes/ServerSide/HTTP/Connection.html +24 -22
- data/doc/rdoc/classes/ServerSide/HTTP/Request.html +367 -121
- data/doc/rdoc/classes/ServerSide/Router.html +58 -58
- data/doc/rdoc/classes/ServerSide/StaticFiles.html +60 -49
- data/doc/rdoc/classes/ServerSide/StaticFiles/Const.html +12 -2
- data/doc/rdoc/classes/ServerSide/Template.html +12 -12
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/CHANGELOG.html +36 -31
- data/doc/rdoc/files/COPYING.html +1 -1
- data/doc/rdoc/files/README.html +1 -1
- data/doc/rdoc/files/lib/serverside/application_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/cluster_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/connection_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/core_ext_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/daemon_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/request_rb.html +8 -1
- data/doc/rdoc/files/lib/serverside/routing_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/server_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside/static_rb.html +8 -1
- data/doc/rdoc/files/lib/serverside/template_rb.html +1 -1
- data/doc/rdoc/files/lib/serverside_rb.html +1 -1
- data/doc/rdoc/fr_class_index.html +0 -1
- data/doc/rdoc/fr_method_index.html +21 -20
- data/lib/serverside/connection.rb +6 -4
- data/lib/serverside/request.rb +101 -61
- data/lib/serverside/static.rb +22 -7
- data/test/functional/request_body_test.rb +93 -0
- data/test/functional/routing_server.rb +5 -5
- data/test/functional/routing_server_test.rb +3 -3
- data/test/spec/connection_spec.rb +61 -0
- data/test/spec/core_ext_spec.rb +20 -1
- data/test/unit/connection_test.rb +9 -9
- data/test/unit/request_test.rb +55 -55
- data/test/unit/server_test.rb +1 -1
- data/test/unit/static_test.rb +24 -25
- metadata +60 -60
- data/doc/rdoc/classes/ServerSide/HTTP/Const.html +0 -257
data/test/unit/server_test.rb
CHANGED
@@ -4,7 +4,7 @@ require 'net/http'
|
|
4
4
|
class ServerTest < Test::Unit::TestCase
|
5
5
|
class DummyRequest < ServerSide::HTTP::Request
|
6
6
|
def respond
|
7
|
-
@
|
7
|
+
@socket << "HTTP/1.1 200\r\nContent-Length: 9\r\n\r\nHi there!"
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
data/test/unit/static_test.rb
CHANGED
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../test_helper'
|
|
2
2
|
require 'stringio'
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
class
|
5
|
+
class StaticTest < Test::Unit::TestCase
|
6
6
|
class Dummy < ServerSide::HTTP::Request
|
7
7
|
def self.static_files
|
8
8
|
@@static_files
|
@@ -12,7 +12,7 @@ class ConnectionTest < Test::Unit::TestCase
|
|
12
12
|
@@mime_types
|
13
13
|
end
|
14
14
|
|
15
|
-
attr_accessor :
|
15
|
+
attr_accessor :path, :socket, :headers
|
16
16
|
|
17
17
|
def initialize
|
18
18
|
@headers = {}
|
@@ -23,7 +23,7 @@ class ConnectionTest < Test::Unit::TestCase
|
|
23
23
|
assert_kind_of Hash, Dummy.static_files
|
24
24
|
Dummy.static_files.clear
|
25
25
|
c = Dummy.new
|
26
|
-
c.
|
26
|
+
c.socket = StringIO.new
|
27
27
|
assert_nil Dummy.static_files[__FILE__]
|
28
28
|
c.serve_file(__FILE__)
|
29
29
|
cache = Dummy.static_files[__FILE__]
|
@@ -50,10 +50,10 @@ class ConnectionTest < Test::Unit::TestCase
|
|
50
50
|
|
51
51
|
def test_serve_file_normal
|
52
52
|
c = Dummy.new
|
53
|
-
c.
|
53
|
+
c.socket = StringIO.new
|
54
54
|
c.serve_file(__FILE__)
|
55
|
-
c.
|
56
|
-
resp = c.
|
55
|
+
c.socket.rewind
|
56
|
+
resp = c.socket.read
|
57
57
|
|
58
58
|
assert_equal '200', /HTTP\/1.1\s(.*)\r\n/.match(resp)[1]
|
59
59
|
fc = IO.read(__FILE__)
|
@@ -69,11 +69,11 @@ class ConnectionTest < Test::Unit::TestCase
|
|
69
69
|
|
70
70
|
def test_serve_file_etags
|
71
71
|
c = Dummy.new
|
72
|
-
c.
|
72
|
+
c.socket = StringIO.new
|
73
73
|
Dummy.static_files.clear
|
74
74
|
c.serve_file(__FILE__)
|
75
|
-
c.
|
76
|
-
resp = c.
|
75
|
+
c.socket.rewind
|
76
|
+
resp = c.socket.read
|
77
77
|
|
78
78
|
# normal response
|
79
79
|
assert_equal '200', /HTTP\/1.1\s(.*)\r\n/.match(resp)[1]
|
@@ -87,11 +87,11 @@ class ConnectionTest < Test::Unit::TestCase
|
|
87
87
|
assert_equal stat.size.to_s,
|
88
88
|
/Content-Length:\s(.*)\r\n/.match(resp)[1]
|
89
89
|
|
90
|
-
c.
|
90
|
+
c.socket = StringIO.new
|
91
91
|
c.headers[ServerSide::StaticFiles::Const::IfNoneMatch] = etag
|
92
92
|
c.serve_file(__FILE__)
|
93
|
-
c.
|
94
|
-
resp = c.
|
93
|
+
c.socket.rewind
|
94
|
+
resp = c.socket.read
|
95
95
|
|
96
96
|
# not modified response
|
97
97
|
assert_equal '304 Not Modified', /HTTP\/1.1\s(.*)\r\n/.match(resp)[1]
|
@@ -102,14 +102,13 @@ class ConnectionTest < Test::Unit::TestCase
|
|
102
102
|
assert_equal etag, /ETag:\s(.*)\r\n/.match(resp)[1]
|
103
103
|
assert_equal ServerSide::StaticFiles::Const::MaxAge,
|
104
104
|
/Cache-Control:\s(.*)\r\n/.match(resp)[1]
|
105
|
-
assert_equal '0', /Content-Length:\s(.*)\r\n/.match(resp)[1]
|
106
105
|
|
107
106
|
FileUtils.touch(__FILE__)
|
108
|
-
c.
|
107
|
+
c.socket = StringIO.new
|
109
108
|
c.headers[ServerSide::StaticFiles::Const::IfNoneMatch] = etag
|
110
109
|
c.serve_file(__FILE__)
|
111
|
-
c.
|
112
|
-
resp = c.
|
110
|
+
c.socket.rewind
|
111
|
+
resp = c.socket.read
|
113
112
|
|
114
113
|
# modified response
|
115
114
|
assert_equal '200', /HTTP\/1.1\s(.*)\r\n/.match(resp)[1]
|
@@ -128,12 +127,12 @@ class ConnectionTest < Test::Unit::TestCase
|
|
128
127
|
dir = File.dirname(__FILE__)
|
129
128
|
|
130
129
|
c = Dummy.new
|
131
|
-
c.
|
130
|
+
c.socket = StringIO.new
|
132
131
|
Dummy.static_files.clear
|
133
132
|
c.path = dir
|
134
133
|
c.serve_dir(dir)
|
135
|
-
c.
|
136
|
-
resp = c.
|
134
|
+
c.socket.rewind
|
135
|
+
resp = c.socket.read
|
137
136
|
|
138
137
|
Dir.entries(dir).each do |fn|
|
139
138
|
next if fn == '.'
|
@@ -145,21 +144,21 @@ class ConnectionTest < Test::Unit::TestCase
|
|
145
144
|
dir = File.dirname(__FILE__)
|
146
145
|
|
147
146
|
c = Dummy.new
|
148
|
-
c.
|
147
|
+
c.socket = StringIO.new
|
149
148
|
c.path = dir
|
150
149
|
c.serve_static(dir)
|
151
|
-
c.
|
152
|
-
resp = c.
|
150
|
+
c.socket.rewind
|
151
|
+
resp = c.socket.read
|
153
152
|
|
154
153
|
Dir.entries(dir).each do |fn|
|
155
154
|
next if fn == '.'
|
156
155
|
assert_not_nil resp =~ /<a href="#{dir/fn}">(#{fn})<\/a>/
|
157
156
|
end
|
158
157
|
|
159
|
-
c.
|
158
|
+
c.socket = StringIO.new
|
160
159
|
c.serve_file(__FILE__)
|
161
|
-
c.
|
162
|
-
resp = c.
|
160
|
+
c.socket.rewind
|
161
|
+
resp = c.socket.read
|
163
162
|
|
164
163
|
# normal response
|
165
164
|
assert_equal '200', /HTTP\/1.1\s(.*)\r\n/.match(resp)[1]
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.8.11
|
3
3
|
specification_version: 1
|
4
4
|
name: serverside
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date: 2006-
|
6
|
+
version: 0.2.7
|
7
|
+
date: 2006-10-11 00:00:00 +02:00
|
8
8
|
summary: Performance-oriented web framework.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -25,7 +25,6 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
25
25
|
platform: ruby
|
26
26
|
signing_key:
|
27
27
|
cert_chain:
|
28
|
-
post_install_message:
|
29
28
|
authors:
|
30
29
|
- Sharon Rosner
|
31
30
|
files:
|
@@ -34,87 +33,88 @@ files:
|
|
34
33
|
- Rakefile
|
35
34
|
- bin/serverside
|
36
35
|
- doc/rdoc
|
37
|
-
- doc/rdoc/classes
|
38
36
|
- doc/rdoc/created.rid
|
37
|
+
- doc/rdoc/rdoc-style.css
|
39
38
|
- doc/rdoc/files
|
40
|
-
- doc/rdoc/
|
39
|
+
- doc/rdoc/classes
|
41
40
|
- doc/rdoc/fr_file_index.html
|
41
|
+
- doc/rdoc/fr_class_index.html
|
42
42
|
- doc/rdoc/fr_method_index.html
|
43
43
|
- doc/rdoc/index.html
|
44
|
-
- doc/rdoc/
|
45
|
-
- doc/rdoc/
|
46
|
-
- doc/rdoc/
|
47
|
-
- doc/rdoc/
|
44
|
+
- doc/rdoc/files/README.html
|
45
|
+
- doc/rdoc/files/CHANGELOG.html
|
46
|
+
- doc/rdoc/files/COPYING.html
|
47
|
+
- doc/rdoc/files/lib
|
48
|
+
- doc/rdoc/files/lib/serverside_rb.html
|
49
|
+
- doc/rdoc/files/lib/serverside
|
50
|
+
- doc/rdoc/files/lib/serverside/server_rb.html
|
51
|
+
- doc/rdoc/files/lib/serverside/daemon_rb.html
|
52
|
+
- doc/rdoc/files/lib/serverside/application_rb.html
|
53
|
+
- doc/rdoc/files/lib/serverside/core_ext_rb.html
|
54
|
+
- doc/rdoc/files/lib/serverside/connection_rb.html
|
55
|
+
- doc/rdoc/files/lib/serverside/cluster_rb.html
|
56
|
+
- doc/rdoc/files/lib/serverside/static_rb.html
|
57
|
+
- doc/rdoc/files/lib/serverside/routing_rb.html
|
58
|
+
- doc/rdoc/files/lib/serverside/template_rb.html
|
59
|
+
- doc/rdoc/files/lib/serverside/request_rb.html
|
60
|
+
- doc/rdoc/classes/Symbol.html
|
48
61
|
- doc/rdoc/classes/Proc.html
|
49
|
-
- doc/rdoc/classes/
|
50
|
-
- doc/rdoc/classes/ServerSide.html
|
62
|
+
- doc/rdoc/classes/Object.html
|
51
63
|
- doc/rdoc/classes/String.html
|
52
|
-
- doc/rdoc/classes/
|
64
|
+
- doc/rdoc/classes/Daemon.html
|
65
|
+
- doc/rdoc/classes/Daemon
|
66
|
+
- doc/rdoc/classes/ServerSide.html
|
67
|
+
- doc/rdoc/classes/ServerSide
|
68
|
+
- doc/rdoc/classes/Daemon/PidFile.html
|
53
69
|
- doc/rdoc/classes/Daemon/Base.html
|
54
|
-
- doc/rdoc/classes/Daemon/Cluster
|
55
70
|
- doc/rdoc/classes/Daemon/Cluster.html
|
56
|
-
- doc/rdoc/classes/Daemon/
|
71
|
+
- doc/rdoc/classes/Daemon/Cluster
|
57
72
|
- doc/rdoc/classes/Daemon/Cluster/PidFile.html
|
73
|
+
- doc/rdoc/classes/ServerSide/StaticFiles.html
|
74
|
+
- doc/rdoc/classes/ServerSide/StaticFiles
|
58
75
|
- doc/rdoc/classes/ServerSide/Application.html
|
59
|
-
- doc/rdoc/classes/ServerSide/HTTP
|
60
76
|
- doc/rdoc/classes/ServerSide/HTTP.html
|
61
|
-
- doc/rdoc/classes/ServerSide/
|
62
|
-
- doc/rdoc/classes/ServerSide/StaticFiles
|
63
|
-
- doc/rdoc/classes/ServerSide/StaticFiles.html
|
77
|
+
- doc/rdoc/classes/ServerSide/HTTP
|
64
78
|
- doc/rdoc/classes/ServerSide/Template.html
|
65
|
-
- doc/rdoc/classes/ServerSide/
|
66
|
-
- doc/rdoc/classes/ServerSide/HTTP/Const.html
|
67
|
-
- doc/rdoc/classes/ServerSide/HTTP/Request.html
|
68
|
-
- doc/rdoc/classes/ServerSide/HTTP/Server.html
|
79
|
+
- doc/rdoc/classes/ServerSide/Router.html
|
69
80
|
- doc/rdoc/classes/ServerSide/StaticFiles/Const.html
|
70
|
-
- doc/rdoc/
|
71
|
-
- doc/rdoc/
|
72
|
-
- doc/rdoc/
|
73
|
-
-
|
74
|
-
-
|
75
|
-
- doc/rdoc/files/lib/serverside_rb.html
|
76
|
-
- doc/rdoc/files/lib/serverside/application_rb.html
|
77
|
-
- doc/rdoc/files/lib/serverside/cluster_rb.html
|
78
|
-
- doc/rdoc/files/lib/serverside/connection_rb.html
|
79
|
-
- doc/rdoc/files/lib/serverside/core_ext_rb.html
|
80
|
-
- doc/rdoc/files/lib/serverside/daemon_rb.html
|
81
|
-
- doc/rdoc/files/lib/serverside/request_rb.html
|
82
|
-
- doc/rdoc/files/lib/serverside/routing_rb.html
|
83
|
-
- doc/rdoc/files/lib/serverside/server_rb.html
|
84
|
-
- doc/rdoc/files/lib/serverside/static_rb.html
|
85
|
-
- doc/rdoc/files/lib/serverside/template_rb.html
|
81
|
+
- doc/rdoc/classes/ServerSide/HTTP/Server.html
|
82
|
+
- doc/rdoc/classes/ServerSide/HTTP/Request.html
|
83
|
+
- doc/rdoc/classes/ServerSide/HTTP/Connection.html
|
84
|
+
- test/unit
|
85
|
+
- test/test_helper.rb
|
86
86
|
- test/functional
|
87
87
|
- test/spec
|
88
|
-
- test/test_helper.rb
|
89
|
-
- test/unit
|
90
|
-
- test/functional/primitive_static_server_test.rb
|
91
|
-
- test/functional/routing_server.rb
|
92
|
-
- test/functional/routing_server_test.rb
|
93
|
-
- test/functional/static_profile.rb
|
94
|
-
- test/functional/static_rfuzz.rb
|
95
|
-
- test/functional/static_server_test.rb
|
96
|
-
- test/spec/core_ext_spec.rb
|
97
|
-
- test/unit/cluster_test.rb
|
98
|
-
- test/unit/connection_test.rb
|
99
|
-
- test/unit/core_ext_test.rb
|
100
88
|
- test/unit/daemon_test.rb
|
101
|
-
- test/unit/request_test.rb
|
102
|
-
- test/unit/routing_test.rb
|
103
89
|
- test/unit/server_test.rb
|
90
|
+
- test/unit/core_ext_test.rb
|
91
|
+
- test/unit/connection_test.rb
|
92
|
+
- test/unit/cluster_test.rb
|
104
93
|
- test/unit/static_test.rb
|
94
|
+
- test/unit/routing_test.rb
|
105
95
|
- test/unit/template_test.rb
|
106
|
-
-
|
96
|
+
- test/unit/request_test.rb
|
97
|
+
- test/functional/primitive_static_server_test.rb
|
98
|
+
- test/functional/static_server_test.rb
|
99
|
+
- test/functional/static_profile.rb
|
100
|
+
- test/functional/static_rfuzz.rb
|
101
|
+
- test/functional/routing_server.rb
|
102
|
+
- test/functional/routing_server_test.rb
|
103
|
+
- test/functional/request_body_test.rb
|
104
|
+
- test/spec/core_ext_spec.rb
|
105
|
+
- test/spec/connection_spec.rb
|
107
106
|
- lib/serverside.rb
|
107
|
+
- lib/serverside
|
108
|
+
- lib/serverside/server.rb
|
109
|
+
- lib/serverside/daemon.rb
|
108
110
|
- lib/serverside/application.rb
|
109
|
-
- lib/serverside/cluster.rb
|
110
|
-
- lib/serverside/connection.rb
|
111
111
|
- lib/serverside/core_ext.rb
|
112
|
-
- lib/serverside/
|
113
|
-
- lib/serverside/
|
114
|
-
- lib/serverside/routing.rb
|
115
|
-
- lib/serverside/server.rb
|
112
|
+
- lib/serverside/connection.rb
|
113
|
+
- lib/serverside/cluster.rb
|
116
114
|
- lib/serverside/static.rb
|
115
|
+
- lib/serverside/routing.rb
|
117
116
|
- lib/serverside/template.rb
|
117
|
+
- lib/serverside/request.rb
|
118
118
|
- CHANGELOG
|
119
119
|
test_files: []
|
120
120
|
|
@@ -1,257 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
|
6
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
-
<head>
|
8
|
-
<title>Module: ServerSide::HTTP::Const</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
-
<script type="text/javascript">
|
13
|
-
// <![CDATA[
|
14
|
-
|
15
|
-
function popupCode( url ) {
|
16
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
-
}
|
18
|
-
|
19
|
-
function toggleCode( id ) {
|
20
|
-
if ( document.getElementById )
|
21
|
-
elem = document.getElementById( id );
|
22
|
-
else if ( document.all )
|
23
|
-
elem = eval( "document.all." + id );
|
24
|
-
else
|
25
|
-
return false;
|
26
|
-
|
27
|
-
elemStyle = elem.style;
|
28
|
-
|
29
|
-
if ( elemStyle.display != "block" ) {
|
30
|
-
elemStyle.display = "block"
|
31
|
-
} else {
|
32
|
-
elemStyle.display = "none"
|
33
|
-
}
|
34
|
-
|
35
|
-
return true;
|
36
|
-
}
|
37
|
-
|
38
|
-
// Make codeblocks hidden by default
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
-
|
41
|
-
// ]]>
|
42
|
-
</script>
|
43
|
-
|
44
|
-
</head>
|
45
|
-
<body>
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
<div id="classHeader">
|
50
|
-
<table class="header-table">
|
51
|
-
<tr class="top-aligned-row">
|
52
|
-
<td><strong>Module</strong></td>
|
53
|
-
<td class="class-name-in-header">ServerSide::HTTP::Const</td>
|
54
|
-
</tr>
|
55
|
-
<tr class="top-aligned-row">
|
56
|
-
<td><strong>In:</strong></td>
|
57
|
-
<td>
|
58
|
-
<a href="../../../files/lib/serverside/request_rb.html">
|
59
|
-
lib/serverside/request.rb
|
60
|
-
</a>
|
61
|
-
<br />
|
62
|
-
</td>
|
63
|
-
</tr>
|
64
|
-
|
65
|
-
</table>
|
66
|
-
</div>
|
67
|
-
<!-- banner header -->
|
68
|
-
|
69
|
-
<div id="bodyContent">
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
<div id="contextContent">
|
74
|
-
|
75
|
-
<div id="description">
|
76
|
-
<p>
|
77
|
-
A bunch of frozen constants to make the parsing of requests and rendering
|
78
|
-
of responses faster than otherwise.
|
79
|
-
</p>
|
80
|
-
|
81
|
-
</div>
|
82
|
-
|
83
|
-
|
84
|
-
</div>
|
85
|
-
|
86
|
-
|
87
|
-
</div>
|
88
|
-
|
89
|
-
|
90
|
-
<!-- if includes -->
|
91
|
-
|
92
|
-
<div id="section">
|
93
|
-
|
94
|
-
|
95
|
-
<div id="constants-list">
|
96
|
-
<h3 class="section-bar">Constants</h3>
|
97
|
-
|
98
|
-
<div class="name-list">
|
99
|
-
<table summary="Constants">
|
100
|
-
<tr class="top-aligned-row context-row">
|
101
|
-
<td class="context-item-name">LineBreak</td>
|
102
|
-
<td>=</td>
|
103
|
-
<td class="context-item-value">"\r\n".freeze</td>
|
104
|
-
</tr>
|
105
|
-
<tr class="top-aligned-row context-row">
|
106
|
-
<td class="context-item-name">RequestRegexp</td>
|
107
|
-
<td>=</td>
|
108
|
-
<td class="context-item-value">/([A-Za-z0-9]+)\s(\/[^\/\?]*(?:\/[^\/\?]+)*)\/?(?:\?(.*))?\sHTTP\/(.+)\r/.freeze</td>
|
109
|
-
<td width="3em"> </td>
|
110
|
-
<td class="context-item-desc">
|
111
|
-
Here’s a nice one - parses the first line of a request. The expected
|
112
|
-
format is as follows: <method> </path>[/][?<query>] <a
|
113
|
-
href="../HTTP.html">HTTP</a>/<version>
|
114
|
-
|
115
|
-
</td>
|
116
|
-
</tr>
|
117
|
-
<tr class="top-aligned-row context-row">
|
118
|
-
<td class="context-item-name">HeaderRegexp</td>
|
119
|
-
<td>=</td>
|
120
|
-
<td class="context-item-value">/([^:]+):\s?(.*)\r\n/.freeze</td>
|
121
|
-
<td width="3em"> </td>
|
122
|
-
<td class="context-item-desc">
|
123
|
-
Regexp for parsing headers.
|
124
|
-
|
125
|
-
</td>
|
126
|
-
</tr>
|
127
|
-
<tr class="top-aligned-row context-row">
|
128
|
-
<td class="context-item-name">ContentLength</td>
|
129
|
-
<td>=</td>
|
130
|
-
<td class="context-item-value">'Content-Length'.freeze</td>
|
131
|
-
</tr>
|
132
|
-
<tr class="top-aligned-row context-row">
|
133
|
-
<td class="context-item-name">Version_1_1</td>
|
134
|
-
<td>=</td>
|
135
|
-
<td class="context-item-value">'1.1'.freeze</td>
|
136
|
-
</tr>
|
137
|
-
<tr class="top-aligned-row context-row">
|
138
|
-
<td class="context-item-name">Connection</td>
|
139
|
-
<td>=</td>
|
140
|
-
<td class="context-item-value">'Connection'.freeze</td>
|
141
|
-
</tr>
|
142
|
-
<tr class="top-aligned-row context-row">
|
143
|
-
<td class="context-item-name">Close</td>
|
144
|
-
<td>=</td>
|
145
|
-
<td class="context-item-value">'close'.freeze</td>
|
146
|
-
</tr>
|
147
|
-
<tr class="top-aligned-row context-row">
|
148
|
-
<td class="context-item-name">Ampersand</td>
|
149
|
-
<td>=</td>
|
150
|
-
<td class="context-item-value">'&'.freeze</td>
|
151
|
-
</tr>
|
152
|
-
<tr class="top-aligned-row context-row">
|
153
|
-
<td class="context-item-name">ParameterRegexp</td>
|
154
|
-
<td>=</td>
|
155
|
-
<td class="context-item-value">/(.+)=(.*)/.freeze</td>
|
156
|
-
<td width="3em"> </td>
|
157
|
-
<td class="context-item-desc">
|
158
|
-
Regexp for parsing URI parameters.
|
159
|
-
|
160
|
-
</td>
|
161
|
-
</tr>
|
162
|
-
<tr class="top-aligned-row context-row">
|
163
|
-
<td class="context-item-name">EqualSign</td>
|
164
|
-
<td>=</td>
|
165
|
-
<td class="context-item-value">'='.freeze</td>
|
166
|
-
</tr>
|
167
|
-
<tr class="top-aligned-row context-row">
|
168
|
-
<td class="context-item-name">StatusClose</td>
|
169
|
-
<td>=</td>
|
170
|
-
<td class="context-item-value">"HTTP/1.1 %d\r\nConnection: close\r\nContent-Type: %s\r\n%s%sContent-Length: %d\r\n\r\n".freeze</td>
|
171
|
-
</tr>
|
172
|
-
<tr class="top-aligned-row context-row">
|
173
|
-
<td class="context-item-name">StatusStream</td>
|
174
|
-
<td>=</td>
|
175
|
-
<td class="context-item-value">"HTTP/1.1 %d\r\nConnection: close\r\nContent-Type: %s\r\n%s%s\r\n".freeze</td>
|
176
|
-
</tr>
|
177
|
-
<tr class="top-aligned-row context-row">
|
178
|
-
<td class="context-item-name">StatusPersist</td>
|
179
|
-
<td>=</td>
|
180
|
-
<td class="context-item-value">"HTTP/1.1 %d\r\nContent-Type: %s\r\n%s%sContent-Length: %d\r\n\r\n".freeze</td>
|
181
|
-
</tr>
|
182
|
-
<tr class="top-aligned-row context-row">
|
183
|
-
<td class="context-item-name">StatusRedirect</td>
|
184
|
-
<td>=</td>
|
185
|
-
<td class="context-item-value">"HTTP/1.1 %d\r\nConnection: close\r\nLocation: %s\r\n\r\n".freeze</td>
|
186
|
-
</tr>
|
187
|
-
<tr class="top-aligned-row context-row">
|
188
|
-
<td class="context-item-name">Header</td>
|
189
|
-
<td>=</td>
|
190
|
-
<td class="context-item-value">"%s: %s\r\n".freeze</td>
|
191
|
-
</tr>
|
192
|
-
<tr class="top-aligned-row context-row">
|
193
|
-
<td class="context-item-name">EmptyString</td>
|
194
|
-
<td>=</td>
|
195
|
-
<td class="context-item-value">''.freeze</td>
|
196
|
-
</tr>
|
197
|
-
<tr class="top-aligned-row context-row">
|
198
|
-
<td class="context-item-name">EmptyHash</td>
|
199
|
-
<td>=</td>
|
200
|
-
<td class="context-item-value">{}.freeze</td>
|
201
|
-
</tr>
|
202
|
-
<tr class="top-aligned-row context-row">
|
203
|
-
<td class="context-item-name">Slash</td>
|
204
|
-
<td>=</td>
|
205
|
-
<td class="context-item-value">'/'.freeze</td>
|
206
|
-
</tr>
|
207
|
-
<tr class="top-aligned-row context-row">
|
208
|
-
<td class="context-item-name">Location</td>
|
209
|
-
<td>=</td>
|
210
|
-
<td class="context-item-value">'Location'.freeze</td>
|
211
|
-
</tr>
|
212
|
-
<tr class="top-aligned-row context-row">
|
213
|
-
<td class="context-item-name">Cookie</td>
|
214
|
-
<td>=</td>
|
215
|
-
<td class="context-item-value">'Cookie'</td>
|
216
|
-
</tr>
|
217
|
-
<tr class="top-aligned-row context-row">
|
218
|
-
<td class="context-item-name">SetCookie</td>
|
219
|
-
<td>=</td>
|
220
|
-
<td class="context-item-value">"Set-Cookie: %s=%s; path=/; expires=%s\r\n".freeze</td>
|
221
|
-
</tr>
|
222
|
-
<tr class="top-aligned-row context-row">
|
223
|
-
<td class="context-item-name">CookieSplit</td>
|
224
|
-
<td>=</td>
|
225
|
-
<td class="context-item-value">/[;,] */n.freeze</td>
|
226
|
-
</tr>
|
227
|
-
<tr class="top-aligned-row context-row">
|
228
|
-
<td class="context-item-name">CookieRegexp</td>
|
229
|
-
<td>=</td>
|
230
|
-
<td class="context-item-value">/\s*(.+)=(.*)\s*/.freeze</td>
|
231
|
-
</tr>
|
232
|
-
<tr class="top-aligned-row context-row">
|
233
|
-
<td class="context-item-name">CookieExpiredTime</td>
|
234
|
-
<td>=</td>
|
235
|
-
<td class="context-item-value">Time.at(0).freeze</td>
|
236
|
-
</tr>
|
237
|
-
</table>
|
238
|
-
</div>
|
239
|
-
</div>
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
<!-- if method_list -->
|
247
|
-
|
248
|
-
|
249
|
-
</div>
|
250
|
-
|
251
|
-
|
252
|
-
<div id="validator-badges">
|
253
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
254
|
-
</div>
|
255
|
-
|
256
|
-
</body>
|
257
|
-
</html>
|