faraday 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
 - data/faraday.gemspec +1 -1
 - data/lib/faraday.rb +5 -45
 - data/lib/faraday/connection.rb +15 -0
 - data/test/connection_test.rb +19 -0
 - metadata +1 -1
 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.4. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.4.1
         
     | 
    
        data/faraday.gemspec
    CHANGED
    
    
    
        data/lib/faraday.rb
    CHANGED
    
    | 
         @@ -4,6 +4,11 @@ module Faraday 
     | 
|
| 
       4 
4 
     | 
    
         
             
              class << self
         
     | 
| 
       5 
5 
     | 
    
         
             
                attr_accessor :default_adapter
         
     | 
| 
       6 
6 
     | 
    
         
             
                attr_writer   :default_connection
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              private
         
     | 
| 
      
 9 
     | 
    
         
            +
                def method_missing(name, *args, &block)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  default_connection.send(name, *args, &block)
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
       7 
12 
     | 
    
         
             
              end
         
     | 
| 
       8 
13 
     | 
    
         | 
| 
       9 
14 
     | 
    
         
             
              self.default_adapter = :net_http
         
     | 
| 
         @@ -12,51 +17,6 @@ module Faraday 
     | 
|
| 
       12 
17 
     | 
    
         
             
                @default_connection ||= Connection.new
         
     | 
| 
       13 
18 
     | 
    
         
             
              end
         
     | 
| 
       14 
19 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
              # use the method signature from Faraday::Connection
         
     | 
| 
       16 
     | 
    
         
            -
              def self.build(options = {}, &block)
         
     | 
| 
       17 
     | 
    
         
            -
                default_connection.build(options, &block)
         
     | 
| 
       18 
     | 
    
         
            -
              end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              def self.get(url = nil, headers = nil, &block)
         
     | 
| 
       21 
     | 
    
         
            -
                default_connection.get(url, headers, &block)
         
     | 
| 
       22 
     | 
    
         
            -
              end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              def self.post(url = nil, body = nil, headers = nil, &block)
         
     | 
| 
       25 
     | 
    
         
            -
                default_connection.post(url, body, headers, &block)
         
     | 
| 
       26 
     | 
    
         
            -
              end
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
              def self.put(url = nil, body = nil, headers = nil, &block)
         
     | 
| 
       29 
     | 
    
         
            -
                default_connection.put(url, body, headers, &block)
         
     | 
| 
       30 
     | 
    
         
            -
              end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              def self.head(url = nil, headers = nil, &block)
         
     | 
| 
       33 
     | 
    
         
            -
                default_connection.head(url, headers, &block)
         
     | 
| 
       34 
     | 
    
         
            -
              end
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
              def self.delete(url = nil, headers = nil, &block)
         
     | 
| 
       37 
     | 
    
         
            -
                default_connection.delete(url, headers, &block)
         
     | 
| 
       38 
     | 
    
         
            -
              end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              def self.in_parallel?
         
     | 
| 
       41 
     | 
    
         
            -
                default_connection.in_parallel?
         
     | 
| 
       42 
     | 
    
         
            -
              end
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
              def self.in_parallel(manager)
         
     | 
| 
       45 
     | 
    
         
            -
                default_connection.in_parallel(manager)
         
     | 
| 
       46 
     | 
    
         
            -
              end
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
              def self.proxy(arg = nil)
         
     | 
| 
       49 
     | 
    
         
            -
                default_connection.proxy(arg)
         
     | 
| 
       50 
     | 
    
         
            -
              end
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
              def self.url_prefix=(url)
         
     | 
| 
       53 
     | 
    
         
            -
                default_connection.url_prefix = url
         
     | 
| 
       54 
     | 
    
         
            -
              end
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
              def self.path_prefix=(value)
         
     | 
| 
       57 
     | 
    
         
            -
                default_connection.path_prefix = value
         
     | 
| 
       58 
     | 
    
         
            -
              end
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
20 
     | 
    
         
             
              module AutoloadHelper
         
     | 
| 
       61 
21 
     | 
    
         
             
                def register_lookup_modules(mods)
         
     | 
| 
       62 
22 
     | 
    
         
             
                  (@lookup_module_index ||= {}).update(mods)
         
     | 
    
        data/lib/faraday/connection.rb
    CHANGED
    
    | 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'addressable/uri'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'set'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'base64'
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
5 
     | 
    
         
             
            module Faraday
         
     | 
| 
       5 
6 
     | 
    
         
             
              class Connection
         
     | 
| 
         @@ -68,6 +69,20 @@ module Faraday 
     | 
|
| 
       68 
69 
     | 
    
         
             
                  run_request :delete, url, nil, headers, &block
         
     | 
| 
       69 
70 
     | 
    
         
             
                end
         
     | 
| 
       70 
71 
     | 
    
         | 
| 
      
 72 
     | 
    
         
            +
                def basic_auth(login, pass)
         
     | 
| 
      
 73 
     | 
    
         
            +
                  @headers['authorization'] = "Basic #{Base64.encode64("#{login}:#{pass}").strip}"
         
     | 
| 
      
 74 
     | 
    
         
            +
                end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                def token_auth(token, options = {})
         
     | 
| 
      
 77 
     | 
    
         
            +
                  values = ["token=#{token.to_s.inspect}"]
         
     | 
| 
      
 78 
     | 
    
         
            +
                  options.each do |key, value|
         
     | 
| 
      
 79 
     | 
    
         
            +
                    values << "#{key}=#{value.to_s.inspect}"
         
     | 
| 
      
 80 
     | 
    
         
            +
                  end
         
     | 
| 
      
 81 
     | 
    
         
            +
                  # 21 = "Authorization: Token ".size
         
     | 
| 
      
 82 
     | 
    
         
            +
                  comma = ",\n#{' ' * 21}"
         
     | 
| 
      
 83 
     | 
    
         
            +
                  @headers['authorization'] = "Token #{values * comma}"
         
     | 
| 
      
 84 
     | 
    
         
            +
                end
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
       71 
86 
     | 
    
         
             
                def in_parallel?
         
     | 
| 
       72 
87 
     | 
    
         
             
                  !!@parallel_manager
         
     | 
| 
       73 
88 
     | 
    
         
             
                end
         
     | 
    
        data/test/connection_test.rb
    CHANGED
    
    | 
         @@ -52,6 +52,25 @@ class TestConnection < Faraday::TestCase 
     | 
|
| 
       52 
52 
     | 
    
         
             
                assert_equal '1', conn.headers['A']
         
     | 
| 
       53 
53 
     | 
    
         
             
              end
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
      
 55 
     | 
    
         
            +
              def test_basic_auth_sets_authorization_header
         
     | 
| 
      
 56 
     | 
    
         
            +
                conn = Faraday::Connection.new
         
     | 
| 
      
 57 
     | 
    
         
            +
                conn.basic_auth 'Aladdin', 'open sesame'
         
     | 
| 
      
 58 
     | 
    
         
            +
                assert_equal 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==', conn.headers['Authorization']
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              def test_token_auth_sets_authorization_header
         
     | 
| 
      
 62 
     | 
    
         
            +
                conn = Faraday::Connection.new
         
     | 
| 
      
 63 
     | 
    
         
            +
                conn.token_auth 'abcdef'
         
     | 
| 
      
 64 
     | 
    
         
            +
                assert_equal 'Token token="abcdef"', conn.headers['Authorization']
         
     | 
| 
      
 65 
     | 
    
         
            +
              end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
              def test_token_auth_with_options_sets_authorization_header
         
     | 
| 
      
 68 
     | 
    
         
            +
                conn = Faraday::Connection.new
         
     | 
| 
      
 69 
     | 
    
         
            +
                conn.token_auth 'abcdef', :nonce => 'abc'
         
     | 
| 
      
 70 
     | 
    
         
            +
                assert_equal 'Token token="abcdef",
         
     | 
| 
      
 71 
     | 
    
         
            +
                                 nonce="abc"', conn.headers['Authorization']
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
       55 
74 
     | 
    
         
             
              def test_build_url_uses_connection_host_as_default_uri_host
         
     | 
| 
       56 
75 
     | 
    
         
             
                conn = Faraday::Connection.new
         
     | 
| 
       57 
76 
     | 
    
         
             
                conn.host = 'sushi.com'
         
     |