rfuzz 0.7 → 0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/doc/rdoc/classes/RFuzz/Browser.html +15 -15
- data/doc/rdoc/classes/RFuzz/Browser.src/{M000068.html → M000083.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Browser.src/{M000069.html → M000084.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Browser.src/{M000070.html → M000085.html} +0 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.html +114 -57
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000019.html +12 -13
- data/doc/rdoc/classes/RFuzz/HttpClient.src/{M000011.html → M000020.html} +20 -20
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000021.html +28 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000022.html +30 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000023.html +35 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000024.html +22 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000025.html +44 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000026.html +38 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.src/{M000016.html → M000027.html} +12 -12
- data/doc/rdoc/classes/RFuzz/HttpClient.src/{M000017.html → M000028.html} +20 -20
- data/doc/rdoc/classes/RFuzz/HttpClient.src/{M000018.html → M000029.html} +4 -4
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000030.html +26 -0
- data/doc/rdoc/classes/RFuzz/HttpClientError.html +118 -0
- data/doc/rdoc/classes/RFuzz/HttpEncoding.html +7 -4
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000001.html +12 -12
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000002.html +4 -4
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000003.html +12 -12
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000004.html +4 -4
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000005.html +18 -18
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000006.html +4 -4
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000007.html +6 -6
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000008.html +6 -6
- data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000009.html +18 -18
- data/doc/rdoc/classes/RFuzz/HttpResponse.html +74 -13
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000031.html +22 -0
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000032.html +18 -0
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000033.html +18 -0
- data/doc/rdoc/classes/RFuzz/Notifier.html +49 -31
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000044.html → M000058.html} +3 -3
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000045.html → M000059.html} +3 -3
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000047.html → M000060.html} +2 -2
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000048.html → M000061.html} +2 -2
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000049.html → M000062.html} +2 -2
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000046.html → M000063.html} +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000064.html +17 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.html +296 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000010.html +19 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000011.html +20 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000012.html +19 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000013.html +18 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000014.html +44 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000015.html +18 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000016.html +18 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000017.html +18 -0
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000018.html +22 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.html +62 -62
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000032.html → M000046.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000033.html → M000047.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000036.html → M000050.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000037.html → M000051.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000038.html → M000052.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000039.html → M000053.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000040.html → M000054.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000041.html → M000055.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000042.html → M000056.html} +0 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/{M000043.html → M000057.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.html +60 -60
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000056.html → M000071.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000057.html → M000072.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000058.html → M000073.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000059.html → M000074.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000060.html → M000075.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000061.html → M000076.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000062.html → M000077.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000063.html → M000078.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000064.html → M000079.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000065.html → M000080.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000066.html → M000081.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Sampler.src/{M000067.html → M000082.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.html +63 -63
- data/doc/rdoc/classes/RFuzz/Session.src/{M000020.html → M000034.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000021.html → M000035.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000022.html → M000036.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000023.html → M000037.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000024.html → M000038.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000025.html → M000039.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000026.html → M000040.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000027.html → M000041.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000028.html → M000042.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000029.html → M000043.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000030.html → M000044.html} +0 -0
- data/doc/rdoc/classes/RFuzz/Session.src/{M000031.html → M000045.html} +0 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.html +32 -32
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000050.html → M000065.html} +0 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000051.html → M000066.html} +0 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000052.html → M000067.html} +0 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000053.html → M000068.html} +0 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000054.html → M000069.html} +0 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000055.html → M000070.html} +0 -0
- data/doc/rdoc/classes/RFuzz.html +7 -1
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/lib/rfuzz/client_rb.html +2 -2
- data/doc/rdoc/files/lib/rfuzz/pushbackio_rb.html +108 -0
- data/doc/rdoc/fr_class_index.html +2 -0
- data/doc/rdoc/fr_file_index.html +1 -0
- data/doc/rdoc/fr_method_index.html +76 -61
- data/examples/cl_watcher.rb +12 -9
- data/examples/hpricot_pudding.rb +1 -1
- data/examples/mongrel_test_suite/test/http/protocol_parameters.rb +0 -3
- data/examples/mongrel_test_suite/test/rails/catastrophe.rb +26 -0
- data/examples/mongrel_test_suite/test/rails/conditional.rb +81 -0
- data/examples/mongrel_test_suite/test/rails/put.rb +25 -0
- data/examples/mongrel_test_suite/test/rails/redirect.rb +13 -0
- data/examples/mongrel_test_suite/test/rails/static_files.rb +47 -2
- data/examples/rails_security_test.rb +61 -0
- data/ext/http11_client/http11_client.c +15 -1
- data/ext/http11_client/http11_parser.c +627 -203
- data/ext/http11_client/http11_parser.h +2 -0
- data/ext/http11_client/http11_parser.rl +8 -4
- data/lib/rfuzz/client.rb +124 -115
- data/lib/rfuzz/pushbackio.rb +90 -0
- metadata +86 -60
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000010.html +0 -24
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000012.html +0 -50
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000013.html +0 -49
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000014.html +0 -57
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000015.html +0 -37
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rfuzz
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: "0.
|
7
|
-
date: 2006-08-
|
6
|
+
version: "0.8"
|
7
|
+
date: 2006-08-13 00:00:00 -07:00
|
8
8
|
summary: The rfuzz web server destructor
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -45,6 +45,7 @@ files:
|
|
45
45
|
- doc/rdoc/files/README.html
|
46
46
|
- doc/rdoc/files/COPYING.html
|
47
47
|
- doc/rdoc/files/lib/rfuzz
|
48
|
+
- doc/rdoc/files/lib/rfuzz/pushbackio_rb.html
|
48
49
|
- doc/rdoc/files/lib/rfuzz/browser_rb.html
|
49
50
|
- doc/rdoc/files/lib/rfuzz/rfuzz_rb.html
|
50
51
|
- doc/rdoc/files/lib/rfuzz/client_rb.html
|
@@ -53,8 +54,10 @@ files:
|
|
53
54
|
- doc/rdoc/files/lib/rfuzz/random_rb.html
|
54
55
|
- doc/rdoc/classes/RFuzz
|
55
56
|
- doc/rdoc/classes/RFuzz.html
|
57
|
+
- doc/rdoc/classes/RFuzz/HttpClientError.html
|
56
58
|
- doc/rdoc/classes/RFuzz/StatsTracker.src
|
57
59
|
- doc/rdoc/classes/RFuzz/HttpEncoding.html
|
60
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.html
|
58
61
|
- doc/rdoc/classes/RFuzz/HttpClient.html
|
59
62
|
- doc/rdoc/classes/RFuzz/HttpResponse.html
|
60
63
|
- doc/rdoc/classes/RFuzz/HttpClient.src
|
@@ -64,28 +67,32 @@ files:
|
|
64
67
|
- doc/rdoc/classes/RFuzz/Browser.html
|
65
68
|
- doc/rdoc/classes/RFuzz/Sampler.src
|
66
69
|
- doc/rdoc/classes/RFuzz/Session.html
|
70
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src
|
67
71
|
- doc/rdoc/classes/RFuzz/Notifier.html
|
68
72
|
- doc/rdoc/classes/RFuzz/Notifier.src
|
69
73
|
- doc/rdoc/classes/RFuzz/Sampler.html
|
74
|
+
- doc/rdoc/classes/RFuzz/HttpResponse.src
|
70
75
|
- doc/rdoc/classes/RFuzz/Browser.src
|
71
76
|
- doc/rdoc/classes/RFuzz/RandomGenerator.html
|
72
77
|
- doc/rdoc/classes/RFuzz/RandomGenerator.src
|
73
|
-
- doc/rdoc/classes/RFuzz/StatsTracker.src/
|
74
|
-
- doc/rdoc/classes/RFuzz/StatsTracker.src/
|
75
|
-
- doc/rdoc/classes/RFuzz/StatsTracker.src/
|
76
|
-
- doc/rdoc/classes/RFuzz/StatsTracker.src/
|
77
|
-
- doc/rdoc/classes/RFuzz/StatsTracker.src/
|
78
|
-
- doc/rdoc/classes/RFuzz/StatsTracker.src/
|
79
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000010.html
|
80
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000011.html
|
81
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000012.html
|
82
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000013.html
|
83
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000014.html
|
84
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000015.html
|
85
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000016.html
|
86
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000017.html
|
87
|
-
- doc/rdoc/classes/RFuzz/HttpClient.src/M000018.html
|
78
|
+
- doc/rdoc/classes/RFuzz/StatsTracker.src/M000065.html
|
79
|
+
- doc/rdoc/classes/RFuzz/StatsTracker.src/M000066.html
|
80
|
+
- doc/rdoc/classes/RFuzz/StatsTracker.src/M000067.html
|
81
|
+
- doc/rdoc/classes/RFuzz/StatsTracker.src/M000068.html
|
82
|
+
- doc/rdoc/classes/RFuzz/StatsTracker.src/M000069.html
|
83
|
+
- doc/rdoc/classes/RFuzz/StatsTracker.src/M000070.html
|
88
84
|
- doc/rdoc/classes/RFuzz/HttpClient.src/M000019.html
|
85
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000020.html
|
86
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000021.html
|
87
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000022.html
|
88
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000023.html
|
89
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000024.html
|
90
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000025.html
|
91
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000026.html
|
92
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000027.html
|
93
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000028.html
|
94
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000029.html
|
95
|
+
- doc/rdoc/classes/RFuzz/HttpClient.src/M000030.html
|
89
96
|
- doc/rdoc/classes/RFuzz/HttpEncoding.src/M000008.html
|
90
97
|
- doc/rdoc/classes/RFuzz/HttpEncoding.src/M000009.html
|
91
98
|
- doc/rdoc/classes/RFuzz/HttpEncoding.src/M000001.html
|
@@ -95,49 +102,62 @@ files:
|
|
95
102
|
- doc/rdoc/classes/RFuzz/HttpEncoding.src/M000005.html
|
96
103
|
- doc/rdoc/classes/RFuzz/HttpEncoding.src/M000006.html
|
97
104
|
- doc/rdoc/classes/RFuzz/HttpEncoding.src/M000007.html
|
98
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
99
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
100
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
101
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
102
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
103
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
104
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
105
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
106
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
107
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
108
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
109
|
-
- doc/rdoc/classes/RFuzz/Session.src/
|
110
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
111
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
112
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
113
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
114
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
115
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
116
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
117
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
118
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
119
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
120
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
121
|
-
- doc/rdoc/classes/RFuzz/Sampler.src/
|
122
|
-
- doc/rdoc/classes/RFuzz/
|
123
|
-
- doc/rdoc/classes/RFuzz/
|
124
|
-
- doc/rdoc/classes/RFuzz/
|
125
|
-
- doc/rdoc/classes/RFuzz/
|
126
|
-
- doc/rdoc/classes/RFuzz/
|
127
|
-
- doc/rdoc/classes/RFuzz/
|
128
|
-
- doc/rdoc/classes/RFuzz/
|
129
|
-
- doc/rdoc/classes/RFuzz/
|
130
|
-
- doc/rdoc/classes/RFuzz/
|
131
|
-
- doc/rdoc/classes/RFuzz/
|
132
|
-
- doc/rdoc/classes/RFuzz/
|
133
|
-
- doc/rdoc/classes/RFuzz/
|
134
|
-
- doc/rdoc/classes/RFuzz/
|
135
|
-
- doc/rdoc/classes/RFuzz/
|
136
|
-
- doc/rdoc/classes/RFuzz/
|
137
|
-
- doc/rdoc/classes/RFuzz/
|
138
|
-
- doc/rdoc/classes/RFuzz/
|
139
|
-
- doc/rdoc/classes/RFuzz/
|
140
|
-
- doc/rdoc/classes/RFuzz/
|
105
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000034.html
|
106
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000035.html
|
107
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000036.html
|
108
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000037.html
|
109
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000038.html
|
110
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000039.html
|
111
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000040.html
|
112
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000041.html
|
113
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000042.html
|
114
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000043.html
|
115
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000044.html
|
116
|
+
- doc/rdoc/classes/RFuzz/Session.src/M000045.html
|
117
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000076.html
|
118
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000077.html
|
119
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000078.html
|
120
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000079.html
|
121
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000080.html
|
122
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000081.html
|
123
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000082.html
|
124
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000071.html
|
125
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000072.html
|
126
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000073.html
|
127
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000074.html
|
128
|
+
- doc/rdoc/classes/RFuzz/Sampler.src/M000075.html
|
129
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000010.html
|
130
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000011.html
|
131
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000012.html
|
132
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000013.html
|
133
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000014.html
|
134
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000015.html
|
135
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000016.html
|
136
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000017.html
|
137
|
+
- doc/rdoc/classes/RFuzz/PushBackIO.src/M000018.html
|
138
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000058.html
|
139
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000059.html
|
140
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000060.html
|
141
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000061.html
|
142
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000062.html
|
143
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000063.html
|
144
|
+
- doc/rdoc/classes/RFuzz/Notifier.src/M000064.html
|
145
|
+
- doc/rdoc/classes/RFuzz/HttpResponse.src/M000031.html
|
146
|
+
- doc/rdoc/classes/RFuzz/HttpResponse.src/M000032.html
|
147
|
+
- doc/rdoc/classes/RFuzz/HttpResponse.src/M000033.html
|
148
|
+
- doc/rdoc/classes/RFuzz/Browser.src/M000083.html
|
149
|
+
- doc/rdoc/classes/RFuzz/Browser.src/M000084.html
|
150
|
+
- doc/rdoc/classes/RFuzz/Browser.src/M000085.html
|
151
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000046.html
|
152
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000047.html
|
153
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000050.html
|
154
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000051.html
|
155
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000052.html
|
156
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000053.html
|
157
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000054.html
|
158
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000055.html
|
159
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000056.html
|
160
|
+
- doc/rdoc/classes/RFuzz/RandomGenerator.src/M000057.html
|
141
161
|
- ext/http11_client/http11_parser.h
|
142
162
|
- ext/http11_client/ext_help.h
|
143
163
|
- ext/fuzzrnd/ext_help.h
|
@@ -146,6 +166,7 @@ files:
|
|
146
166
|
- ext/fuzzrnd/fuzzrnd.c
|
147
167
|
- ext/http11_client/extconf.rb
|
148
168
|
- ext/fuzzrnd/extconf.rb
|
169
|
+
- examples/rails_security_test.rb
|
149
170
|
- examples/cl_watcher.rb
|
150
171
|
- examples/kill_routes.rb
|
151
172
|
- examples/perftest.rb
|
@@ -169,8 +190,12 @@ files:
|
|
169
190
|
- examples/mongrel_test_suite/test/http/connections.rb
|
170
191
|
- examples/mongrel_test_suite/test/nitro/upload_file.rb
|
171
192
|
- examples/mongrel_test_suite/test/nitro/upload_progress.rb
|
193
|
+
- examples/mongrel_test_suite/test/rails/catastrophe.rb
|
172
194
|
- examples/mongrel_test_suite/test/rails/upload_file.rb
|
195
|
+
- examples/mongrel_test_suite/test/rails/redirect.rb
|
196
|
+
- examples/mongrel_test_suite/test/rails/conditional.rb
|
173
197
|
- examples/mongrel_test_suite/test/rails/static_files.rb
|
198
|
+
- examples/mongrel_test_suite/test/rails/put.rb
|
174
199
|
- examples/mongrel_test_suite/test/rails/upload_progress.rb
|
175
200
|
- examples/mongrel_test_suite/test/camping/upload_file.rb
|
176
201
|
- examples/mongrel_test_suite/test/camping/static_files.rb
|
@@ -179,6 +204,7 @@ files:
|
|
179
204
|
- lib/rfuzz/browser.rb
|
180
205
|
- lib/rfuzz/rfuzz.rb
|
181
206
|
- lib/rfuzz/random.rb
|
207
|
+
- lib/rfuzz/pushbackio.rb
|
182
208
|
- lib/rfuzz/client.rb
|
183
209
|
- lib/rfuzz/stats.rb
|
184
210
|
- lib/rfuzz/session.rb
|
@@ -1,24 +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>
|
7
|
-
<head>
|
8
|
-
<title>new (RFuzz::HttpClient)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/client.rb, line 214</span>
|
14
|
-
214: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>, <span class="ruby-identifier">options</span> = {})
|
15
|
-
215: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
|
16
|
-
216: <span class="ruby-ivar">@host</span> = <span class="ruby-identifier">host</span>
|
17
|
-
217: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">port</span>
|
18
|
-
218: <span class="ruby-ivar">@cookies</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:cookies</span>] <span class="ruby-operator">||</span> {}
|
19
|
-
219: <span class="ruby-ivar">@allowed_methods</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:allowed_methods</span>] <span class="ruby-operator">||</span> [<span class="ruby-identifier">:put</span>, <span class="ruby-identifier">:get</span>, <span class="ruby-identifier">:post</span>, <span class="ruby-identifier">:delete</span>, <span class="ruby-identifier">:head</span>]
|
20
|
-
220: <span class="ruby-ivar">@notifier</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:notifier</span>]
|
21
|
-
221: <span class="ruby-ivar">@redirect</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:redirect</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
|
22
|
-
222: <span class="ruby-keyword kw">end</span></pre>
|
23
|
-
</body>
|
24
|
-
</html>
|
@@ -1,50 +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>
|
7
|
-
<head>
|
8
|
-
<title>read_chunks (RFuzz::HttpClient)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/client.rb, line 250</span>
|
14
|
-
250: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_chunks</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">out</span>, <span class="ruby-identifier">parser</span>)
|
15
|
-
251: <span class="ruby-keyword kw">begin</span>
|
16
|
-
252: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">input</span>.<span class="ruby-identifier">closed?</span>
|
17
|
-
253: <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">reset</span>
|
18
|
-
254: <span class="ruby-identifier">chunk</span> = <span class="ruby-constant">HttpResponse</span>.<span class="ruby-identifier">new</span>
|
19
|
-
255: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">input</span>.<span class="ruby-identifier">readline</span>(<span class="ruby-value str">"\r\n"</span>)
|
20
|
-
256: <span class="ruby-identifier">nread</span> = <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">execute</span>(<span class="ruby-identifier">chunk</span>, <span class="ruby-identifier">line</span>, <span class="ruby-value">0</span>)
|
21
|
-
257:
|
22
|
-
258: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">parser</span>.<span class="ruby-identifier">finished?</span>
|
23
|
-
259: <span class="ruby-comment cmt"># tried to read this header but couldn't</span>
|
24
|
-
260: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:incomplete_header</span>, <span class="ruby-identifier">line</span>
|
25
|
-
261: <span class="ruby-keyword kw">end</span>
|
26
|
-
262:
|
27
|
-
263: <span class="ruby-identifier">size</span> = <span class="ruby-identifier">chunk</span>.<span class="ruby-identifier">http_chunk_size</span> <span class="ruby-value">? </span><span class="ruby-identifier">chunk</span>.<span class="ruby-identifier">http_chunk_size</span>.<span class="ruby-identifier">to_i</span>(<span class="ruby-identifier">base</span>=<span class="ruby-value">16</span>) <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
28
|
-
264:
|
29
|
-
265: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
30
|
-
266: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:finished</span>, <span class="ruby-keyword kw">nil</span>
|
31
|
-
267: <span class="ruby-keyword kw">end</span>
|
32
|
-
268:
|
33
|
-
269: <span class="ruby-identifier">remain</span> = <span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">input</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">size</span>))
|
34
|
-
270: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:incomplete_body</span>, <span class="ruby-identifier">remain</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">remain</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
35
|
-
271:
|
36
|
-
272: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">input</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">2</span>)
|
37
|
-
273: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-value">2</span>
|
38
|
-
274: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:incomplete_trailer</span>, <span class="ruby-identifier">line</span>
|
39
|
-
275: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">"\r\n"</span>
|
40
|
-
276: <span class="ruby-identifier">raise</span> <span class="ruby-constant">HttpClientParserError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"invalid chunked encoding trailer"</span>)
|
41
|
-
277: <span class="ruby-keyword kw">end</span>
|
42
|
-
278: <span class="ruby-keyword kw">end</span>
|
43
|
-
279: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">EOFError</span>
|
44
|
-
280: <span class="ruby-comment cmt"># this is thrown when the header read is attempted and </span>
|
45
|
-
281: <span class="ruby-comment cmt"># there's nothing in the buffer</span>
|
46
|
-
282: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:eof_error</span>, <span class="ruby-keyword kw">nil</span>
|
47
|
-
283: <span class="ruby-keyword kw">end</span>
|
48
|
-
284: <span class="ruby-keyword kw">end</span></pre>
|
49
|
-
</body>
|
50
|
-
</html>
|
@@ -1,49 +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>
|
7
|
-
<head>
|
8
|
-
<title>read_chunked_encoding (RFuzz::HttpClient)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/client.rb, line 286</span>
|
14
|
-
286: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_chunked_encoding</span>(<span class="ruby-identifier">resp</span>, <span class="ruby-identifier">sock</span>, <span class="ruby-identifier">parser</span>)
|
15
|
-
287: <span class="ruby-identifier">out</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
|
16
|
-
288: <span class="ruby-identifier">input</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span>)
|
17
|
-
289:
|
18
|
-
290: <span class="ruby-comment cmt"># read from the http body first, then continue at the socket</span>
|
19
|
-
291: <span class="ruby-identifier">status</span>, <span class="ruby-identifier">result</span> = <span class="ruby-identifier">read_chunks</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">out</span>, <span class="ruby-identifier">parser</span>)
|
20
|
-
292:
|
21
|
-
293: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">status</span>
|
22
|
-
294: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:incomplete_trailer</span>
|
23
|
-
295: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">nil?</span>
|
24
|
-
296: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">2</span>)
|
25
|
-
297: <span class="ruby-keyword kw">else</span>
|
26
|
-
298: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">read</span>((<span class="ruby-identifier">result</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">abs</span>)
|
27
|
-
299: <span class="ruby-keyword kw">end</span>
|
28
|
-
300: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:incomplete_body</span>
|
29
|
-
301: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">sock</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">result</span>)) <span class="ruby-comment cmt"># read the remaining</span>
|
30
|
-
302: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">2</span>)
|
31
|
-
303: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:incomplete_header</span>
|
32
|
-
304: <span class="ruby-comment cmt"># push what we read back onto the socket, but backwards</span>
|
33
|
-
305: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">reverse!</span>
|
34
|
-
306: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">each_byte</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">ungetc</span>(<span class="ruby-identifier">b</span>) }
|
35
|
-
307: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:finished</span>
|
36
|
-
308: <span class="ruby-comment cmt"># all done, get out</span>
|
37
|
-
309: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>; <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">read</span>
|
38
|
-
310: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:eof_error</span>
|
39
|
-
311: <span class="ruby-comment cmt"># read everything we could, ignore</span>
|
40
|
-
312: <span class="ruby-keyword kw">end</span>
|
41
|
-
313:
|
42
|
-
314: <span class="ruby-comment cmt"># then continue reading them from the socket</span>
|
43
|
-
315: <span class="ruby-identifier">status</span>, <span class="ruby-identifier">result</span> = <span class="ruby-identifier">read_chunks</span>(<span class="ruby-identifier">sock</span>, <span class="ruby-identifier">out</span>, <span class="ruby-identifier">parser</span>)
|
44
|
-
316:
|
45
|
-
317: <span class="ruby-comment cmt"># and now the http_body is the chunk</span>
|
46
|
-
318: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>; <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">read</span>
|
47
|
-
319: <span class="ruby-keyword kw">end</span></pre>
|
48
|
-
</body>
|
49
|
-
</html>
|
@@ -1,57 +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>
|
7
|
-
<head>
|
8
|
-
<title>read_response (RFuzz::HttpClient)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/client.rb, line 328</span>
|
14
|
-
328: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_response</span>(<span class="ruby-identifier">sock</span>)
|
15
|
-
329: <span class="ruby-identifier">data</span>, <span class="ruby-identifier">resp</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>
|
16
|
-
330: <span class="ruby-identifier">parser</span> = <span class="ruby-constant">HttpClientParser</span>.<span class="ruby-identifier">new</span>
|
17
|
-
331: <span class="ruby-identifier">resp</span> = <span class="ruby-constant">HttpResponse</span>.<span class="ruby-identifier">new</span>
|
18
|
-
332:
|
19
|
-
333: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:read_header</span> <span class="ruby-keyword kw">do</span>
|
20
|
-
334: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-value">1024</span>)
|
21
|
-
335: <span class="ruby-identifier">nread</span> = <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">execute</span>(<span class="ruby-identifier">resp</span>, <span class="ruby-identifier">data</span>, <span class="ruby-value">0</span>)
|
22
|
-
336:
|
23
|
-
337: <span class="ruby-keyword kw">while</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">finished?</span>
|
24
|
-
338: <span class="ruby-identifier">data</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-value">1024</span>)
|
25
|
-
339: <span class="ruby-identifier">nread</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">execute</span>(<span class="ruby-identifier">resp</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">nread</span>)
|
26
|
-
340: <span class="ruby-keyword kw">end</span>
|
27
|
-
341: <span class="ruby-keyword kw">end</span>
|
28
|
-
342:
|
29
|
-
343: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:read_body</span> <span class="ruby-keyword kw">do</span>
|
30
|
-
344: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resp</span>[<span class="ruby-constant">TRANSFER_ENCODING</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">resp</span>[<span class="ruby-constant">TRANSFER_ENCODING</span>].<span class="ruby-identifier">index</span>(<span class="ruby-value str">"chunked"</span>)
|
31
|
-
345: <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span> = <span class="ruby-identifier">read_chunked_encoding</span>(<span class="ruby-identifier">resp</span>, <span class="ruby-identifier">sock</span>, <span class="ruby-identifier">parser</span>)
|
32
|
-
346: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">resp</span>[<span class="ruby-constant">CONTENT_LENGTH</span>]
|
33
|
-
347: <span class="ruby-identifier">cl</span> = <span class="ruby-identifier">resp</span>[<span class="ruby-constant">CONTENT_LENGTH</span>].<span class="ruby-identifier">to_i</span>
|
34
|
-
348: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cl</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
35
|
-
349: <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">cl</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span>.<span class="ruby-identifier">length</span>)
|
36
|
-
350: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">cl</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span>.<span class="ruby-identifier">length</span>
|
37
|
-
351: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"Web site sucks, they said Content-Length: #{cl}, but sent a longer body length: #{resp.http_body.length}"</span>
|
38
|
-
352: <span class="ruby-keyword kw">end</span>
|
39
|
-
353: <span class="ruby-keyword kw">else</span>
|
40
|
-
354: <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">http_body</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">read</span>
|
41
|
-
355: <span class="ruby-keyword kw">end</span>
|
42
|
-
356: <span class="ruby-keyword kw">end</span>
|
43
|
-
357:
|
44
|
-
358: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resp</span>[<span class="ruby-constant">SET_COOKIE</span>]
|
45
|
-
359: <span class="ruby-identifier">cookies</span> = <span class="ruby-identifier">query_parse</span>(<span class="ruby-identifier">resp</span>[<span class="ruby-constant">SET_COOKIE</span>], <span class="ruby-value str">';,'</span>)
|
46
|
-
360: <span class="ruby-ivar">@cookies</span>.<span class="ruby-identifier">merge!</span> <span class="ruby-identifier">cookies</span>
|
47
|
-
361: <span class="ruby-ivar">@cookies</span>.<span class="ruby-identifier">delete</span> <span class="ruby-value str">"path"</span>
|
48
|
-
362: <span class="ruby-keyword kw">end</span>
|
49
|
-
363:
|
50
|
-
364: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:close</span> <span class="ruby-keyword kw">do</span>
|
51
|
-
365: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">close</span>
|
52
|
-
366: <span class="ruby-keyword kw">end</span>
|
53
|
-
367:
|
54
|
-
368: <span class="ruby-identifier">resp</span>
|
55
|
-
369: <span class="ruby-keyword kw">end</span></pre>
|
56
|
-
</body>
|
57
|
-
</html>
|
@@ -1,37 +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>
|
7
|
-
<head>
|
8
|
-
<title>send_request (RFuzz::HttpClient)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/client.rb, line 373</span>
|
14
|
-
373: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_request</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">uri</span>, <span class="ruby-identifier">req</span>)
|
15
|
-
374: <span class="ruby-keyword kw">begin</span>
|
16
|
-
375: <span class="ruby-identifier">sock</span> = <span class="ruby-keyword kw">nil</span>
|
17
|
-
376: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:connect</span> <span class="ruby-keyword kw">do</span>
|
18
|
-
377: <span class="ruby-identifier">sock</span> = <span class="ruby-constant">TCPSocket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@host</span>, <span class="ruby-ivar">@port</span>)
|
19
|
-
378: <span class="ruby-keyword kw">end</span>
|
20
|
-
379:
|
21
|
-
380: <span class="ruby-identifier">out</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
|
22
|
-
381: <span class="ruby-identifier">body</span> = <span class="ruby-identifier">build_request</span>(<span class="ruby-identifier">out</span>, <span class="ruby-identifier">method</span>, <span class="ruby-identifier">uri</span>, <span class="ruby-identifier">req</span>)
|
23
|
-
382:
|
24
|
-
383: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:send_request</span> <span class="ruby-keyword kw">do</span>
|
25
|
-
384: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">out</span>.<span class="ruby-identifier">string</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">body</span>)
|
26
|
-
385: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">flush</span>
|
27
|
-
386: <span class="ruby-keyword kw">end</span>
|
28
|
-
387:
|
29
|
-
388: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">read_response</span>(<span class="ruby-identifier">sock</span>)
|
30
|
-
389: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Object</span>
|
31
|
-
390: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">$!</span>
|
32
|
-
391: <span class="ruby-keyword kw">ensure</span>
|
33
|
-
392: <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">sock</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">sock</span>.<span class="ruby-identifier">closed?</span>)
|
34
|
-
393: <span class="ruby-keyword kw">end</span>
|
35
|
-
394: <span class="ruby-keyword kw">end</span></pre>
|
36
|
-
</body>
|
37
|
-
</html>
|