Module: Micky
- Defined in:
- lib/micky.rb,
lib/micky/uri.rb,
lib/micky/errors.rb,
lib/micky/request.rb,
lib/micky/version.rb,
lib/micky/response.rb
Defined Under Namespace
Modules: URI
Classes: ClientError, Error, HTTPClientError, HTTPServerError, HostError, InvalidURIError, NoRedirectLocation, Request, Response, ServerError, TooManyRedirects
Constant Summary
collapse
- DEFAULTS =
{
raise_errors: false,
max_redirects: 20,
timeout: 10,
skip_resolve: false,
resolve_timeout: 5,
oauth: {},
query: {},
headers: {},
parsers: {
'application/json' => -> (body) {
require 'json' unless defined? JSON
JSON.parse(body) rescue nil
}
},
logger: Logger.new(STDOUT),
}
- HTTP_URI_REGEX =
%r{\Ahttps?:/+}
- VERSION =
'0.7.0'
Class Method Summary
collapse
Class Method Details
.get(uri, opts = {}) ⇒ Object
39
40
41
|
# File 'lib/micky.rb', line 39
def self.get(uri, opts = {})
Request.new(opts).get(uri)
end
|
.head(uri, opts = {}) ⇒ Object
43
44
45
|
# File 'lib/micky.rb', line 43
def self.head(uri, opts = {})
Request.new(opts).head(uri)
end
|
.URI(uri) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/micky/uri.rb', line 6
def self.URI(uri)
uri = uri.to_s.strip
if uri =~ HTTP_URI_REGEX
uri.sub! %r{/+}, '//'.freeze
else
uri.sub! %r{/+}, ''.freeze
uri = "http://#{uri}"
end
uri = begin
::URI.parse(uri)
rescue ::URI::InvalidURIError
begin
::URI.parse(::URI::Parser.new.escape(uri))
rescue ::URI::InvalidURIError
end
end
uri if uri&.host
end
|