Sha256: adb7056a8bd681370ec3607b34116617ea94ffdb170f22091f6599c14df1fda2

Contents?: true

Size: 1.3 KB

Versions: 11

Compression:

Stored size: 1.3 KB

Contents

module HttpUtilities
  module Http
    module Cookies

      def handle_cookies(response)
        cookies = nil

        if (response && response.is_a?(Net::HTTPResponse))
          cookie_fields = response.get_fields('Set-Cookie')
          
          if (cookie_fields && cookie_fields.any?)
            cookies = []
            cookie_fields.each do |cookie|
              filtered_cookie = cookie.split('; ').first
              cookies << filtered_cookie
            end
          end
        
        elsif (response && response.is_a?(HttpUtilities::Http::Response))
          cookies = (response.request && response.request.cookies) ? response.request.cookies : nil
        end

        return cookies
      end

      def format_cookies(cookies)
        cookie_string = ""
        cookies.each {|cookie| cookie_string += "#{cookie}; "}

        return cookie_string
      end

      def set_cookies(headers, cookies)
        if (cookies && cookies.any?)
          cookie_string     =   (cookies && cookies.is_a?(Array)) ? format_cookies(cookies) : nil

          if (cookie_string)
            cookie_hash     =   {'cookie' => cookie_string}
            headers         =   (headers && !headers.empty?) ? headers.merge(cookie_hash) : cookie_hash
          end
        end

        return headers
      end

    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
http_utilities-1.1.2 lib/http_utilities/http/cookies.rb
http_utilities-1.1.1 lib/http_utilities/http/cookies.rb
http_utilities-1.1.0 lib/http_utilities/http/cookies.rb
http_utilities-1.0.9 lib/http_utilities/http/cookies.rb
http_utilities-1.0.8 lib/http_utilities/http/cookies.rb
http_utilities-1.0.7.1 lib/http_utilities/http/cookies.rb
http_utilities-1.0.7 lib/http_utilities/http/cookies.rb
http_utilities-1.0.6 lib/http_utilities/http/cookies.rb
http_utilities-1.0.5 lib/http_utilities/http/cookies.rb
http_utilities-1.0.2 lib/http_utilities/http/cookies.rb
http_utilities-1.0.1 lib/http_utilities/http/cookies.rb