Sha256: 5c4ec3e6dc65aabc40bdc5043912210f813b471a4e16b99364dba3f82d0fae32

Contents?: true

Size: 849 Bytes

Versions: 1

Compression:

Stored size: 849 Bytes

Contents

module RestMan
  class Request
    class MakeHeaders < ActiveMethod::Base

      argument :user_headers

      def call
        headers = StringifyHeaders.call(default_headers).merge(StringifyHeaders.call(user_headers))

        # override headers from the payload (e.g. Content-Type, Content-Length)
        if payload
          headers = payload.headers.merge(headers)
        end

        # merge in cookies
        cookies = request.make_cookie_header
        if cookies && !cookies.empty?
          if headers['Cookie']
            warn('warning: overriding "Cookie" header with :cookies option')
          end
          headers['Cookie'] = cookies
        end

        headers
      end

      private

      def default_headers
        request.default_headers
      end

      def payload
        request.payload
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rest-man-1.1.0 lib/restman/request/make_headers.rb