Class: MessageExchange::Request
- Inherits:
-
Object
- Object
- MessageExchange::Request
- Defined in:
- lib/message_exchange/request.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
- #http ⇒ Object
-
#initialize(uri, params = {}) ⇒ Request
constructor
A new instance of Request.
- #port ⇒ Object
- #request ⇒ Object
- #response ⇒ Object
Constructor Details
#initialize(uri, params = {}) ⇒ Request
Returns a new instance of Request.
5 6 7 8 |
# File 'lib/message_exchange/request.rb', line 5 def initialize(uri, params = {}) @uri = URI(uri) @params = params end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
3 4 5 |
# File 'lib/message_exchange/request.rb', line 3 def params @params end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
3 4 5 |
# File 'lib/message_exchange/request.rb', line 3 def uri @uri end |
Instance Method Details
#http ⇒ Object
24 25 26 27 28 29 |
# File 'lib/message_exchange/request.rb', line 24 def http Net::HTTP.new(uri.host, port).tap do |http| http.open_timeout = 0.1 http.read_timeout = 0.25 end end |
#port ⇒ Object
14 15 16 |
# File 'lib/message_exchange/request.rb', line 14 def port 80 end |
#request ⇒ Object
10 11 12 |
# File 'lib/message_exchange/request.rb', line 10 def request raise NotImplementedError, "Subclasses must implement this" end |
#response ⇒ Object
18 19 20 21 22 |
# File 'lib/message_exchange/request.rb', line 18 def response @response ||= Response.new(http.request(request)) rescue Timeout::Error @response ||= ServerErrorResponse.new end |