Sha256: ff8f8c9f89994b074e8e5fd4964cd43339824147d8a36ae823ad3e3d1d625220
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true module ArchivesSpace class Request include HTTParty attr_reader :config, :headers, :method, :path, :options def default_headers(method = :get) headers = { delete: {}, get: {}, post: { "Content-Type" => "application/json", "Content-Length" => "nnnn" }, put: { "Content-Type" => "application/json", "Content-Length" => "nnnn" } } headers[method] end def initialize(config, method = "GET", path = "", options = {}) @config = config @method = method.downcase.to_sym @path = path.gsub(%r{^/+}, "") @options = options @options[:headers] = options[:headers] ? default_headers(@method).merge(options[:headers]) : default_headers(@method) @options[:verify] = config.verify_ssl @options[:timeout] = config.timeout @options[:query] = {} unless options.key? :query self.class.debug_output($stdout) if @config.debug base_uri = config.base_repo&.length&.positive? ? File.join(config.base_uri, config.base_repo) : config.base_uri self.class.base_uri base_uri end def execute self.class.send method, "/#{path}", options end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
archivesspace-client-0.2.0 | lib/archivesspace/client/request.rb |