Sha256: 646929058cbaa7d4967645e379b230d888924379b5cc9058406f4568040ada00
Contents?: true
Size: 1.97 KB
Versions: 4
Compression:
Stored size: 1.97 KB
Contents
# frozen_string_literal: true module MyApiClient # Provides HTTP request method. module Request include Basic include Pagination private # Executes HTTP request with relative URI. # # @param http_method [Symbol] # HTTP method. e.g. `:get`, `:post`, `:put`, `:patch` and `:delete`. # @param pathname [String] # Pathname of the request target URL. # It's joined with the defined by `endpoint`. # @param headers [Hash, nil] # Request headers. # @param query [Hash, nil] # Query string. # @param body [Hash, nil] # Request body. # @return [Sawyer::Response] # Response instance. def _request_with_relative_uri(http_method, pathname, headers, query, body) query_strings = query.present? ? '?' + query&.to_query : '' uri = URI.join(File.join(endpoint, pathname), query_strings) _request_with_absolute_uri(http_method, uri, headers, body) end # Executes HTTP request with absolute URI. # # @param http_method [Symbol] # HTTP method. e.g. `:get`, `:post`, `:put`, `:patch` and `:delete`. # @param uri [URI] # Request target URI including query strings. # @param headers [Hash, nil] # Request headers. # @param body [Hash, nil] # Request body. # @return [Sawyer::Response] # Response instance. def _request_with_absolute_uri(http_method, uri, headers, body) Executor.call( instance: self, request_params: Params::Request.new(http_method, uri, headers, body), request_logger: Logger.new(logger, http_method, uri), faraday_options: faraday_options ) end # Generates options for the faraday instance. # # @return [Hash] Generated options. def faraday_options { request: { timeout: (http_read_timeout if respond_to?(:http_read_timeout)), open_timeout: (http_open_timeout if respond_to?(:http_open_timeout)), }.compact, } end end end
Version data entries
4 entries across 4 versions & 1 rubygems