Method: ShopifyAPI::Clients::HttpClient#initialize
- Defined in:
- lib/shopify_api/clients/http_client.rb
#initialize(base_path:, session: nil) ⇒ HttpClient
Returns a new instance of HttpClient.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/shopify_api/clients/http_client.rb', line 12 def initialize(base_path:, session: nil) session ||= Context.active_session raise Errors::NoActiveSessionError, "No passed or active session" unless session api_host = Context.api_host @base_uri = T.let("https://#{api_host || session.shop}", String) @base_uri_and_path = T.let("#{@base_uri}#{base_path}", String) user_agent_prefix = Context.user_agent_prefix.nil? ? "" : "#{Context.user_agent_prefix} | " @headers = T.let({ "User-Agent": "#{user_agent_prefix}Shopify API Library v#{VERSION} | Ruby #{RUBY_VERSION}", "Accept": "application/json", }, T::Hash[T.any(Symbol, String), T.untyped]) @headers["Host"] = session.shop unless api_host.nil? unless session.access_token.nil? || T.must(session.access_token).empty? @headers["X-Shopify-Access-Token"] = T.cast(session.access_token, String) end end |