Class: Cloudflare::Connection
- Inherits:
-
Object
- Object
- Cloudflare::Connection
- Defined in:
- lib/cloudflare/connection.rb
Overview
Internal Faraday wrapper. Singleton; shared by every resource across every product. Auth, retries, and JSON encoding live here so the Resource layer can stay focused on REST semantics.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.instance ⇒ Object
7 |
# File 'lib/cloudflare/connection.rb', line 7 def instance = @instance ||= new |
.reset! ⇒ Object
8 |
# File 'lib/cloudflare/connection.rb', line 8 def reset! = @instance = nil |
Instance Method Details
#request(method, path, body: nil, params: nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/cloudflare/connection.rb', line 11 def request(method, path, body: nil, params: nil) raise Error, "Cloudflare.api_token not configured" if Cloudflare.api_token.nil? faraday.public_send(method, path.delete_prefix("/")) do |req| req.headers["Authorization"] = "Bearer #{Cloudflare.api_token}" req.headers["User-Agent"] = Cloudflare.configuration.user_agent req.params = compact(params) if params req.body = compact(body) if body end.body rescue Faraday::Error => e raise translate_error(e) end |