Sha256: 6e6791993e384a38f60ab5aa4627b0c9292ee38ed86b12cb37cadc04551db21c

Contents?: true

Size: 758 Bytes

Versions: 7

Compression:

Stored size: 758 Bytes

Contents

# frozen_string_literal: true

require 'faraday'

module MetalArchives
  module Middleware
    ##
    # Add appropriate request headers
    #
    class Headers < Faraday::Middleware # :nodoc:
      def call(env)
        headers = {
          'User-Agent' => user_agent_string,
          'Via' => via_string,
          'Accept' => accept_string
        }

        env[:request_headers].merge! headers

        @app.call env
      end

      private

      def user_agent_string
        "#{MetalArchives.config.app_name}/#{MetalArchives.config.app_version} ( #{MetalArchives.config.app_contact} )"
      end

      def accept_string
        'application/json'
      end

      def via_string
        "gem metal_archives/#{VERSION}"
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
metal_archives-2.2.0 lib/metal_archives/middleware/headers.rb
metal_archives-2.1.1 lib/metal_archives/middleware/headers.rb
metal_archives-2.1.0 lib/metal_archives/middleware/headers.rb
metal_archives-2.0.2 lib/metal_archives/middleware/headers.rb
metal_archives-2.0.1 lib/metal_archives/middleware/headers.rb
metal_archives-2.0.0 lib/metal_archives/middleware/headers.rb
metal_archives-1.0.0 lib/metal_archives/middleware/headers.rb