ronin 0.2.3 → 0.2.4
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.
- data.tar.gz.sig +2 -0
- data/History.txt +43 -0
- data/Manifest.txt +27 -10
- data/README.txt +2 -1
- data/Rakefile +12 -11
- data/TODO.txt +8 -0
- data/bin/{ronin-ls → ronin-list} +2 -2
- data/bin/{ronin-rm → ronin-remove} +2 -2
- data/lib/ronin/cacheable.rb +25 -4
- data/lib/ronin/code/reference.rb +0 -9
- data/lib/ronin/code/symbol_table.rb +5 -5
- data/lib/ronin/code/token.rb +1 -1
- data/lib/ronin/database/database.rb +3 -1
- data/lib/ronin/extensions/kernel.rb +25 -3
- data/lib/ronin/formatting/extensions/binary/file.rb +60 -0
- data/lib/ronin/formatting/extensions/text.rb +1 -0
- data/lib/ronin/formatting/extensions/text/array.rb +67 -0
- data/lib/ronin/model.rb +1 -40
- data/lib/ronin/{has_license.rb → model/has_description.rb} +16 -18
- data/lib/ronin/model/has_license.rb +53 -0
- data/lib/ronin/model/has_name.rb +49 -0
- data/lib/ronin/model/has_version.rb +46 -0
- data/lib/ronin/model/model.rb +64 -0
- data/lib/ronin/network/extensions/http/net.rb +580 -99
- data/lib/ronin/network/http.rb +54 -6
- data/lib/ronin/os.rb +7 -7
- data/lib/ronin/platform/extension.rb +4 -6
- data/lib/ronin/platform/maintainer.rb +1 -1
- data/lib/ronin/platform/object_cache.rb +10 -2
- data/lib/ronin/platform/overlay_cache.rb +1 -1
- data/lib/ronin/platform/platform.rb +5 -3
- data/lib/ronin/platform/ronin.rb +3 -3
- data/lib/ronin/scanners.rb +25 -0
- data/lib/ronin/scanners/exceptions.rb +24 -0
- data/lib/ronin/scanners/exceptions/unknown_category.rb +29 -0
- data/lib/ronin/scanners/scanner.rb +239 -0
- data/lib/ronin/sessions/http.rb +548 -7
- data/lib/ronin/{translators.rb → templates.rb} +1 -1
- data/lib/ronin/templates/erb.rb +56 -0
- data/lib/ronin/ui/command_line/command_line.rb +10 -1
- data/lib/ronin/ui/command_line/commands/{ls.rb → list.rb} +1 -1
- data/lib/ronin/ui/command_line/commands/{rm.rb → remove.rb} +1 -1
- data/lib/ronin/ui/command_line/commands/uninstall.rb +2 -2
- data/lib/ronin/ui/console.rb +66 -17
- data/lib/ronin/ui/shell.rb +16 -36
- data/lib/ronin/version.rb +1 -1
- data/spec/cacheable_spec.rb +1 -1
- data/spec/code/classes/thing.rb +4 -0
- data/spec/code/reference_spec.rb +4 -0
- data/spec/code/symbol_table_spec.rb +5 -1
- data/spec/extensions/kernel_spec.rb +45 -5
- data/spec/extensions/string_spec.rb +4 -0
- data/spec/formatting/binary/integer_spec.rb +3 -3
- data/spec/formatting/binary/string_spec.rb +5 -5
- data/spec/formatting/digest/string_spec.rb +5 -9
- data/spec/formatting/http/string_spec.rb +5 -9
- data/spec/formatting/text/array_spec.rb +64 -0
- data/spec/formatting/text/string_spec.rb +3 -3
- data/spec/model/classes/licensed_model.rb +12 -0
- data/spec/{has_license_spec.rb → model/has_license_spec.rb} +5 -5
- data/spec/network/http_spec.rb +197 -0
- data/spec/os_spec.rb +2 -5
- data/spec/platform/maintainer_spec.rb +30 -0
- data/spec/platform/ronin_spec.rb +2 -2
- data/spec/scanners/classes/another_scanner.rb +16 -0
- data/spec/scanners/classes/example_scanner.rb +22 -0
- data/spec/scanners/scanner_spec.rb +148 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/templates/classes/uses_erb.rb +11 -0
- data/spec/templates/erb_spec.rb +20 -0
- data/static/ronin/platform/overlay.xsl +128 -49
- metadata +83 -30
- metadata.gz.sig +0 -0
- data/lib/ronin/translators/translator.rb +0 -75
- data/spec/classes/licensed_model.rb +0 -12
- data/spec/translators/translator_spec.rb +0 -61
data/lib/ronin/sessions/http.rb
CHANGED
@@ -44,76 +44,612 @@ module Ronin
|
|
44
44
|
# object.
|
45
45
|
#
|
46
46
|
# _options_ may contain the following keys:
|
47
|
-
# <tt>:host</tt>:: The host the HTTP server is running on.
|
48
|
-
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
49
|
-
# <tt>Net::HTTP.default_port</tt>.
|
50
47
|
# <tt>:url</tt>:: The full URL to request.
|
51
48
|
# <tt>:user</tt>:: The user to authenticate with when connecting to the
|
52
49
|
# HTTP server.
|
53
50
|
# <tt>:password</tt>:: The password to authenticate with when
|
54
51
|
# connecting to the HTTP server.
|
52
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
53
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
54
|
+
# <tt>Net::HTTP.default_port</tt>.
|
55
55
|
# <tt>:path</tt>:: The path to request from the HTTP server.
|
56
56
|
#
|
57
57
|
def http_session(options={},&block)
|
58
58
|
Net.http_session(http_merge_options(options),&block)
|
59
59
|
end
|
60
60
|
|
61
|
+
#
|
62
|
+
# Connects to the HTTP server and sends an HTTP Request using the
|
63
|
+
# given _options_. If a _block_ is given it will be passed the newly
|
64
|
+
# created HTTP Request object. Returns the
|
65
|
+
# <tt>Net::HTTP::Response</tt> that was returned.
|
66
|
+
#
|
67
|
+
# _options_ may contain the following keys:
|
68
|
+
# <tt>:method</tt>:: The HTTP method to use for the request.
|
69
|
+
# <tt>:url</tt>:: The full URL to request.
|
70
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
71
|
+
# the HTTP server.
|
72
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
73
|
+
# connecting to the HTTP server.
|
74
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
75
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults
|
76
|
+
# to <tt>Net::HTTP.default_port</tt>.
|
77
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
78
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
79
|
+
# the HTTP server. Defaults to
|
80
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
81
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
82
|
+
# to.
|
83
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
84
|
+
# to.
|
85
|
+
# Defaults to <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
86
|
+
# <tt>:user</tt>:: The user to authenticate with
|
87
|
+
# when connecting to the HTTP
|
88
|
+
# proxy.
|
89
|
+
# <tt>:password</tt>:: The password to authenticate
|
90
|
+
# with when connecting to the
|
91
|
+
# HTTP proxy.
|
92
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the
|
93
|
+
# request. May use Strings or Symbols for the
|
94
|
+
# keys of the Hash.
|
95
|
+
#
|
96
|
+
def http_request(options={},&block)
|
97
|
+
Net.http_request(http_merge_options(options),&block)
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# Performes an HTTP Copy request with the given _options_. If a
|
102
|
+
# _block_ is given, it will be passed the response from the HTTP
|
103
|
+
# server. Returns the response from the HTTP server.
|
104
|
+
#
|
105
|
+
# _options_ may contain the following keys:
|
106
|
+
# <tt>:url</tt>:: The full URL to request.
|
107
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
108
|
+
# the HTTP server.
|
109
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
110
|
+
# connecting to the HTTP server.
|
111
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
112
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
113
|
+
# <tt>Net::HTTP.default_port</tt>.
|
114
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
115
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
116
|
+
# the HTTP server. Defaults to
|
117
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
118
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
119
|
+
# to.
|
120
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
121
|
+
# to. Defaults to
|
122
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
123
|
+
# <tt>:user</tt>:: The user to authenticate with
|
124
|
+
# when connecting to the HTTP
|
125
|
+
# proxy.
|
126
|
+
# <tt>:password</tt>:: The password to authenticate
|
127
|
+
# with when connecting to the
|
128
|
+
# HTTP proxy.
|
129
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
130
|
+
# Copy request. May use Strings or Symbols for the
|
131
|
+
# keys of the Hash.
|
132
|
+
#
|
61
133
|
def http_copy(options={},&block)
|
62
134
|
Net.http_copy(http_merge_options(options),&block)
|
63
135
|
end
|
64
136
|
|
137
|
+
#
|
138
|
+
# Performes an HTTP Delete request with the given _options_. If a
|
139
|
+
# _block_ is given, it will be passed the response from the HTTP
|
140
|
+
# server. Returns the response from the HTTP server.
|
141
|
+
#
|
142
|
+
# _options_ may contain the following keys:
|
143
|
+
# <tt>:url</tt>:: The full URL to request.
|
144
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
145
|
+
# the HTTP server.
|
146
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
147
|
+
# connecting to the HTTP server.
|
148
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
149
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
150
|
+
# <tt>Net::HTTP.default_port</tt>.
|
151
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
152
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
153
|
+
# the HTTP server. Defaults to
|
154
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
155
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
156
|
+
# to.
|
157
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
158
|
+
# to. Defaults to
|
159
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
160
|
+
# <tt>:user</tt>:: The user to authenticate with
|
161
|
+
# when connecting to the HTTP
|
162
|
+
# proxy.
|
163
|
+
# <tt>:password</tt>:: The password to authenticate
|
164
|
+
# with when connecting to the
|
165
|
+
# HTTP proxy.
|
166
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
167
|
+
# Delete request. May use Strings or Symbols for
|
168
|
+
# the keys of the Hash.
|
169
|
+
#
|
65
170
|
def http_delete(options={},&block)
|
66
171
|
Net.http_delete(http_merge_options(options),&block)
|
67
172
|
end
|
68
173
|
|
174
|
+
#
|
175
|
+
# Performes an HTTP Get request with the given _options_. If a _block_
|
176
|
+
# is given, it will be passed the response from the HTTP server.
|
177
|
+
# Returns the response from the HTTP server.
|
178
|
+
#
|
179
|
+
# _options_ may contain the following keys:
|
180
|
+
# <tt>:url</tt>:: The full URL to request.
|
181
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
182
|
+
# the HTTP server.
|
183
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
184
|
+
# connecting to the HTTP server.
|
185
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
186
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
187
|
+
# <tt>Net::HTTP.default_port</tt>.
|
188
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
189
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
190
|
+
# the HTTP server. Defaults to
|
191
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
192
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
193
|
+
# to.
|
194
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
195
|
+
# to. Defaults to
|
196
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
197
|
+
# <tt>:user</tt>:: The user to authenticate with
|
198
|
+
# when connecting to the HTTP
|
199
|
+
# proxy.
|
200
|
+
# <tt>:password</tt>:: The password to authenticate
|
201
|
+
# with when connecting to the
|
202
|
+
# HTTP proxy.
|
203
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
204
|
+
# Get request. May use Strings or Symbols for the
|
205
|
+
# keys of the Hash.
|
206
|
+
#
|
69
207
|
def http_get(options={},&block)
|
70
208
|
Net.http_get(http_merge_options(options),&block)
|
71
209
|
end
|
72
210
|
|
211
|
+
#
|
212
|
+
# Performes an HTTP Get request with the given _options_. If a _block_
|
213
|
+
# is given, it will be passed the response body from the HTTP server.
|
214
|
+
# Returns the response body from the HTTP server.
|
215
|
+
#
|
216
|
+
# _options_ may contain the following keys:
|
217
|
+
# <tt>:url</tt>:: The full URL to request.
|
218
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
219
|
+
# the HTTP server.
|
220
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
221
|
+
# connecting to the HTTP server.
|
222
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
223
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
224
|
+
# <tt>Net::HTTP.default_port</tt>.
|
225
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
226
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
227
|
+
# the HTTP server. Defaults to
|
228
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
229
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
230
|
+
# to.
|
231
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
232
|
+
# to. Defaults to
|
233
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
234
|
+
# <tt>:user</tt>:: The user to authenticate with
|
235
|
+
# when connecting to the HTTP
|
236
|
+
# proxy.
|
237
|
+
# <tt>:password</tt>:: The password to authenticate
|
238
|
+
# with when connecting to the
|
239
|
+
# HTTP proxy.
|
240
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
241
|
+
# Get request. May use Strings or Symbols for the
|
242
|
+
# keys of the Hash.
|
243
|
+
#
|
73
244
|
def http_get_body(options={},&block)
|
74
245
|
Net.http_get_body(http_merge_options(options),&block)
|
75
246
|
end
|
76
247
|
|
248
|
+
#
|
249
|
+
# Performes an HTTP Head request with the given _options_. If a
|
250
|
+
# _block_ is given, it will be passed the response from the HTTP
|
251
|
+
# server. Returns the response from the HTTP server.
|
252
|
+
#
|
253
|
+
# _options_ may contain the following keys:
|
254
|
+
# <tt>:url</tt>:: The full URL to request.
|
255
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
256
|
+
# the HTTP server.
|
257
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
258
|
+
# connecting to the HTTP server.
|
259
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
260
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
261
|
+
# <tt>Net::HTTP.default_port</tt>.
|
262
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
263
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
264
|
+
# the HTTP server. Defaults to
|
265
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
266
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
267
|
+
# to.
|
268
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
269
|
+
# to. Defaults to
|
270
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
271
|
+
# <tt>:user</tt>:: The user to authenticate with
|
272
|
+
# when connecting to the HTTP
|
273
|
+
# proxy.
|
274
|
+
# <tt>:password</tt>:: The password to authenticate
|
275
|
+
# with when connecting to the
|
276
|
+
# HTTP proxy.
|
277
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
278
|
+
# Head request. May use Strings or Symbols for the
|
279
|
+
# keys of the Hash.
|
280
|
+
#
|
77
281
|
def http_head(options={},&block)
|
78
282
|
Net.http_head(http_merge_options(options),&block)
|
79
283
|
end
|
80
284
|
|
285
|
+
#
|
286
|
+
# Performes an HTTP Lock request with the given _options_. If a
|
287
|
+
# _block_ is given, it will be passed the response from the HTTP
|
288
|
+
# server. Returns the response from the HTTP server.
|
289
|
+
#
|
290
|
+
# _options_ may contain the following keys:
|
291
|
+
# <tt>:url</tt>:: The full URL to request.
|
292
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
293
|
+
# the HTTP server.
|
294
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
295
|
+
# connecting to the HTTP server.
|
296
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
297
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
298
|
+
# <tt>Net::HTTP.default_port</tt>.
|
299
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
300
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
301
|
+
# the HTTP server. Defaults to
|
302
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
303
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
304
|
+
# to.
|
305
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
306
|
+
# to. Defaults to
|
307
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
308
|
+
# <tt>:user</tt>:: The user to authenticate with
|
309
|
+
# when connecting to the HTTP
|
310
|
+
# proxy.
|
311
|
+
# <tt>:password</tt>:: The password to authenticate
|
312
|
+
# with when connecting to the
|
313
|
+
# HTTP proxy.
|
314
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
315
|
+
# Lock request. May use Strings or Symbols for the
|
316
|
+
# keys of the Hash.
|
317
|
+
#
|
81
318
|
def http_lock(options={},&block)
|
82
319
|
Net.http_lock(http_merge_options(options),&block)
|
83
320
|
end
|
84
321
|
|
322
|
+
#
|
323
|
+
# Performes an HTTP Mkcol request with the given _options_. If a
|
324
|
+
# _block_ is given, it will be passed the response from the HTTP
|
325
|
+
# server. Returns the response from the HTTP server.
|
326
|
+
#
|
327
|
+
# _options_ may contain the following keys:
|
328
|
+
# <tt>:url</tt>:: The full URL to request.
|
329
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
330
|
+
# the HTTP server.
|
331
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
332
|
+
# connecting to the HTTP server.
|
333
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
334
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
335
|
+
# <tt>Net::HTTP.default_port</tt>.
|
336
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
337
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
338
|
+
# the HTTP server. Defaults to
|
339
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
340
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
341
|
+
# to.
|
342
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
343
|
+
# to. Defaults to
|
344
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
345
|
+
# <tt>:user</tt>:: The user to authenticate with
|
346
|
+
# when connecting to the HTTP
|
347
|
+
# proxy.
|
348
|
+
# <tt>:password</tt>:: The password to authenticate
|
349
|
+
# with when connecting to the
|
350
|
+
# HTTP proxy.
|
351
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
352
|
+
# Mkcol request. May use Strings or Symbols for
|
353
|
+
# the keys of the Hash.
|
354
|
+
#
|
85
355
|
def http_mkcol(options={},&block)
|
86
356
|
Net.http_mkcol(http_merge_options(options),&block)
|
87
357
|
end
|
88
358
|
|
359
|
+
#
|
360
|
+
# Performes an HTTP Move request with the given _options_. If a
|
361
|
+
# _block_ is given, it will be passed the response from the HTTP
|
362
|
+
# server. Returns the response from the HTTP server.
|
363
|
+
#
|
364
|
+
# _options_ may contain the following keys:
|
365
|
+
# <tt>:url</tt>:: The full URL to request.
|
366
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
367
|
+
# the HTTP server.
|
368
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
369
|
+
# connecting to the HTTP server.
|
370
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
371
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
372
|
+
# <tt>Net::HTTP.default_port</tt>.
|
373
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
374
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
375
|
+
# the HTTP server. Defaults to
|
376
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
377
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
378
|
+
# to.
|
379
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
380
|
+
# to. Defaults to
|
381
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
382
|
+
# <tt>:user</tt>:: The user to authenticate with
|
383
|
+
# when connecting to the HTTP
|
384
|
+
# proxy.
|
385
|
+
# <tt>:password</tt>:: The password to authenticate
|
386
|
+
# with when connecting to the
|
387
|
+
# HTTP proxy.
|
388
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
389
|
+
# Move request. May use Strings or Symbols for the
|
390
|
+
# keys of the Hash.
|
391
|
+
#
|
89
392
|
def http_move(options={},&block)
|
90
393
|
Net.http_move(http_merge_options(options),&block)
|
91
394
|
end
|
92
395
|
|
396
|
+
#
|
397
|
+
# Performes an HTTP Options request with the given _options_. If a
|
398
|
+
# _block_ is given, it will be passed the response from the HTTP
|
399
|
+
# server. Returns the response from the HTTP server.
|
400
|
+
#
|
401
|
+
# _options_ may contain the following keys:
|
402
|
+
# <tt>:url</tt>:: The full URL to request.
|
403
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
404
|
+
# the HTTP server.
|
405
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
406
|
+
# connecting to the HTTP server.
|
407
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
408
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
409
|
+
# <tt>Net::HTTP.default_port</tt>.
|
410
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
411
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
412
|
+
# the HTTP server. Defaults to
|
413
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
414
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
415
|
+
# to.
|
416
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
417
|
+
# to. Defaults to
|
418
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
419
|
+
# <tt>:user</tt>:: The user to authenticate with
|
420
|
+
# when connecting to the HTTP
|
421
|
+
# proxy.
|
422
|
+
# <tt>:password</tt>:: The password to authenticate
|
423
|
+
# with when connecting to the
|
424
|
+
# HTTP proxy.
|
425
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
426
|
+
# Options request. May use Strings or Symbols for
|
427
|
+
# the keys of the Hash.
|
428
|
+
#
|
93
429
|
def http_options(options={},&block)
|
94
430
|
Net.http_options(http_merge_options(options),&block)
|
95
431
|
end
|
96
432
|
|
433
|
+
#
|
434
|
+
# Performes an HTTP Post request with the given _options_. If a
|
435
|
+
# _block_ is given, it will be passed the response from the HTTP
|
436
|
+
# server. Returns the response from the HTTP server.
|
437
|
+
#
|
438
|
+
# _options_ may contain the following keys:
|
439
|
+
# <tt>:url</tt>:: The full URL to request.
|
440
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
441
|
+
# the HTTP server.
|
442
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
443
|
+
# connecting to the HTTP server.
|
444
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
445
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
446
|
+
# <tt>Net::HTTP.default_port</tt>.
|
447
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
448
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
449
|
+
# the HTTP server. Defaults to
|
450
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
451
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
452
|
+
# to.
|
453
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
454
|
+
# to. Defaults to
|
455
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
456
|
+
# <tt>:user</tt>:: The user to authenticate with
|
457
|
+
# when connecting to the HTTP
|
458
|
+
# proxy.
|
459
|
+
# <tt>:password</tt>:: The password to authenticate
|
460
|
+
# with when connecting to the
|
461
|
+
# HTTP proxy.
|
462
|
+
# <tt>:post_data</tt>:: The POSTDATA to send with the HTTP Post
|
463
|
+
# request.
|
464
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
465
|
+
# Post request. May use Strings or Symbols for the
|
466
|
+
# keys of the Hash.
|
467
|
+
#
|
97
468
|
def http_post(options={},&block)
|
98
469
|
Net.http_post(http_merge_options(options),&block)
|
99
470
|
end
|
100
471
|
|
472
|
+
#
|
473
|
+
# Performes an HTTP Post request with the given _options_. If a
|
474
|
+
# _block_ is given, it will be passed the response body from the HTTP
|
475
|
+
# server. Returns the response body from the HTTP server.
|
476
|
+
#
|
477
|
+
# _options_ may contain the following keys:
|
478
|
+
# <tt>:url</tt>:: The full URL to request.
|
479
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
480
|
+
# the HTTP server.
|
481
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
482
|
+
# connecting to the HTTP server.
|
483
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
484
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
485
|
+
# <tt>Net::HTTP.default_port</tt>.
|
486
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
487
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
488
|
+
# the HTTP server. Defaults to
|
489
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
490
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
491
|
+
# to.
|
492
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
493
|
+
# to. Defaults to
|
494
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
495
|
+
# <tt>:user</tt>:: The user to authenticate with
|
496
|
+
# when connecting to the HTTP
|
497
|
+
# proxy.
|
498
|
+
# <tt>:password</tt>:: The password to authenticate
|
499
|
+
# with when connecting to the
|
500
|
+
# HTTP proxy.
|
501
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
502
|
+
# Post request. May use Strings or Symbols for the
|
503
|
+
# keys of the Hash.
|
504
|
+
#
|
101
505
|
def http_post_body(options={},&block)
|
102
506
|
Net.http_post_body(http_merge_options(options),&block)
|
103
507
|
end
|
104
508
|
|
509
|
+
#
|
510
|
+
# Performes an HTTP Propfind request with the given _options_. If a
|
511
|
+
# _block_ is given, it will be passed the response from the HTTP
|
512
|
+
# server. Returns the response from the HTTP server.
|
513
|
+
#
|
514
|
+
# _options_ may contain the following keys:
|
515
|
+
# <tt>:url</tt>:: The full URL to request.
|
516
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
517
|
+
# the HTTP server.
|
518
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
519
|
+
# connecting to the HTTP server.
|
520
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
521
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
522
|
+
# <tt>Net::HTTP.default_port</tt>.
|
523
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
524
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
525
|
+
# the HTTP server. Defaults to
|
526
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
527
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
528
|
+
# to.
|
529
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
530
|
+
# to. Defaults to
|
531
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
532
|
+
# <tt>:user</tt>:: The user to authenticate with
|
533
|
+
# when connecting to the HTTP
|
534
|
+
# proxy.
|
535
|
+
# <tt>:password</tt>:: The password to authenticate
|
536
|
+
# with when connecting to the
|
537
|
+
# HTTP proxy.
|
538
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
539
|
+
# Propfind request. May use Strings or Symbols for
|
540
|
+
# the keys of the Hash.
|
541
|
+
#
|
105
542
|
def http_prop_find(options={},&block)
|
106
543
|
Net.http_prop_find(http_merge_options(options),&block)
|
107
544
|
end
|
108
545
|
|
109
|
-
|
110
|
-
|
546
|
+
#
|
547
|
+
# Performes an HTTP Proppatch request with the given _options_. If a
|
548
|
+
# _block_ is given, it will be passed the response from the HTTP
|
549
|
+
# server. Returns the response from the HTTP server.
|
550
|
+
#
|
551
|
+
# _options_ may contain the following keys:
|
552
|
+
# <tt>:url</tt>:: The full URL to request.
|
553
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
554
|
+
# the HTTP server.
|
555
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
556
|
+
# connecting to the HTTP server.
|
557
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
558
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
559
|
+
# <tt>Net::HTTP.default_port</tt>.
|
560
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
561
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
562
|
+
# the HTTP server. Defaults to
|
563
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
564
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
565
|
+
# to.
|
566
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
567
|
+
# to. Defaults to
|
568
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
569
|
+
# <tt>:user</tt>:: The user to authenticate with
|
570
|
+
# when connecting to the HTTP
|
571
|
+
# proxy.
|
572
|
+
# <tt>:password</tt>:: The password to authenticate
|
573
|
+
# with when connecting to the
|
574
|
+
# HTTP proxy.
|
575
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
576
|
+
# Proppatch request. May use Strings or Symbols
|
577
|
+
# for the keys of the Hash.
|
578
|
+
#
|
579
|
+
def http_prop_patch(options={},&block)
|
580
|
+
Net.http_prop_patch(http_merge_options(options),&block)
|
111
581
|
end
|
112
582
|
|
583
|
+
#
|
584
|
+
# Performes an HTTP Trace request with the given _options_. If a
|
585
|
+
# _block_ is given, it will be passed the response from the HTTP
|
586
|
+
# server. Returns the response from the HTTP server.
|
587
|
+
#
|
588
|
+
# _options_ may contain the following keys:
|
589
|
+
# <tt>:url</tt>:: The full URL to request.
|
590
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
591
|
+
# the HTTP server.
|
592
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
593
|
+
# connecting to the HTTP server.
|
594
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
595
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
596
|
+
# <tt>Net::HTTP.default_port</tt>.
|
597
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
598
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
599
|
+
# the HTTP server. Defaults to
|
600
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
601
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
602
|
+
# to.
|
603
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
604
|
+
# to. Defaults to
|
605
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
606
|
+
# <tt>:user</tt>:: The user to authenticate with
|
607
|
+
# when connecting to the HTTP
|
608
|
+
# proxy.
|
609
|
+
# <tt>:password</tt>:: The password to authenticate
|
610
|
+
# with when connecting to the
|
611
|
+
# HTTP proxy.
|
612
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
613
|
+
# Trace request. May use Strings or Symbols for
|
614
|
+
# the keys of the Hash.
|
615
|
+
#
|
113
616
|
def http_trace(options={},&block)
|
114
617
|
Net.http_trace(http_merge_options(options),&block)
|
115
618
|
end
|
116
619
|
|
620
|
+
#
|
621
|
+
# Performes an HTTP Unlock request with the given _options_. If a
|
622
|
+
# _block_ is given, it will be passed the response from the HTTP
|
623
|
+
# server. Returns the response from the HTTP server.
|
624
|
+
#
|
625
|
+
# _options_ may contain the following keys:
|
626
|
+
# <tt>:url</tt>:: The full URL to request.
|
627
|
+
# <tt>:user</tt>:: The user to authenticate with when connecting to
|
628
|
+
# the HTTP server.
|
629
|
+
# <tt>:password</tt>:: The password to authenticate with when
|
630
|
+
# connecting to the HTTP server.
|
631
|
+
# <tt>:host</tt>:: The host the HTTP server is running on.
|
632
|
+
# <tt>:port</tt>:: The port the HTTP server is running on. Defaults to
|
633
|
+
# <tt>Net::HTTP.default_port</tt>.
|
634
|
+
# <tt>:path</tt>:: The path to request from the HTTP server.
|
635
|
+
# <tt>:proxy</tt>:: A Hash of proxy settings to use when connecting to
|
636
|
+
# the HTTP server. Defaults to
|
637
|
+
# <tt>Ronin::Network::HTTP.proxy</tt>.
|
638
|
+
# <tt>:host</tt>:: The HTTP proxy host to connect
|
639
|
+
# to.
|
640
|
+
# <tt>:port</tt>:: The HTTP proxy port to connect
|
641
|
+
# to. Defaults to
|
642
|
+
# <tt>Ronin::Network::HTTP.default_proxy_port</tt>.
|
643
|
+
# <tt>:user</tt>:: The user to authenticate with
|
644
|
+
# when connecting to the HTTP
|
645
|
+
# proxy.
|
646
|
+
# <tt>:password</tt>:: The password to authenticate
|
647
|
+
# with when connecting to the
|
648
|
+
# HTTP proxy.
|
649
|
+
# <tt>:headers</tt>:: A Hash of the HTTP Headers to send with the HTTP
|
650
|
+
# Unlock request. May use Strings or Symbols for
|
651
|
+
# the keys of the Hash.
|
652
|
+
#
|
117
653
|
def http_unlock(options={},&block)
|
118
654
|
Net.http_unlock(http_merge_options(options),&block)
|
119
655
|
end
|
@@ -121,8 +657,13 @@ module Ronin
|
|
121
657
|
private
|
122
658
|
|
123
659
|
def http_merge_options(options={})
|
124
|
-
options[:host] ||= @
|
125
|
-
options[:port] ||= @
|
660
|
+
options[:host] ||= @host if @host
|
661
|
+
options[:port] ||= @port if @port
|
662
|
+
|
663
|
+
options[:headers] ||= {}
|
664
|
+
headers = options[:headers]
|
665
|
+
|
666
|
+
headers[:host] ||= @http_vhost if @http_vhost
|
126
667
|
|
127
668
|
options[:user] ||= @http_user if @http_user
|
128
669
|
options[:password] ||= @http_password if @http_password
|