Class: BetfairApiNgRails::Api::Http::Requester

Inherits:
Object
  • Object
show all
Includes:
BetfairApiNgRails::Api::Helper
Defined in:
lib/betfair_api_ng_rails/api/http/requester.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from BetfairApiNgRails::Api::Helper

#prepare_api_req_json, #read_certificate_file, #read_file, #read_rsa_file

Constructor Details

#initialize(url, use_ssl = true) ⇒ Requester

Returns a new instance of Requester.



14
15
16
17
18
19
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 14

def initialize(url, use_ssl = true)
  @uri = URI.parse url
  @http = Net::HTTP.new uri.host, uri.port
  http.use_ssl = use_ssl
  @request = Net::HTTP::Post.new uri.request_uri
end

Instance Attribute Details

#httpObject (readonly)

Returns the value of attribute http.



12
13
14
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 12

def http
  @http
end

#requestObject (readonly)

Returns the value of attribute request.



12
13
14
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 12

def request
  @request
end

#uriObject (readonly)

Returns the value of attribute uri.



12
13
14
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 12

def uri
  @uri
end

Instance Method Details

#do_requestObject



21
22
23
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 21

def do_request
  Api::Http::Responser.new http.request(request)
end

#set_accept_header(value) ⇒ Object



48
49
50
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 48

def set_accept_header(value)
  set_header 'Accept', value
end

#set_api_req_body(method, params = {}) ⇒ Object



65
66
67
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 65

def set_api_req_body(method, params = {})
  set_request_body prepare_api_req_json(method, params)
end

#set_auth_headers(app_key, session_key = nil) ⇒ Object



43
44
45
46
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 43

def set_auth_headers(app_key, session_key = nil)
  set_header "X-Application", app_key
  set_header "X-Authentication", session_key if session_key
end

#set_crt_file(path) ⇒ Object



25
26
27
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 25

def set_crt_file(path)
  http.cert = read_certificate_file(path)
end

#set_form_data(values) ⇒ Object



56
57
58
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 56

def set_form_data(values)
  request.set_form_data values
end

#set_header(name, value) ⇒ Object



69
70
71
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 69

def set_header(name, value)
  request[name] = value
end

#set_key_file(path) ⇒ Object



29
30
31
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 29

def set_key_file(path)
  http.key = read_rsa_file(path)
end

#set_request_body(body) ⇒ Object



60
61
62
63
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 60

def set_request_body(body)
  BetfairApiNgRails.log.write("==> Setting request body #{body}")
  request.body = body
end

#set_request_headers(headers) ⇒ Object



52
53
54
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 52

def set_request_headers(headers)
  headers.each { |name, value| request[name] = value }
end

#set_ssl_files(crt_path, key_path, verify = OpenSSL::SSL::VERIFY_PEER) ⇒ Object



37
38
39
40
41
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 37

def set_ssl_files(crt_path, key_path, verify = OpenSSL::SSL::VERIFY_PEER)
  set_crt_file crt_path
  set_key_file key_path
  set_verify_mode verify
end

#set_verify_mode(value) ⇒ Object



33
34
35
# File 'lib/betfair_api_ng_rails/api/http/requester.rb', line 33

def set_verify_mode(value)
  http.verify_mode = value
end