Class: Seahorse::Client::Http::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/seahorse/client/http/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Request

Returns a new instance of Request.

Options Hash (options):

  • :endpoint (URI::HTTP, URI::HTTPS) — default: nil
  • :http_method (String) — default: 'GET'
  • :headers (Headers) — default: Headers.new
  • :body (Body) — default: StringIO.new


13
14
15
16
17
18
# File 'lib/seahorse/client/http/request.rb', line 13

def initialize(options = {})
  self.endpoint = options[:endpoint]
  self.http_method = options[:http_method] || 'GET'
  self.headers = Headers.new(options[:headers] || {})
  self.body = options[:body]
end

Instance Attribute Details

#headersHeaders



24
25
26
# File 'lib/seahorse/client/http/request.rb', line 24

def headers
  @headers
end

#http_methodString



21
22
23
# File 'lib/seahorse/client/http/request.rb', line 21

def http_method
  @http_method
end

Instance Method Details

#bodyIO



44
45
46
# File 'lib/seahorse/client/http/request.rb', line 44

def body
  @body
end

#body=(io) ⇒ Object



57
58
59
60
61
62
63
# File 'lib/seahorse/client/http/request.rb', line 57

def body=(io)
  @body =case io
    when nil then StringIO.new('')
    when String then StringIO.new(io)
    else io
  end
end

#body_contentsString



49
50
51
52
53
54
# File 'lib/seahorse/client/http/request.rb', line 49

def body_contents
  body.rewind
  contents = body.read
  body.rewind
  contents
end

#endpointURI::HTTP, ...



27
28
29
# File 'lib/seahorse/client/http/request.rb', line 27

def endpoint
  @endpoint
end

#endpoint=(endpoint) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/seahorse/client/http/request.rb', line 32

def endpoint=(endpoint)
  endpoint = URI.parse(endpoint) if endpoint.is_a?(String)
  if endpoint.nil? or URI::HTTP === endpoint or URI::HTTPS === endpoint
    @endpoint = endpoint
  else
    msg = "invalid endpoint, expected URI::HTTP, URI::HTTPS, or nil, "
    msg << "got #{endpoint.inspect}"
    raise ArgumentError, msg
  end
end