Class: MetaInspector::Request
- Inherits:
-
Object
- Object
- MetaInspector::Request
- Extended by:
- Forwardable
- Defined in:
- lib/meta_inspector/request.rb
Overview
Makes the request to the server
Instance Method Summary collapse
- #content_type ⇒ Object
-
#initialize(initial_url, options = {}) ⇒ Request
constructor
A new instance of Request.
- #read ⇒ Object
- #response ⇒ Object
Constructor Details
#initialize(initial_url, options = {}) ⇒ Request
Returns a new instance of Request.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/meta_inspector/request.rb', line 10 def initialize(initial_url, = {}) @url = initial_url fail MetaInspector::RequestError.new('URL must be HTTP') unless @url.url =~ /http[s]?:\/\//i @allow_redirections = [:allow_redirections] @connection_timeout = [:connection_timeout] @read_timeout = [:read_timeout] @retries = [:retries] @headers = [:headers] @faraday_options = [:faraday_options] || {} @faraday_http_cache = [:faraday_http_cache] response # request early so we can fail early end |
Instance Method Details
#content_type ⇒ Object
33 34 35 36 |
# File 'lib/meta_inspector/request.rb', line 33 def content_type return nil if response.headers['content-type'].nil? response.headers['content-type'].split(';')[0] if response end |
#read ⇒ Object
29 30 31 |
# File 'lib/meta_inspector/request.rb', line 29 def read response.body if response end |
#response ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/meta_inspector/request.rb', line 38 def response @response ||= fetch rescue Faraday::TimeoutError => e raise MetaInspector::TimeoutError.new(e) rescue Faraday::Error::ConnectionFailed, Faraday::SSLError, URI::InvalidURIError, FaradayMiddleware::RedirectLimitReached => e raise MetaInspector::RequestError.new(e) end |