Sha256: d9518faae3b4a3efe7efca9718a5c3d3bda1d22acf3b287bcb76c9df3dc6845d
Contents?: true
Size: 1.4 KB
Versions: 85
Compression:
Stored size: 1.4 KB
Contents
require 'faraday' module Daddy class HttpClient def initialize(url, options = {}) @url = url @options = options @cookie = options[:cookie] end def get(path, params = {}) response = connection.get(path, params) do |request| if @options[:auth_user] and @options[:auth_password] basic = 'Basic ' + Base64.encode64(@options[:auth_user] + ':' + @options[:auth_password]) request.headers['Authorization'] = basic end if @cookie request.headers['Cookie'] = @cookie end params.each do |key, value| request.params[key] = value end end @cookie = response.headers['set-cookie'] if block_given? yield response else response.body.force_encoding('UTF-8') end end def post(path, params = {}) response = connection.post(path, params) end private def connection Faraday.new(:url => @url, :ssl => ssl_options) do |faraday| faraday.request :url_encoded faraday.adapter Faraday.default_adapter end end def ssl_options daddy_dir = File.expand_path('../../..', __FILE__) ca_path = File.join(daddy_dir, 'ssl') ret = { :ca_path => ca_path, :ca_file => File.join(ca_path, 'cert.pem'), :verify => @options[:verify_ssl] || false, } end end end
Version data entries
85 entries across 85 versions & 1 rubygems