Sha256: 1185ce93ff5410c3cd7b778666566f2a2166c711ea1d8f4806f713a5c48495be
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
module Lifen class UserAuthenticatedClient < Client def initialize(token) @token = token end attr_reader :token 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 UnauthorizedError, "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 def post(url, params = {}) request(:post, url, params) end def get(url, params = {}) request(:get, url, params) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lifen-0.2.1 | lib/lifen/user_authenticated_client.rb |
lifen-0.2.0 | lib/lifen/user_authenticated_client.rb |
lifen-0.1.5 | lib/lifen/user_authenticated_client.rb |