class Firebase::Admin::Internal::HTTPClient

A class to work with

Constants

USER_AGENT

The admin sdk user agent.

Public Class Methods

new(uri: nil, credentials: nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 12
def initialize(uri: nil, credentials: nil)
  @uri = uri ? Faraday::Utils::URI(uri) : nil
  @credentials = credentials
end

Public Instance Methods

delete(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 25
def delete(url = nil, params = nil, headers = nil)
  connection.delete(url, params, headers)
end
get(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 21
def get(url = nil, params = nil, headers = nil)
  connection.get(url, params, headers)
end
head(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 17
def head(url = nil, params = nil, headers = nil)
  connection.head(url, params, headers)
end
patch(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 41
def patch(url = nil, params = nil, headers = nil)
  connection.patch(url, params, headers)
end
post(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 37
def post(url = nil, params = nil, headers = nil)
  connection.post(url, params, headers)
end
put(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 33
def put(url = nil, params = nil, headers = nil)
  connection.put(url, params, headers)
end
trace(url = nil, params = nil, headers = nil) click to toggle source
# File lib/firebase/admin/internal/http_client.rb, line 29
def trace(url = nil, params = nil, headers = nil)
  connection.trace(url, params, headers)
end

Private Instance Methods

connection() click to toggle source

@return [Faraday::Connection]

# File lib/firebase/admin/internal/http_client.rb, line 48
def connection
  options = {
    headers: {
      Accept: "application/json; charset=utf-8",
      "Content-Type": "application/json; charset=utf-8",
      "User-Agent": USER_AGENT
    }
  }

  @connection ||= Faraday::Connection.new(@uri, options) do |c|
    c.use CredentialsMiddleware, credentials: @credentials unless @credentials.nil?
    c.use Faraday::Request::UrlEncoded
    c.use FaradayMiddleware::EncodeJson
    c.use Faraday::Response::ParseJson
    c.use Faraday::Response::RaiseError
    c.adapter(Faraday.default_adapter)
  end
end