Class: Easywins::Target
- Inherits:
-
Object
show all
- Defined in:
- lib/easywins/target.rb
Defined Under Namespace
Classes: InvalidBaseUrlError, TooManyRedirectsError
Constant Summary
collapse
- URL_REGEX =
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?\??$/
- REDIRECT_CODES =
[300, 301, 302, 303, 305]
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(base_url, options = {}) ⇒ Target
14
15
16
17
|
# File 'lib/easywins/target.rb', line 14
def initialize(base_url, options = {})
@base_url = validate_and_normalize_url!(base_url)
@options = options
end
|
Instance Attribute Details
#base_url ⇒ Object
Returns the value of attribute base_url.
6
7
8
|
# File 'lib/easywins/target.rb', line 6
def base_url
@base_url
end
|
Instance Method Details
#alive? ⇒ Boolean
28
29
30
31
32
|
# File 'lib/easywins/target.rb', line 28
def alive?
response = request('/', true)
rescue *HttpClient::HANDLED_EXCEPTIONS
false
end
|
#redirects? ⇒ Boolean
34
35
36
37
38
39
40
41
42
|
# File 'lib/easywins/target.rb', line 34
def redirects?
final_url = validate_and_normalize_url!(follow_redirects!("#{@base_url}/"))
if @base_url != final_url
@base_url = final_url
true
else
false
end
end
|
#request(path, use_get = false) ⇒ Object
19
20
21
22
23
24
25
26
|
# File 'lib/easywins/target.rb', line 19
def request(path, use_get = false)
url = "#{@base_url}#{path}"
if use_get
http_client.do_get(url, {}, :verify => @options[:verify])
else
http_client.do_head(url, {}, :verify => @options[:verify])
end
end
|