Sha256: b389e08d2db7a2232591e420421fa33f39b3540bbf5f579eacd6963f333c152a

Contents?: true

Size: 832 Bytes

Versions: 1

Compression:

Stored size: 832 Bytes

Contents

require 'smartsheet/error'

module Smartsheet
  module API
    # Composes {EndpointSpec endpoint specifications} and {RequestSpec request specifications} to
    # form a single {Request} that it submits to the provided client
    class RequestClient
      def initialize(token, client, base_url, assume_user: nil, logger: MuteRequestLogger.new)
        @token = token
        @client = client
        @assume_user = assume_user
        @logger = logger
        @base_url = base_url
      end

      def make_request(endpoint_spec, request_spec)
        request = Request.new(token, endpoint_spec, request_spec, base_url, assume_user: assume_user)

        logger.log_request(request)
        client.make_request(request)
      end

      private

      attr_reader :token, :client, :assume_user, :logger, :base_url
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
smartsheet-1.0.0 lib/smartsheet/api/request_client.rb