Class: Stacktor::Core::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/stacktor/core/client.rb

Direct Known Subclasses

Identity::V2::Client, Swift::V1::Client

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



7
8
9
# File 'lib/stacktor/core/client.rb', line 7

def initialize(options={})
  @settings = options
end

Instance Method Details

#before_request(&block) ⇒ Object



15
16
17
# File 'lib/stacktor/core/client.rb', line 15

def before_request(&block)
  @before_request_fn = block
end

#build_headersObject



43
44
45
# File 'lib/stacktor/core/client.rb', line 43

def build_headers
  {}
end

#execute_request(opts) ⇒ Object

Executes request, running any handlers beforehand and setting headers as necessary

params:

req - request to process


33
34
35
36
37
38
39
40
41
# File 'lib/stacktor/core/client.rb', line 33

def execute_request(opts)
  if !@before_request_fn.nil?
    @before_request_fn.call(opts, self)
  end
  opts[:url] = self.url + opts[:path]
  opts[:headers] = build_headers.merge( (opts[:headers] || {}) )
  req = Request.new(opts)
  resp = req.execute
end

#settingsObject



11
12
13
# File 'lib/stacktor/core/client.rb', line 11

def settings
  @settings
end

#urlObject



19
20
21
# File 'lib/stacktor/core/client.rb', line 19

def url
  @settings[:url]
end

#url=(val) ⇒ Object



23
24
25
# File 'lib/stacktor/core/client.rb', line 23

def url=(val)
  @settings[:url] = val
end