rfuzz 0.8 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/Rakefile +1 -1
  2. data/doc/rdoc/classes/RFuzz.html +1 -1
  3. data/doc/rdoc/classes/RFuzz/Browser.html +15 -15
  4. data/doc/rdoc/classes/RFuzz/Browser.src/M000084.html +12 -10
  5. data/doc/rdoc/classes/RFuzz/Browser.src/M000085.html +10 -11
  6. data/doc/rdoc/classes/RFuzz/Browser.src/M000086.html +24 -0
  7. data/doc/rdoc/classes/RFuzz/HttpClient.html +72 -64
  8. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000020.html +12 -21
  9. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000021.html +21 -15
  10. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000022.html +15 -17
  11. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000023.html +17 -22
  12. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000024.html +22 -9
  13. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000025.html +9 -31
  14. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000026.html +31 -25
  15. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000027.html +25 -13
  16. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000028.html +13 -21
  17. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000029.html +21 -5
  18. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000030.html +5 -13
  19. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000031.html +26 -0
  20. data/doc/rdoc/classes/RFuzz/HttpResponse.html +15 -15
  21. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000032.html +9 -5
  22. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000033.html +5 -5
  23. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000034.html +18 -0
  24. data/doc/rdoc/classes/RFuzz/Notifier.html +36 -36
  25. data/doc/rdoc/classes/RFuzz/Notifier.src/M000059.html +4 -4
  26. data/doc/rdoc/classes/RFuzz/Notifier.src/M000060.html +4 -4
  27. data/doc/rdoc/classes/RFuzz/Notifier.src/M000061.html +4 -4
  28. data/doc/rdoc/classes/RFuzz/Notifier.src/M000062.html +4 -4
  29. data/doc/rdoc/classes/RFuzz/Notifier.src/M000063.html +4 -4
  30. data/doc/rdoc/classes/RFuzz/Notifier.src/M000064.html +4 -4
  31. data/doc/rdoc/classes/RFuzz/Notifier.src/{M000058.html → M000065.html} +4 -4
  32. data/doc/rdoc/classes/RFuzz/PushBackIO.html +55 -40
  33. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000010.html +2 -1
  34. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000011.html +6 -5
  35. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000012.html +8 -6
  36. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000013.html +7 -5
  37. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000014.html +6 -31
  38. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000015.html +32 -5
  39. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000016.html +6 -5
  40. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000017.html +6 -5
  41. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000018.html +5 -9
  42. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000019.html +22 -0
  43. data/doc/rdoc/classes/RFuzz/RandomGenerator.html +62 -62
  44. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000047.html +8 -10
  45. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000048.html +23 -0
  46. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000051.html +9 -7
  47. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000052.html +7 -9
  48. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000053.html +9 -7
  49. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000054.html +7 -5
  50. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000055.html +5 -5
  51. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000056.html +5 -9
  52. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000057.html +9 -5
  53. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000058.html +18 -0
  54. data/doc/rdoc/classes/RFuzz/Sampler.html +60 -60
  55. data/doc/rdoc/classes/RFuzz/Sampler.src/M000072.html +6 -10
  56. data/doc/rdoc/classes/RFuzz/Sampler.src/M000073.html +10 -13
  57. data/doc/rdoc/classes/RFuzz/Sampler.src/M000074.html +13 -5
  58. data/doc/rdoc/classes/RFuzz/Sampler.src/M000075.html +5 -5
  59. data/doc/rdoc/classes/RFuzz/Sampler.src/M000076.html +5 -5
  60. data/doc/rdoc/classes/RFuzz/Sampler.src/M000077.html +5 -5
  61. data/doc/rdoc/classes/RFuzz/Sampler.src/M000078.html +5 -6
  62. data/doc/rdoc/classes/RFuzz/Sampler.src/M000079.html +6 -5
  63. data/doc/rdoc/classes/RFuzz/Sampler.src/M000080.html +5 -10
  64. data/doc/rdoc/classes/RFuzz/Sampler.src/M000081.html +10 -5
  65. data/doc/rdoc/classes/RFuzz/Sampler.src/M000082.html +5 -7
  66. data/doc/rdoc/classes/RFuzz/Sampler.src/M000083.html +20 -0
  67. data/doc/rdoc/classes/RFuzz/Session.html +63 -63
  68. data/doc/rdoc/classes/RFuzz/Session.src/M000035.html +18 -5
  69. data/doc/rdoc/classes/RFuzz/Session.src/M000036.html +5 -5
  70. data/doc/rdoc/classes/RFuzz/Session.src/M000037.html +5 -21
  71. data/doc/rdoc/classes/RFuzz/Session.src/M000038.html +21 -6
  72. data/doc/rdoc/classes/RFuzz/Session.src/M000039.html +6 -6
  73. data/doc/rdoc/classes/RFuzz/Session.src/M000040.html +6 -13
  74. data/doc/rdoc/classes/RFuzz/Session.src/M000041.html +13 -16
  75. data/doc/rdoc/classes/RFuzz/Session.src/M000042.html +16 -6
  76. data/doc/rdoc/classes/RFuzz/Session.src/M000043.html +6 -5
  77. data/doc/rdoc/classes/RFuzz/Session.src/M000044.html +5 -5
  78. data/doc/rdoc/classes/RFuzz/Session.src/M000045.html +5 -10
  79. data/doc/rdoc/classes/RFuzz/Session.src/M000046.html +23 -0
  80. data/doc/rdoc/classes/RFuzz/StatsTracker.html +32 -32
  81. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000066.html +6 -6
  82. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000067.html +6 -5
  83. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000068.html +5 -5
  84. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000069.html +5 -15
  85. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000070.html +15 -5
  86. data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000065.html → M000071.html} +5 -6
  87. data/doc/rdoc/created.rid +1 -1
  88. data/doc/rdoc/files/lib/rfuzz/client_rb.html +1 -1
  89. data/doc/rdoc/files/lib/rfuzz/pushbackio_rb.html +1 -1
  90. data/doc/rdoc/files/lib/rfuzz/session_rb.html +1 -1
  91. data/doc/rdoc/fr_method_index.html +76 -75
  92. data/examples/kill_routes.rb +5 -4
  93. data/examples/mongrel_test_suite/test/rails/put.rb +14 -7
  94. data/examples/random_sockets.rb +37 -0
  95. data/examples/randomizer.rb +19 -0
  96. data/ext/http11_client/http11_parser.c +33 -34
  97. data/lib/rfuzz/client.rb +1 -1
  98. data/lib/rfuzz/pushbackio.rb +16 -2
  99. data/lib/rfuzz/session.rb +1 -1
  100. metadata +14 -11
  101. data/doc/rdoc/classes/RFuzz/Browser.src/M000083.html +0 -25
  102. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000019.html +0 -25
  103. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000031.html +0 -22
  104. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000046.html +0 -21
  105. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000050.html +0 -22
  106. data/doc/rdoc/classes/RFuzz/Sampler.src/M000071.html +0 -19
  107. data/doc/rdoc/classes/RFuzz/Session.src/M000034.html +0 -31
@@ -14,6 +14,7 @@
14
14
  11: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">secondary</span>)
15
15
  12: <span class="ruby-ivar">@secondary</span> = <span class="ruby-identifier">secondary</span>
16
16
  13: <span class="ruby-ivar">@buffer</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
17
- 14: <span class="ruby-keyword kw">end</span></pre>
17
+ 14: <span class="ruby-ivar">@die_after</span> = <span class="ruby-identifier">rand</span>(<span class="ruby-identifier">$io_death_count</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$io_death_count</span>
18
+ 15: <span class="ruby-keyword kw">end</span></pre>
18
19
  </body>
19
20
  </html>
@@ -5,15 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>push (RFuzz::PushBackIO)</title>
8
+ <title>random_death (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 18</span>
14
- 18: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">content</span>)
15
- 19: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">content</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
16
- 20: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">content</span>)
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 17</span>
14
+ 17: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">random_death</span>
15
+ 18: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$io_death_count</span>
16
+ 19: <span class="ruby-ivar">@die_after</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
17
+ 20: <span class="ruby-identifier">close</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@die_after</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
17
18
  21: <span class="ruby-keyword kw">end</span>
18
19
  22: <span class="ruby-keyword kw">end</span></pre>
19
20
  </body>
@@ -5,15 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>pop (RFuzz::PushBackIO)</title>
8
+ <title>push (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 24</span>
14
- 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pop</span>(<span class="ruby-identifier">n</span>)
15
- 25: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">rewind</span>
16
- 26: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span>) <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>
17
- 27: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 26</span>
14
+ 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">content</span>)
15
+ 27: <span class="ruby-identifier">random_death</span>
16
+ 28: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">content</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
17
+ 29: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">content</span>)
18
+ 30: <span class="ruby-keyword kw">end</span>
19
+ 31: <span class="ruby-keyword kw">end</span></pre>
18
20
  </body>
19
21
  </html>
@@ -5,14 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>reset (RFuzz::PushBackIO)</title>
8
+ <title>pop (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 29</span>
14
- 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
15
- 30: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">string</span> = <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">read</span> <span class="ruby-comment cmt"># reset out internal buffer</span>
16
- 31: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 33</span>
14
+ 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pop</span>(<span class="ruby-identifier">n</span>)
15
+ 34: <span class="ruby-identifier">random_death</span>
16
+ 35: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">rewind</span>
17
+ 36: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span>) <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>
18
+ 37: <span class="ruby-keyword kw">end</span></pre>
17
19
  </body>
18
20
  </html>
@@ -5,40 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>read (RFuzz::PushBackIO)</title>
8
+ <title>reset (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 40</span>
14
- 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">partial</span>=<span class="ruby-keyword kw">false</span>)
15
- 41: <span class="ruby-identifier">r</span> = <span class="ruby-identifier">pop</span>(<span class="ruby-identifier">n</span>)
16
- 42: <span class="ruby-identifier">needs</span> = <span class="ruby-identifier">n</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">length</span>
17
- 43:
18
- 44: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">needs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
19
- 45: <span class="ruby-identifier">sec</span> = <span class="ruby-value str">&quot;&quot;</span>
20
- 46: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">partial</span>
21
- 47: <span class="ruby-keyword kw">begin</span>
22
- 48: <span class="ruby-identifier">protect</span> <span class="ruby-keyword kw">do</span>
23
- 49: <span class="ruby-identifier">sec</span> = <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">needs</span>)
24
- 50: <span class="ruby-keyword kw">end</span>
25
- 51: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">EOFError</span>
26
- 52: <span class="ruby-comment cmt"># TODO: notify closed? error?</span>
27
- 53: <span class="ruby-keyword kw">end</span>
28
- 54: <span class="ruby-keyword kw">else</span>
29
- 55: <span class="ruby-identifier">protect</span> { <span class="ruby-identifier">sec</span> = <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">needs</span>)}
30
- 56: <span class="ruby-keyword kw">end</span>
31
- 57:
32
- 58: <span class="ruby-identifier">r</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">sec</span> <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>)
33
- 59:
34
- 60: <span class="ruby-comment cmt"># finally, if there's nothing at all returned then this is bad</span>
35
- 61: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
36
- 62: <span class="ruby-identifier">raise</span> <span class="ruby-constant">HttpClientError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Server returned empty response.&quot;</span>)
37
- 63: <span class="ruby-keyword kw">end</span>
38
- 64: <span class="ruby-keyword kw">end</span>
39
- 65:
40
- 66: <span class="ruby-identifier">reset</span>
41
- 67: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">r</span>
42
- 68: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 39</span>
14
+ 39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
15
+ 40: <span class="ruby-identifier">random_death</span>
16
+ 41: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">string</span> = <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">read</span> <span class="ruby-comment cmt"># reset out internal buffer</span>
17
+ 42: <span class="ruby-keyword kw">end</span></pre>
43
18
  </body>
44
19
  </html>
@@ -5,14 +5,41 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>flush (RFuzz::PushBackIO)</title>
8
+ <title>read (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 70</span>
14
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
15
- 71: <span class="ruby-identifier">protect</span> { <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">flush</span> }
16
- 72: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 51</span>
14
+ 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">partial</span>=<span class="ruby-keyword kw">false</span>)
15
+ 52: <span class="ruby-identifier">random_death</span>
16
+ 53: <span class="ruby-identifier">r</span> = <span class="ruby-identifier">pop</span>(<span class="ruby-identifier">n</span>)
17
+ 54: <span class="ruby-identifier">needs</span> = <span class="ruby-identifier">n</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">length</span>
18
+ 55:
19
+ 56: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">needs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
20
+ 57: <span class="ruby-identifier">sec</span> = <span class="ruby-value str">&quot;&quot;</span>
21
+ 58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">partial</span>
22
+ 59: <span class="ruby-keyword kw">begin</span>
23
+ 60: <span class="ruby-identifier">protect</span> <span class="ruby-keyword kw">do</span>
24
+ 61: <span class="ruby-identifier">sec</span> = <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">needs</span>)
25
+ 62: <span class="ruby-keyword kw">end</span>
26
+ 63: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">EOFError</span>
27
+ 64: <span class="ruby-identifier">close</span>
28
+ 65: <span class="ruby-keyword kw">end</span>
29
+ 66: <span class="ruby-keyword kw">else</span>
30
+ 67: <span class="ruby-identifier">protect</span> { <span class="ruby-identifier">sec</span> = <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">needs</span>)}
31
+ 68: <span class="ruby-keyword kw">end</span>
32
+ 69:
33
+ 70: <span class="ruby-identifier">r</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">sec</span> <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>)
34
+ 71:
35
+ 72: <span class="ruby-comment cmt"># finally, if there's nothing at all returned then this is bad</span>
36
+ 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
37
+ 74: <span class="ruby-identifier">raise</span> <span class="ruby-constant">HttpClientError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Server returned empty response.&quot;</span>)
38
+ 75: <span class="ruby-keyword kw">end</span>
39
+ 76: <span class="ruby-keyword kw">end</span>
40
+ 77:
41
+ 78: <span class="ruby-identifier">reset</span>
42
+ 79: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">r</span>
43
+ 80: <span class="ruby-keyword kw">end</span></pre>
17
44
  </body>
18
45
  </html>
@@ -5,14 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>write (RFuzz::PushBackIO)</title>
8
+ <title>flush (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 74</span>
14
- 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">content</span>)
15
- 75: <span class="ruby-identifier">protect</span> { <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">content</span>) }
16
- 76: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 82</span>
14
+ 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
15
+ 83: <span class="ruby-identifier">random_death</span>
16
+ 84: <span class="ruby-identifier">protect</span> { <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">flush</span> }
17
+ 85: <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -5,14 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>close (RFuzz::PushBackIO)</title>
8
+ <title>write (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 78</span>
14
- 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
15
- 79: <span class="ruby-identifier">protect</span> { <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">close</span> }
16
- 80: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 87</span>
14
+ 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">content</span>)
15
+ 88: <span class="ruby-identifier">random_death</span>
16
+ 89: <span class="ruby-identifier">protect</span> { <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">content</span>) }
17
+ 90: <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -5,18 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>protect (RFuzz::PushBackIO)</title>
8
+ <title>close (RFuzz::PushBackIO)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 82</span>
14
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">protect</span>
15
- 83: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">closed?</span>
16
- 84: <span class="ruby-keyword kw">yield</span>
17
- 85: <span class="ruby-keyword kw">else</span>
18
- 86: <span class="ruby-identifier">raise</span> <span class="ruby-constant">HttpClientError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Socket closed.&quot;</span>)
19
- 87: <span class="ruby-keyword kw">end</span>
20
- 88: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/rfuzz/pushbackio.rb, line 92</span>
14
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
15
+ 93: <span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
16
+ 94: <span class="ruby-keyword kw">end</span></pre>
21
17
  </body>
22
18
  </html>
@@ -0,0 +1,22 @@
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>protect (RFuzz::PushBackIO)</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/pushbackio.rb, line 96</span>
14
+ 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">protect</span>
15
+ 97: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@secondary</span>.<span class="ruby-identifier">closed?</span>
16
+ 98: <span class="ruby-keyword kw">yield</span>
17
+ 99: <span class="ruby-keyword kw">else</span>
18
+ 100: <span class="ruby-identifier">raise</span> <span class="ruby-constant">HttpClientError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Socket closed.&quot;</span>)
19
+ 101: <span class="ruby-keyword kw">end</span>
20
+ 102: <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -86,18 +86,18 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000052">base64</a>&nbsp;&nbsp;
90
- <a href="#M000053">byte_array</a>&nbsp;&nbsp;
91
- <a href="#M000054">bytes</a>&nbsp;&nbsp;
92
- <a href="#M000057">floats</a>&nbsp;&nbsp;
93
- <a href="#M000047">hash_of</a>&nbsp;&nbsp;
94
- <a href="#M000049">headers</a>&nbsp;&nbsp;
95
- <a href="#M000056">ints</a>&nbsp;&nbsp;
96
- <a href="#M000046">new</a>&nbsp;&nbsp;
97
- <a href="#M000055">num</a>&nbsp;&nbsp;
98
- <a href="#M000048">queries</a>&nbsp;&nbsp;
99
- <a href="#M000050">uris</a>&nbsp;&nbsp;
100
- <a href="#M000051">words</a>&nbsp;&nbsp;
89
+ <a href="#M000053">base64</a>&nbsp;&nbsp;
90
+ <a href="#M000054">byte_array</a>&nbsp;&nbsp;
91
+ <a href="#M000055">bytes</a>&nbsp;&nbsp;
92
+ <a href="#M000058">floats</a>&nbsp;&nbsp;
93
+ <a href="#M000048">hash_of</a>&nbsp;&nbsp;
94
+ <a href="#M000050">headers</a>&nbsp;&nbsp;
95
+ <a href="#M000057">ints</a>&nbsp;&nbsp;
96
+ <a href="#M000047">new</a>&nbsp;&nbsp;
97
+ <a href="#M000056">num</a>&nbsp;&nbsp;
98
+ <a href="#M000049">queries</a>&nbsp;&nbsp;
99
+ <a href="#M000051">uris</a>&nbsp;&nbsp;
100
+ <a href="#M000052">words</a>&nbsp;&nbsp;
101
101
  </div>
102
102
  </div>
103
103
 
@@ -119,12 +119,12 @@
119
119
  <div id="methods">
120
120
  <h3 class="section-bar">Public Class methods</h3>
121
121
 
122
- <div id="method-M000046" class="method-detail">
123
- <a name="M000046"></a>
122
+ <div id="method-M000047" class="method-detail">
123
+ <a name="M000047"></a>
124
124
 
125
125
  <div class="method-heading">
126
- <a href="RandomGenerator.src/M000046.html" target="Code" class="method-signature"
127
- onclick="popupCode('RandomGenerator.src/M000046.html');return false;">
126
+ <a href="RandomGenerator.src/M000047.html" target="Code" class="method-signature"
127
+ onclick="popupCode('RandomGenerator.src/M000047.html');return false;">
128
128
  <span class="method-name">new</span><span class="method-args">(dict=nil, type=:words)</span>
129
129
  </a>
130
130
  </div>
@@ -136,7 +136,7 @@ with a word dictionary then you can generate the random words, and is the
136
136
  expected behavior. You can use the &quot;type&quot; parameter to change the
137
137
  default type of generated content from words to any of the other types
138
138
  available [:base64,:uris,:<a
139
- href="RandomGenerator.html#M000053">byte_array</a>,:ints,:floats].
139
+ href="RandomGenerator.html#M000054">byte_array</a>,:ints,:floats].
140
140
  </p>
141
141
  <p>
142
142
  The dict should just be an array of words.
@@ -146,12 +146,12 @@ The dict should just be an array of words.
146
146
 
147
147
  <h3 class="section-bar">Public Instance methods</h3>
148
148
 
149
- <div id="method-M000052" class="method-detail">
150
- <a name="M000052"></a>
149
+ <div id="method-M000053" class="method-detail">
150
+ <a name="M000053"></a>
151
151
 
152
152
  <div class="method-heading">
153
- <a href="RandomGenerator.src/M000052.html" target="Code" class="method-signature"
154
- onclick="popupCode('RandomGenerator.src/M000052.html');return false;">
153
+ <a href="RandomGenerator.src/M000053.html" target="Code" class="method-signature"
154
+ onclick="popupCode('RandomGenerator.src/M000053.html');return false;">
155
155
  <span class="method-name">base64</span><span class="method-args">(count,length=100)</span>
156
156
  </a>
157
157
  </div>
@@ -164,12 +164,12 @@ the default and is a max, but the lengths are random.
164
164
  </div>
165
165
  </div>
166
166
 
167
- <div id="method-M000053" class="method-detail">
168
- <a name="M000053"></a>
167
+ <div id="method-M000054" class="method-detail">
168
+ <a name="M000054"></a>
169
169
 
170
170
  <div class="method-heading">
171
- <a href="RandomGenerator.src/M000053.html" target="Code" class="method-signature"
172
- onclick="popupCode('RandomGenerator.src/M000053.html');return false;">
171
+ <a href="RandomGenerator.src/M000054.html" target="Code" class="method-signature"
172
+ onclick="popupCode('RandomGenerator.src/M000054.html');return false;">
173
173
  <span class="method-name">byte_array</span><span class="method-args">(count,length=100)</span>
174
174
  </a>
175
175
  </div>
@@ -182,12 +182,12 @@ very nasty. As usual, length=100 is a max for the random lengths.
182
182
  </div>
183
183
  </div>
184
184
 
185
- <div id="method-M000054" class="method-detail">
186
- <a name="M000054"></a>
185
+ <div id="method-M000055" class="method-detail">
186
+ <a name="M000055"></a>
187
187
 
188
188
  <div class="method-heading">
189
- <a href="RandomGenerator.src/M000054.html" target="Code" class="method-signature"
190
- onclick="popupCode('RandomGenerator.src/M000054.html');return false;">
189
+ <a href="RandomGenerator.src/M000055.html" target="Code" class="method-signature"
190
+ onclick="popupCode('RandomGenerator.src/M000055.html');return false;">
191
191
  <span class="method-name">bytes</span><span class="method-args">(count)</span>
192
192
  </a>
193
193
  </div>
@@ -199,12 +199,12 @@ Generate a single String with random binary garbage in it.
199
199
  </div>
200
200
  </div>
201
201
 
202
- <div id="method-M000057" class="method-detail">
203
- <a name="M000057"></a>
202
+ <div id="method-M000058" class="method-detail">
203
+ <a name="M000058"></a>
204
204
 
205
205
  <div class="method-heading">
206
- <a href="RandomGenerator.src/M000057.html" target="Code" class="method-signature"
207
- onclick="popupCode('RandomGenerator.src/M000057.html');return false;">
206
+ <a href="RandomGenerator.src/M000058.html" target="Code" class="method-signature"
207
+ onclick="popupCode('RandomGenerator.src/M000058.html');return false;">
208
208
  <span class="method-name">floats</span><span class="method-args">(count)</span>
209
209
  </a>
210
210
  </div>
@@ -216,12 +216,12 @@ An array for random floats.
216
216
  </div>
217
217
  </div>
218
218
 
219
- <div id="method-M000047" class="method-detail">
220
- <a name="M000047"></a>
219
+ <div id="method-M000048" class="method-detail">
220
+ <a name="M000048"></a>
221
221
 
222
222
  <div class="method-heading">
223
- <a href="RandomGenerator.src/M000047.html" target="Code" class="method-signature"
224
- onclick="popupCode('RandomGenerator.src/M000047.html');return false;">
223
+ <a href="RandomGenerator.src/M000048.html" target="Code" class="method-signature"
224
+ onclick="popupCode('RandomGenerator.src/M000048.html');return false;">
225
225
  <span class="method-name">hash_of</span><span class="method-args">(count,length=5,type=@type)</span>
226
226
  </a>
227
227
  </div>
@@ -230,12 +230,12 @@ An array for random floats.
230
230
  <p>
231
231
  Returns a random hash of type (default :words) where the key=&gt;value is
232
232
  randomly generated. This is aliased for <a
233
- href="RandomGenerator.html#M000048">RandomGenerator.queries</a> and <a
234
- href="RandomGenerator.html#M000049">RandomGenerator.headers</a> so that it
233
+ href="RandomGenerator.html#M000049">RandomGenerator.queries</a> and <a
234
+ href="RandomGenerator.html#M000050">RandomGenerator.headers</a> so that it
235
235
  is more readable.
236
236
  </p>
237
237
  <dl>
238
- <dt>:words,:base64,:uris,:<a href="RandomGenerator.html#M000053">byte_array</a>,:ints,:floats</dt><dd>are the available
238
+ <dt>:words,:base64,:uris,:<a href="RandomGenerator.html#M000054">byte_array</a>,:ints,:floats</dt><dd>are the available
239
239
 
240
240
  </dd>
241
241
  </dl>
@@ -246,8 +246,8 @@ translate to function calls on self.send(type,length).
246
246
  </div>
247
247
  </div>
248
248
 
249
- <div id="method-M000049" class="method-detail">
250
- <a name="M000049"></a>
249
+ <div id="method-M000050" class="method-detail">
250
+ <a name="M000050"></a>
251
251
 
252
252
  <div class="method-heading">
253
253
  <span class="method-name">headers</span><span class="method-args">(count,length=5,type=@type)</span>
@@ -255,17 +255,17 @@ translate to function calls on self.send(type,length).
255
255
 
256
256
  <div class="method-description">
257
257
  <p>
258
- Alias for <a href="RandomGenerator.html#M000047">hash_of</a>
258
+ Alias for <a href="RandomGenerator.html#M000048">hash_of</a>
259
259
  </p>
260
260
  </div>
261
261
  </div>
262
262
 
263
- <div id="method-M000056" class="method-detail">
264
- <a name="M000056"></a>
263
+ <div id="method-M000057" class="method-detail">
264
+ <a name="M000057"></a>
265
265
 
266
266
  <div class="method-heading">
267
- <a href="RandomGenerator.src/M000056.html" target="Code" class="method-signature"
268
- onclick="popupCode('RandomGenerator.src/M000056.html');return false;">
267
+ <a href="RandomGenerator.src/M000057.html" target="Code" class="method-signature"
268
+ onclick="popupCode('RandomGenerator.src/M000057.html');return false;">
269
269
  <span class="method-name">ints</span><span class="method-args">(count, max = nil)</span>
270
270
  </a>
271
271
  </div>
@@ -279,12 +279,12 @@ tests should run the same on all platforms).
279
279
  </div>
280
280
  </div>
281
281
 
282
- <div id="method-M000055" class="method-detail">
283
- <a name="M000055"></a>
282
+ <div id="method-M000056" class="method-detail">
283
+ <a name="M000056"></a>
284
284
 
285
285
  <div class="method-heading">
286
- <a href="RandomGenerator.src/M000055.html" target="Code" class="method-signature"
287
- onclick="popupCode('RandomGenerator.src/M000055.html');return false;">
286
+ <a href="RandomGenerator.src/M000056.html" target="Code" class="method-signature"
287
+ onclick="popupCode('RandomGenerator.src/M000056.html');return false;">
288
288
  <span class="method-name">num</span><span class="method-args">(max)</span>
289
289
  </a>
290
290
  </div>
@@ -296,8 +296,8 @@ A random number with a maximum of max.
296
296
  </div>
297
297
  </div>
298
298
 
299
- <div id="method-M000048" class="method-detail">
300
- <a name="M000048"></a>
299
+ <div id="method-M000049" class="method-detail">
300
+ <a name="M000049"></a>
301
301
 
302
302
  <div class="method-heading">
303
303
  <span class="method-name">queries</span><span class="method-args">(count,length=5,type=@type)</span>
@@ -305,17 +305,17 @@ A random number with a maximum of max.
305
305
 
306
306
  <div class="method-description">
307
307
  <p>
308
- Alias for <a href="RandomGenerator.html#M000047">hash_of</a>
308
+ Alias for <a href="RandomGenerator.html#M000048">hash_of</a>
309
309
  </p>
310
310
  </div>
311
311
  </div>
312
312
 
313
- <div id="method-M000050" class="method-detail">
314
- <a name="M000050"></a>
313
+ <div id="method-M000051" class="method-detail">
314
+ <a name="M000051"></a>
315
315
 
316
316
  <div class="method-heading">
317
- <a href="RandomGenerator.src/M000050.html" target="Code" class="method-signature"
318
- onclick="popupCode('RandomGenerator.src/M000050.html');return false;">
317
+ <a href="RandomGenerator.src/M000051.html" target="Code" class="method-signature"
318
+ onclick="popupCode('RandomGenerator.src/M000051.html');return false;">
319
319
  <span class="method-name">uris</span><span class="method-args">(count,length=100)</span>
320
320
  </a>
321
321
  </div>
@@ -329,12 +329,12 @@ gigantor URI. The URI starts with /.
329
329
  </div>
330
330
  </div>
331
331
 
332
- <div id="method-M000051" class="method-detail">
333
- <a name="M000051"></a>
332
+ <div id="method-M000052" class="method-detail">
333
+ <a name="M000052"></a>
334
334
 
335
335
  <div class="method-heading">
336
- <a href="RandomGenerator.src/M000051.html" target="Code" class="method-signature"
337
- onclick="popupCode('RandomGenerator.src/M000051.html');return false;">
336
+ <a href="RandomGenerator.src/M000052.html" target="Code" class="method-signature"
337
+ onclick="popupCode('RandomGenerator.src/M000052.html');return false;">
338
338
  <span class="method-name">words</span><span class="method-args">(count=1)</span>
339
339
  </a>
340
340
  </div>