Class: Lifen::UserAuthenticatedClient
- Defined in:
- lib/lifen/user_authenticated_client.rb
Instance Attribute Summary collapse
-
#token ⇒ Object
readonly
Returns the value of attribute token.
Instance Method Summary collapse
- #get(url, params = {}) ⇒ Object
-
#initialize(token) ⇒ UserAuthenticatedClient
constructor
A new instance of UserAuthenticatedClient.
- #post(url, params = {}) ⇒ Object
- #request(mode, url, params = {}) ⇒ Object
Constructor Details
#initialize(token) ⇒ UserAuthenticatedClient
Returns a new instance of UserAuthenticatedClient.
4 5 6 |
# File 'lib/lifen/user_authenticated_client.rb', line 4 def initialize(token) @token = token end |
Instance Attribute Details
#token ⇒ Object (readonly)
Returns the value of attribute token.
8 9 10 |
# File 'lib/lifen/user_authenticated_client.rb', line 8 def token @token end |
Instance Method Details
#get(url, params = {}) ⇒ Object
40 41 42 |
# File 'lib/lifen/user_authenticated_client.rb', line 40 def get(url, params = {}) request(:get, url, params) end |
#post(url, params = {}) ⇒ Object
36 37 38 |
# File 'lib/lifen/user_authenticated_client.rb', line 36 def post(url, params = {}) request(:post, url, params) end |
#request(mode, url, params = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/lifen/user_authenticated_client.rb', line 10 def request(mode, url, params = {}) response = faraday_client.send(mode) do |req| req.url url req.headers['x-auth-token'] = token req.headers['Content-Type'] = "application/json" req.body = JSON.generate(params) end if response.status == 500 json = JSON.parse response.body trace_id = json.fetch("X-B3-TraceId", "unknown") raise Error, "Error 500, Internal server error (trace ID: #{trace_id})" end raise , "Token is not valid" if response.status == 401 raise Error, "Action is forbidden" if response.status == 403 raise InvalidParamsError, "Invalid params" if response.status == 400 json = JSON.parse response.body json end |