rev 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. data/README +45 -9
  2. data/doc/rdoc/classes/Rev.html +368 -0
  3. data/doc/rdoc/classes/Rev.src/M000001.html +28 -0
  4. data/doc/rdoc/classes/Rev.src/M000002.html +35 -0
  5. data/doc/rdoc/classes/Rev.src/M000003.html +24 -0
  6. data/doc/rdoc/classes/Rev.src/M000004.html +28 -0
  7. data/doc/rdoc/classes/Rev.src/M000005.html +27 -0
  8. data/doc/rdoc/classes/Rev.src/M000006.html +33 -0
  9. data/doc/rdoc/classes/Rev.src/M000007.html +43 -0
  10. data/doc/rdoc/classes/Rev.src/M000008.html +16 -0
  11. data/doc/rdoc/classes/Rev/Buffer.html +354 -0
  12. data/doc/rdoc/classes/Rev/Buffer.src/M000019.html +17 -0
  13. data/doc/rdoc/classes/Rev/Buffer.src/M000020.html +29 -0
  14. data/doc/rdoc/classes/Rev/Buffer.src/M000021.html +27 -0
  15. data/doc/rdoc/classes/Rev/Buffer.src/M000022.html +27 -0
  16. data/doc/rdoc/classes/Rev/Buffer.src/M000023.html +31 -0
  17. data/doc/rdoc/classes/Rev/Buffer.src/M000024.html +31 -0
  18. data/doc/rdoc/classes/Rev/Buffer.src/M000025.html +30 -0
  19. data/doc/rdoc/classes/Rev/Buffer.src/M000026.html +50 -0
  20. data/doc/rdoc/classes/Rev/Buffer.src/M000027.html +22 -0
  21. data/doc/rdoc/classes/Rev/Buffer.src/M000028.html +24 -0
  22. data/doc/rdoc/classes/Rev/Buffer.src/M000029.html +24 -0
  23. data/doc/rdoc/classes/Rev/BufferedIO.html +397 -0
  24. data/doc/rdoc/classes/Rev/BufferedIO.src/M000095.html +23 -0
  25. data/doc/rdoc/classes/Rev/BufferedIO.src/M000096.html +16 -0
  26. data/doc/rdoc/classes/Rev/BufferedIO.src/M000097.html +16 -0
  27. data/doc/rdoc/classes/Rev/BufferedIO.src/M000098.html +16 -0
  28. data/doc/rdoc/classes/Rev/BufferedIO.src/M000099.html +18 -0
  29. data/doc/rdoc/classes/Rev/BufferedIO.src/M000100.html +18 -0
  30. data/doc/rdoc/classes/Rev/BufferedIO.src/M000101.html +23 -0
  31. data/doc/rdoc/classes/Rev/BufferedIO.src/M000102.html +18 -0
  32. data/doc/rdoc/classes/Rev/BufferedIO.src/M000103.html +20 -0
  33. data/doc/rdoc/classes/Rev/BufferedIO.src/M000104.html +24 -0
  34. data/doc/rdoc/classes/Rev/BufferedIO.src/M000105.html +23 -0
  35. data/doc/rdoc/classes/Rev/BufferedIO.src/M000106.html +22 -0
  36. data/doc/rdoc/classes/Rev/BufferedIO.src/M000107.html +29 -0
  37. data/doc/rdoc/classes/Rev/BufferedIO/Writer.html +154 -0
  38. data/doc/rdoc/classes/Rev/BufferedIO/Writer.src/M000108.html +19 -0
  39. data/doc/rdoc/classes/Rev/BufferedIO/Writer.src/M000109.html +18 -0
  40. data/doc/rdoc/classes/Rev/DNSResolver.html +401 -0
  41. data/doc/rdoc/classes/Rev/DNSResolver.src/M000124.html +25 -0
  42. data/doc/rdoc/classes/Rev/DNSResolver.src/M000125.html +29 -0
  43. data/doc/rdoc/classes/Rev/DNSResolver.src/M000126.html +20 -0
  44. data/doc/rdoc/classes/Rev/DNSResolver.src/M000127.html +19 -0
  45. data/doc/rdoc/classes/Rev/DNSResolver.src/M000128.html +16 -0
  46. data/doc/rdoc/classes/Rev/DNSResolver.src/M000129.html +16 -0
  47. data/doc/rdoc/classes/Rev/DNSResolver.src/M000131.html +19 -0
  48. data/doc/rdoc/classes/Rev/DNSResolver.src/M000132.html +21 -0
  49. data/doc/rdoc/classes/Rev/DNSResolver.src/M000133.html +27 -0
  50. data/doc/rdoc/classes/Rev/DNSResolver.src/M000134.html +28 -0
  51. data/doc/rdoc/classes/Rev/DNSResolver.src/M000135.html +55 -0
  52. data/doc/rdoc/classes/Rev/DNSResolver/Timeout.html +154 -0
  53. data/doc/rdoc/classes/Rev/DNSResolver/Timeout.src/M000136.html +20 -0
  54. data/doc/rdoc/classes/Rev/DNSResolver/Timeout.src/M000137.html +22 -0
  55. data/doc/rdoc/classes/Rev/HttpChunkHeader.html +156 -0
  56. data/doc/rdoc/classes/Rev/HttpChunkHeader.src/M000031.html +19 -0
  57. data/doc/rdoc/classes/Rev/HttpClient.html +460 -0
  58. data/doc/rdoc/classes/Rev/HttpClient.src/M000042.html +18 -0
  59. data/doc/rdoc/classes/Rev/HttpClient.src/M000043.html +27 -0
  60. data/doc/rdoc/classes/Rev/HttpClient.src/M000044.html +24 -0
  61. data/doc/rdoc/classes/Rev/HttpClient.src/M000045.html +19 -0
  62. data/doc/rdoc/classes/Rev/HttpClient.src/M000046.html +17 -0
  63. data/doc/rdoc/classes/Rev/HttpClient.src/M000047.html +19 -0
  64. data/doc/rdoc/classes/Rev/HttpClient.src/M000048.html +18 -0
  65. data/doc/rdoc/classes/Rev/HttpClient.src/M000049.html +18 -0
  66. data/doc/rdoc/classes/Rev/HttpClient.src/M000050.html +19 -0
  67. data/doc/rdoc/classes/Rev/HttpClient.src/M000051.html +19 -0
  68. data/doc/rdoc/classes/Rev/HttpClient.src/M000052.html +19 -0
  69. data/doc/rdoc/classes/Rev/HttpClient.src/M000053.html +41 -0
  70. data/doc/rdoc/classes/Rev/HttpClient.src/M000054.html +18 -0
  71. data/doc/rdoc/classes/Rev/HttpClient.src/M000055.html +34 -0
  72. data/doc/rdoc/classes/Rev/HttpEncoding.html +310 -0
  73. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000009.html +20 -0
  74. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000010.html +20 -0
  75. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000011.html +18 -0
  76. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000012.html +18 -0
  77. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000013.html +18 -0
  78. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000014.html +19 -0
  79. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000015.html +18 -0
  80. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000016.html +18 -0
  81. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000017.html +22 -0
  82. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000018.html +18 -0
  83. data/doc/rdoc/classes/Rev/HttpResponseHeader.html +219 -0
  84. data/doc/rdoc/classes/Rev/HttpResponseHeader.src/M000032.html +18 -0
  85. data/doc/rdoc/classes/Rev/HttpResponseHeader.src/M000033.html +18 -0
  86. data/doc/rdoc/classes/Rev/HttpResponseHeader.src/M000034.html +18 -0
  87. data/doc/rdoc/classes/Rev/IOWatcher.html +285 -0
  88. data/doc/rdoc/classes/Rev/IOWatcher.src/M000079.html +17 -0
  89. data/doc/rdoc/classes/Rev/IOWatcher.src/M000080.html +27 -0
  90. data/doc/rdoc/classes/Rev/IOWatcher.src/M000081.html +26 -0
  91. data/doc/rdoc/classes/Rev/IOWatcher.src/M000082.html +27 -0
  92. data/doc/rdoc/classes/Rev/IOWatcher.src/M000083.html +27 -0
  93. data/doc/rdoc/classes/Rev/IOWatcher.src/M000084.html +24 -0
  94. data/doc/rdoc/classes/Rev/IOWatcher.src/M000085.html +25 -0
  95. data/doc/rdoc/classes/Rev/Listener.html +207 -0
  96. data/doc/rdoc/classes/Rev/Listener.src/M000065.html +19 -0
  97. data/doc/rdoc/classes/Rev/Listener.src/M000066.html +19 -0
  98. data/doc/rdoc/classes/Rev/Listener.src/M000067.html +16 -0
  99. data/doc/rdoc/classes/Rev/Listener.src/M000068.html +18 -0
  100. data/doc/rdoc/classes/Rev/Loop.html +395 -0
  101. data/doc/rdoc/classes/Rev/Loop.src/M000070.html +25 -0
  102. data/doc/rdoc/classes/Rev/Loop.src/M000071.html +45 -0
  103. data/doc/rdoc/classes/Rev/Loop.src/M000072.html +18 -0
  104. data/doc/rdoc/classes/Rev/Loop.src/M000073.html +23 -0
  105. data/doc/rdoc/classes/Rev/Loop.src/M000074.html +19 -0
  106. data/doc/rdoc/classes/Rev/Loop.src/M000075.html +17 -0
  107. data/doc/rdoc/classes/Rev/Loop.src/M000076.html +27 -0
  108. data/doc/rdoc/classes/Rev/Loop.src/M000077.html +32 -0
  109. data/doc/rdoc/classes/Rev/Loop.src/M000078.html +32 -0
  110. data/doc/rdoc/classes/Rev/Server.html +164 -0
  111. data/doc/rdoc/classes/Rev/Server.src/M000121.html +32 -0
  112. data/doc/rdoc/classes/Rev/Server.src/M000122.html +20 -0
  113. data/doc/rdoc/classes/Rev/Socket.html +213 -0
  114. data/doc/rdoc/classes/Rev/Socket.src/M000035.html +21 -0
  115. data/doc/rdoc/classes/Rev/Socket.src/M000036.html +25 -0
  116. data/doc/rdoc/classes/Rev/Socket.src/M000037.html +16 -0
  117. data/doc/rdoc/classes/Rev/Socket.src/M000038.html +16 -0
  118. data/doc/rdoc/classes/Rev/Socket/Connector.html +154 -0
  119. data/doc/rdoc/classes/Rev/Socket/Connector.src/M000040.html +19 -0
  120. data/doc/rdoc/classes/Rev/Socket/Connector.src/M000041.html +28 -0
  121. data/doc/rdoc/classes/Rev/TCPListener.html +161 -0
  122. data/doc/rdoc/classes/Rev/TCPListener.src/M000069.html +23 -0
  123. data/doc/rdoc/classes/Rev/TCPServer.html +147 -0
  124. data/doc/rdoc/classes/Rev/TCPServer.src/M000123.html +20 -0
  125. data/doc/rdoc/classes/Rev/TCPSocket.html +233 -0
  126. data/doc/rdoc/classes/Rev/TCPSocket.src/M000056.html +20 -0
  127. data/doc/rdoc/classes/Rev/TCPSocket.src/M000057.html +34 -0
  128. data/doc/rdoc/classes/Rev/TCPSocket.src/M000058.html +24 -0
  129. data/doc/rdoc/classes/Rev/TCPSocket.src/M000059.html +18 -0
  130. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.html +171 -0
  131. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.src/M000060.html +19 -0
  132. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.src/M000061.html +27 -0
  133. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.src/M000062.html +23 -0
  134. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectSocket.html +154 -0
  135. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectSocket.src/M000063.html +25 -0
  136. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectSocket.src/M000064.html +23 -0
  137. data/doc/rdoc/classes/Rev/TimerWatcher.html +288 -0
  138. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000086.html +17 -0
  139. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000087.html +27 -0
  140. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000088.html +26 -0
  141. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000089.html +27 -0
  142. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000090.html +27 -0
  143. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000091.html +42 -0
  144. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000092.html +24 -0
  145. data/doc/rdoc/classes/Rev/UNIXListener.html +147 -0
  146. data/doc/rdoc/classes/Rev/UNIXListener.src/M000120.html +18 -0
  147. data/doc/rdoc/classes/Rev/UNIXServer.html +147 -0
  148. data/doc/rdoc/classes/Rev/UNIXServer.src/M000030.html +18 -0
  149. data/doc/rdoc/classes/Rev/UNIXSocket.html +175 -0
  150. data/doc/rdoc/classes/Rev/UNIXSocket.src/M000093.html +18 -0
  151. data/doc/rdoc/classes/Rev/UNIXSocket.src/M000094.html +21 -0
  152. data/doc/rdoc/classes/Rev/Watcher.html +349 -0
  153. data/doc/rdoc/classes/Rev/Watcher.src/M000110.html +20 -0
  154. data/doc/rdoc/classes/Rev/Watcher.src/M000111.html +20 -0
  155. data/doc/rdoc/classes/Rev/Watcher.src/M000112.html +17 -0
  156. data/doc/rdoc/classes/Rev/Watcher.src/M000113.html +48 -0
  157. data/doc/rdoc/classes/Rev/Watcher.src/M000114.html +62 -0
  158. data/doc/rdoc/classes/Rev/Watcher.src/M000115.html +34 -0
  159. data/doc/rdoc/classes/Rev/Watcher.src/M000116.html +34 -0
  160. data/doc/rdoc/classes/Rev/Watcher.src/M000117.html +27 -0
  161. data/doc/rdoc/classes/Rev/Watcher.src/M000118.html +24 -0
  162. data/doc/rdoc/classes/Rev/Watcher.src/M000119.html +27 -0
  163. data/doc/rdoc/created.rid +1 -0
  164. data/doc/rdoc/files/LICENSE.html +165 -0
  165. data/doc/rdoc/files/README.html +297 -0
  166. data/doc/rdoc/files/ext/rev/rev_buffer_c.html +101 -0
  167. data/doc/rdoc/files/ext/rev/rev_ext_c.html +101 -0
  168. data/doc/rdoc/files/ext/rev/rev_io_watcher_c.html +101 -0
  169. data/doc/rdoc/files/ext/rev/rev_loop_c.html +101 -0
  170. data/doc/rdoc/files/ext/rev/rev_timer_watcher_c.html +101 -0
  171. data/doc/rdoc/files/ext/rev/rev_watcher_c.html +101 -0
  172. data/doc/rdoc/files/lib/rev/buffered_io_rb.html +101 -0
  173. data/doc/rdoc/files/lib/rev/dns_resolver_rb.html +101 -0
  174. data/doc/rdoc/files/lib/rev/http_client_rb.html +101 -0
  175. data/doc/rdoc/files/lib/rev/io_watcher_rb.html +101 -0
  176. data/doc/rdoc/files/lib/rev/listener_rb.html +108 -0
  177. data/doc/rdoc/files/lib/rev/loop_rb.html +101 -0
  178. data/doc/rdoc/files/lib/rev/server_rb.html +101 -0
  179. data/doc/rdoc/files/lib/rev/socket_rb.html +109 -0
  180. data/doc/rdoc/files/lib/rev/timer_watcher_rb.html +101 -0
  181. data/doc/rdoc/files/lib/rev/watcher_rb.html +101 -0
  182. data/doc/rdoc/files/lib/rev_rb.html +101 -0
  183. data/doc/rdoc/fr_class_index.html +52 -0
  184. data/doc/rdoc/fr_file_index.html +45 -0
  185. data/doc/rdoc/fr_method_index.html +163 -0
  186. data/doc/rdoc/index.html +24 -0
  187. data/doc/rdoc/rdoc-style.css +208 -0
  188. data/ext/rev/extconf.rb +1 -1
  189. data/ext/rev/rev.h +0 -1
  190. data/ext/rev/rev_buffer.c +606 -0
  191. data/ext/rev/rev_ext.c +1 -0
  192. data/ext/rev/rev_io_watcher.c +53 -19
  193. data/ext/rev/rev_loop.c +12 -35
  194. data/ext/rev/rev_timer_watcher.c +45 -3
  195. data/ext/rev/rev_watcher.c +13 -1
  196. data/lib/http11_client.bundle +0 -0
  197. data/lib/rev.rb +1 -1
  198. data/lib/rev/buffered_io.rb +25 -22
  199. data/lib/rev/dns_resolver.rb +31 -14
  200. data/lib/rev/http_client.rb +88 -91
  201. data/lib/rev/listener.rb +22 -5
  202. data/lib/rev/loop.rb +13 -0
  203. data/lib/rev/server.rb +10 -3
  204. data/lib/rev/socket.rb +30 -9
  205. data/lib/rev/watcher.rb +4 -2
  206. data/lib/rev_ext.bundle +0 -0
  207. metadata +230 -2
@@ -0,0 +1,19 @@
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>chunk_size (Rev::HttpChunkHeader)</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/rev/http_client.rb, line 45</span>
14
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chunk_size</span>
15
+ 46: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@chunk_size</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@chunk_size</span>.<span class="ruby-identifier">nil?</span>
16
+ 47: <span class="ruby-ivar">@chunk_size</span> = <span class="ruby-ivar">@http_chunk_size</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@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>
17
+ 48: <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,460 @@
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>Class: Rev::HttpClient</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>Class</strong></td>
53
+ <td class="class-name-in-header">Rev::HttpClient</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/rev/http_client_rb.html">
59
+ lib/rev/http_client.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="TCPSocket.html">
69
+ TCPSocket
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ HTTP client class implemented as a subclass of <a
86
+ href="TCPSocket.html">Rev::TCPSocket</a>. Encodes requests and allows
87
+ streaming consumption of the response. Response is parsed with a
88
+ Ragel-generated whitelist parser which supports chunked HTTP encoding.
89
+ </p>
90
+ <h2>Example</h2>
91
+ <pre>
92
+ loop = Rev::Loop.default
93
+ client = Rev::HttpClient.connect(&quot;www.google.com&quot;).attach
94
+ client.get('/search', query: {q: 'foobar'})
95
+ loop.run
96
+ </pre>
97
+
98
+ </div>
99
+
100
+
101
+ </div>
102
+
103
+ <div id="method-list">
104
+ <h3 class="section-bar">Methods</h3>
105
+
106
+ <div class="name-list">
107
+ <a href="#M000042">connect</a>&nbsp;&nbsp;
108
+ <a href="#M000055">dispatch</a>&nbsp;&nbsp;
109
+ <a href="#M000045">method_missing</a>&nbsp;&nbsp;
110
+ <a href="#M000043">new</a>&nbsp;&nbsp;
111
+ <a href="#M000047">on_body_data</a>&nbsp;&nbsp;
112
+ <a href="#M000050">on_connect</a>&nbsp;&nbsp;
113
+ <a href="#M000049">on_error</a>&nbsp;&nbsp;
114
+ <a href="#M000051">on_read</a>&nbsp;&nbsp;
115
+ <a href="#M000048">on_request_complete</a>&nbsp;&nbsp;
116
+ <a href="#M000046">on_response_header</a>&nbsp;&nbsp;
117
+ <a href="#M000044">request</a>&nbsp;&nbsp;
118
+ <a href="#M000052">send_request</a>&nbsp;&nbsp;
119
+ <a href="#M000054">send_request_body</a>&nbsp;&nbsp;
120
+ <a href="#M000053">send_request_header</a>&nbsp;&nbsp;
121
+ </div>
122
+ </div>
123
+
124
+ </div>
125
+
126
+
127
+ <!-- if includes -->
128
+ <div id="includes">
129
+ <h3 class="section-bar">Included Modules</h3>
130
+
131
+ <div id="includes-list">
132
+ <span class="include-name"><a href="HttpEncoding.html">HttpEncoding</a></span>
133
+ </div>
134
+ </div>
135
+
136
+ <div id="section">
137
+
138
+
139
+ <div id="constants-list">
140
+ <h3 class="section-bar">Constants</h3>
141
+
142
+ <div class="name-list">
143
+ <table summary="Constants">
144
+ <tr class="top-aligned-row context-row">
145
+ <td class="context-item-name">ALLOWED_METHODS</td>
146
+ <td>=</td>
147
+ <td class="context-item-value">[:put, :get, :post, :delete, :head]</td>
148
+ </tr>
149
+ <tr class="top-aligned-row context-row">
150
+ <td class="context-item-name">TRANSFER_ENCODING</td>
151
+ <td>=</td>
152
+ <td class="context-item-value">&quot;TRANSFER_ENCODING&quot;</td>
153
+ </tr>
154
+ <tr class="top-aligned-row context-row">
155
+ <td class="context-item-name">CONTENT_LENGTH</td>
156
+ <td>=</td>
157
+ <td class="context-item-value">&quot;CONTENT_LENGTH&quot;</td>
158
+ </tr>
159
+ <tr class="top-aligned-row context-row">
160
+ <td class="context-item-name">SET_COOKIE</td>
161
+ <td>=</td>
162
+ <td class="context-item-value">&quot;SET_COOKIE&quot;</td>
163
+ </tr>
164
+ <tr class="top-aligned-row context-row">
165
+ <td class="context-item-name">LOCATION</td>
166
+ <td>=</td>
167
+ <td class="context-item-value">&quot;LOCATION&quot;</td>
168
+ </tr>
169
+ <tr class="top-aligned-row context-row">
170
+ <td class="context-item-name">HOST</td>
171
+ <td>=</td>
172
+ <td class="context-item-value">&quot;HOST&quot;</td>
173
+ </tr>
174
+ <tr class="top-aligned-row context-row">
175
+ <td class="context-item-name">CRLF</td>
176
+ <td>=</td>
177
+ <td class="context-item-value">&quot;\r\n&quot;</td>
178
+ </tr>
179
+ </table>
180
+ </div>
181
+ </div>
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <!-- if method_list -->
189
+ <div id="methods">
190
+ <h3 class="section-bar">Public Class methods</h3>
191
+
192
+ <div id="method-M000042" class="method-detail">
193
+ <a name="M000042"></a>
194
+
195
+ <div class="method-heading">
196
+ <a href="HttpClient.src/M000042.html" target="Code" class="method-signature"
197
+ onclick="popupCode('HttpClient.src/M000042.html');return false;">
198
+ <span class="method-name">connect</span><span class="method-args">(addr, port = 80, *args)</span>
199
+ </a>
200
+ </div>
201
+
202
+ <div class="method-description">
203
+ <p>
204
+ Connect to the given server, with port 80 as the default
205
+ </p>
206
+ </div>
207
+ </div>
208
+
209
+ <div id="method-M000043" class="method-detail">
210
+ <a name="M000043"></a>
211
+
212
+ <div class="method-heading">
213
+ <a href="HttpClient.src/M000043.html" target="Code" class="method-signature"
214
+ onclick="popupCode('HttpClient.src/M000043.html');return false;">
215
+ <span class="method-name">new</span><span class="method-args">(socket)</span>
216
+ </a>
217
+ </div>
218
+
219
+ <div class="method-description">
220
+ </div>
221
+ </div>
222
+
223
+ <h3 class="section-bar">Public Instance methods</h3>
224
+
225
+ <div id="method-M000045" class="method-detail">
226
+ <a name="M000045"></a>
227
+
228
+ <div class="method-heading">
229
+ <a href="HttpClient.src/M000045.html" target="Code" class="method-signature"
230
+ onclick="popupCode('HttpClient.src/M000045.html');return false;">
231
+ <span class="method-name">method_missing</span><span class="method-args">(method, *args)</span>
232
+ </a>
233
+ </div>
234
+
235
+ <div class="method-description">
236
+ <p>
237
+ Requests can be made through method missing by invoking the HTTP method to
238
+ use, i.e.:
239
+ </p>
240
+ <pre>
241
+ httpclient.get(path, options)
242
+ </pre>
243
+ <p>
244
+ Valid for: get, post, put, delete, head
245
+ </p>
246
+ <p>
247
+ To use other HTTP methods, invoke the <a
248
+ href="HttpClient.html#M000044">request</a> method directly
249
+ </p>
250
+ </div>
251
+ </div>
252
+
253
+ <div id="method-M000047" class="method-detail">
254
+ <a name="M000047"></a>
255
+
256
+ <div class="method-heading">
257
+ <a href="HttpClient.src/M000047.html" target="Code" class="method-signature"
258
+ onclick="popupCode('HttpClient.src/M000047.html');return false;">
259
+ <span class="method-name">on_body_data</span><span class="method-args">(data)</span>
260
+ </a>
261
+ </div>
262
+
263
+ <div class="method-description">
264
+ <p>
265
+ Called when part of the body has been read
266
+ </p>
267
+ </div>
268
+ </div>
269
+
270
+ <div id="method-M000049" class="method-detail">
271
+ <a name="M000049"></a>
272
+
273
+ <div class="method-heading">
274
+ <a href="HttpClient.src/M000049.html" target="Code" class="method-signature"
275
+ onclick="popupCode('HttpClient.src/M000049.html');return false;">
276
+ <span class="method-name">on_error</span><span class="method-args">(reason)</span>
277
+ </a>
278
+ </div>
279
+
280
+ <div class="method-description">
281
+ <p>
282
+ Called when an error occurs during the <a
283
+ href="HttpClient.html#M000044">request</a>
284
+ </p>
285
+ </div>
286
+ </div>
287
+
288
+ <div id="method-M000048" class="method-detail">
289
+ <a name="M000048"></a>
290
+
291
+ <div class="method-heading">
292
+ <a href="HttpClient.src/M000048.html" target="Code" class="method-signature"
293
+ onclick="popupCode('HttpClient.src/M000048.html');return false;">
294
+ <span class="method-name">on_request_complete</span><span class="method-args">()</span>
295
+ </a>
296
+ </div>
297
+
298
+ <div class="method-description">
299
+ <p>
300
+ Called when the <a href="HttpClient.html#M000044">request</a> has completed
301
+ </p>
302
+ </div>
303
+ </div>
304
+
305
+ <div id="method-M000046" class="method-detail">
306
+ <a name="M000046"></a>
307
+
308
+ <div class="method-heading">
309
+ <a href="HttpClient.src/M000046.html" target="Code" class="method-signature"
310
+ onclick="popupCode('HttpClient.src/M000046.html');return false;">
311
+ <span class="method-name">on_response_header</span><span class="method-args">(response_header)</span>
312
+ </a>
313
+ </div>
314
+
315
+ <div class="method-description">
316
+ <p>
317
+ Called when response header has been received
318
+ </p>
319
+ </div>
320
+ </div>
321
+
322
+ <div id="method-M000044" class="method-detail">
323
+ <a name="M000044"></a>
324
+
325
+ <div class="method-heading">
326
+ <a href="HttpClient.src/M000044.html" target="Code" class="method-signature"
327
+ onclick="popupCode('HttpClient.src/M000044.html');return false;">
328
+ <span class="method-name">request</span><span class="method-args">(method, uri, options = {})</span>
329
+ </a>
330
+ </div>
331
+
332
+ <div class="method-description">
333
+ <p>
334
+ Send an HTTP <a href="HttpClient.html#M000044">request</a> and consume the
335
+ response. Supports the following options:
336
+ </p>
337
+ <pre>
338
+ head: {Key: Value}
339
+ Specify an HTTP header, e.g. {'Connection': 'close'}
340
+
341
+ query: {Key: Value}
342
+ Specify query string parameters (auto-escaped)
343
+
344
+ cookies: {Key: Value}
345
+ Specify hash of cookies (auto-escaped)
346
+
347
+ body: String
348
+ Specify the request body (you must encode it for now)
349
+ </pre>
350
+ </div>
351
+ </div>
352
+
353
+ <h3 class="section-bar">Protected Instance methods</h3>
354
+
355
+ <div id="method-M000055" class="method-detail">
356
+ <a name="M000055"></a>
357
+
358
+ <div class="method-heading">
359
+ <a href="HttpClient.src/M000055.html" target="Code" class="method-signature"
360
+ onclick="popupCode('HttpClient.src/M000055.html');return false;">
361
+ <span class="method-name">dispatch</span><span class="method-args">()</span>
362
+ </a>
363
+ </div>
364
+
365
+ <div class="method-description">
366
+ <p>
367
+ Response processing
368
+ </p>
369
+ </div>
370
+ </div>
371
+
372
+ <div id="method-M000050" class="method-detail">
373
+ <a name="M000050"></a>
374
+
375
+ <div class="method-heading">
376
+ <a href="HttpClient.src/M000050.html" target="Code" class="method-signature"
377
+ onclick="popupCode('HttpClient.src/M000050.html');return false;">
378
+ <span class="method-name">on_connect</span><span class="method-args">()</span>
379
+ </a>
380
+ </div>
381
+
382
+ <div class="method-description">
383
+ <p>
384
+ <a href="../Rev.html">Rev</a> callbacks
385
+ </p>
386
+ </div>
387
+ </div>
388
+
389
+ <div id="method-M000051" class="method-detail">
390
+ <a name="M000051"></a>
391
+
392
+ <div class="method-heading">
393
+ <a href="HttpClient.src/M000051.html" target="Code" class="method-signature"
394
+ onclick="popupCode('HttpClient.src/M000051.html');return false;">
395
+ <span class="method-name">on_read</span><span class="method-args">(data)</span>
396
+ </a>
397
+ </div>
398
+
399
+ <div class="method-description">
400
+ </div>
401
+ </div>
402
+
403
+ <div id="method-M000052" class="method-detail">
404
+ <a name="M000052"></a>
405
+
406
+ <div class="method-heading">
407
+ <a href="HttpClient.src/M000052.html" target="Code" class="method-signature"
408
+ onclick="popupCode('HttpClient.src/M000052.html');return false;">
409
+ <span class="method-name">send_request</span><span class="method-args">()</span>
410
+ </a>
411
+ </div>
412
+
413
+ <div class="method-description">
414
+ <p>
415
+ Request sending
416
+ </p>
417
+ </div>
418
+ </div>
419
+
420
+ <div id="method-M000054" class="method-detail">
421
+ <a name="M000054"></a>
422
+
423
+ <div class="method-heading">
424
+ <a href="HttpClient.src/M000054.html" target="Code" class="method-signature"
425
+ onclick="popupCode('HttpClient.src/M000054.html');return false;">
426
+ <span class="method-name">send_request_body</span><span class="method-args">()</span>
427
+ </a>
428
+ </div>
429
+
430
+ <div class="method-description">
431
+ </div>
432
+ </div>
433
+
434
+ <div id="method-M000053" class="method-detail">
435
+ <a name="M000053"></a>
436
+
437
+ <div class="method-heading">
438
+ <a href="HttpClient.src/M000053.html" target="Code" class="method-signature"
439
+ onclick="popupCode('HttpClient.src/M000053.html');return false;">
440
+ <span class="method-name">send_request_header</span><span class="method-args">()</span>
441
+ </a>
442
+ </div>
443
+
444
+ <div class="method-description">
445
+ </div>
446
+ </div>
447
+
448
+
449
+ </div>
450
+
451
+
452
+ </div>
453
+
454
+
455
+ <div id="validator-badges">
456
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
457
+ </div>
458
+
459
+ </body>
460
+ </html>