Class: AuthOriginControl::SignedRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/auth_origin_control/signed_request/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(url, args = {}) ⇒ SignedRequest

Returns a new instance of SignedRequest.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/auth_origin_control/signed_request/request.rb', line 4

def initialize(url, args={})
  @request_uri = url
  
  @payload      = args.delete(:payload)
  @method       = args.delete(:method) || :get
  @timeout      = args.delete(:timeout) || -1
  @open_timeout = args.delete(:open_timeout) || -1
  @content_type = args[:content_type]
  @accept       = args[:accept]
  @headers      = args

  @self_id = AuthOriginControl.self_identity[:access_id]
  @self_secret = AuthOriginControl.self_identity[:secret_key]
end

Instance Method Details

#authority_requestObject

RestClient Request

# Net::Http # _request = Net::HTTP::Get.new(uri_string)



67
68
69
70
71
72
73
74
# File 'lib/auth_origin_control/signed_request/request.rb', line 67

def authority_request
  RestClient::Request.new(
    :url          => @request_uri,
    :payload      => @payload,
    :timeout      => @timeout,
    :headers      => @headers,
    :method       => @method)
end

#decode(raw_result) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/auth_origin_control/signed_request/request.rb', line 40

def decode raw_result
  format = @accept || @content_type
  case format
  when :text
    raw_result
  when :xml
    raw_result
  else
    ActiveSupport::JSON.decode(raw_result)
  end
end

#resultObject

Sends a cross_border_request

rest_client_request = RestClient::Request.new( :url => uri_string, :headers => {}, :method => :get)

Net::Http uri = URI(uri_string) Net::HTTP.start(uri.host, uri.port) do |http|

_request = Net::HTTP::Get.new(uri_string)
ApiAuth.sign!(_request, self_identity[:access_id], self_identity[:secret_key])
return http.request _request

end sign the request and send



35
36
37
38
# File 'lib/auth_origin_control/signed_request/request.rb', line 35

def result
  _rslt_raw = result_raw
  _rslt_raw && _rslt_raw.code != 401 ? decode(_rslt_raw) : {error: _rslt_raw, code: _rslt_raw.try(:code)}
end

#result_rawObject



52
53
54
55
56
# File 'lib/auth_origin_control/signed_request/request.rb', line 52

def result_raw
  signed_authority_request.execute do |response, request, result|
    return response
  end
end

#signed_authority_requestObject



58
59
60
# File 'lib/auth_origin_control/signed_request/request.rb', line 58

def signed_authority_request
  ::ApiAuth.sign!(authority_request, @self_id, @self_secret)
end