diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/af83/http_fetcher.rb | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/af83/http_fetcher.rb b/lib/af83/http_fetcher.rb new file mode 100644 index 000000000..514dd1dc9 --- /dev/null +++ b/lib/af83/http_fetcher.rb @@ -0,0 +1,21 @@ +module AF83 +  class HTTPFetcher +    def self.get_resource(*args) +      new.get_resource(*args) +    end + +    def get_resource(host:, path:, token: nil, params: {}, parse_json: false)  +      Faraday.new(url: host) do |c| +        c.headers['Authorization'] = "Token token=#{token.inspect}" if token +        c.adapter  Faraday.default_adapter + +        resp = c.get path, params +        if resp.status == 200 +          return parse_json ? JSON.parse(resp.body) : resp.body +        else +          raise "Error on api request status : #{resp.status} => #{resp.body}" +        end +      end +    end +  end +end  | 
