Permalink
Commits on Jan 28, 2012
  1. Release 0.8.0.rc2

    mislav committed Jan 28, 2012
  2. fix Utils::Headers

    mislav committed Jan 28, 2012
  3. Release 0.8.0.rc

    mislav committed Jan 28, 2012
  4. add EventMachine adapter

    mislav committed Jan 13, 2012
  5. enable automatic parallel manager detection

    This enables the use of `#in_parallel` without manually passing in a
    parallel manager instance.
    
    If the adapter you're using has a parallel manager, it will work as
    expected. If it doesn't, it'll work as normal sequential requests.
    jimeh committed with mislav Dec 29, 2011
  6. Improve how params, headers & options are handled in the request phase

    Old behavior:
    
      # init connection with some defaults:
      conn = Faraday.new :params => {...}, :request => {...}
    
      conn.get('/') do |request|
        request.params = {...}   # params got merged with defaults
        request.options = {...}  # options got deep-merged with defaults
      end
    
    New behavior:
    
      conn.get('/', {...}) do |request|
        request.params.update(...)  # merge with existing params
        request.params = {...}      # replace all existing params
    
        request.options[:proxy][:user] = "..." # add extra request options:
        request.options = {...}                # replace all existing options
      end
    
    Pros of the new behavior are consistency, ability to completely override
    parameters per-request. Cons are breaking backwards-compatibility.
    mislav committed Jan 11, 2012
Commits on Jan 24, 2012
  1. raise exception if initializing middleware with missing dependencies

    Previously it would just try to use the middleware and it would result
    in unexplained errors when making requests.
    mislav committed Jan 20, 2012
Commits on Jan 19, 2012
  1. eliminate Ruby warnings

    mislav committed Jan 19, 2012
Commits on Jan 11, 2012
Commits on Jan 9, 2012
  1. cleanup & update gemspec, Rakefile

     - remove "date" and "rubyforge" fields from gemspec
     - remove obsolete "test:live" task
     - bring the file list in gemspec up to date
     - remove dumb validation task for gemspec
    mislav committed Jan 9, 2012
Commits on Jan 6, 2012
  1. add additional 2nd arg to get/head/delete(): a query params hash

    This is backwards-incompatible.
    
    The signature for these methods was:
      (url, headers)
    
    Now it is:
      (url, params, headers)
    
    The params hash adds values to the query string of the request.
    
    Closes #88
    mislav committed Jan 6, 2012
  2. remove hacks when conditionally forwarding blocks in methods

    Yes, named blocks (Procs) in methods are slow in Ruby. This is because
    of unfortunate performance penalty of instantiating and
    garbage-collecting these Proc objects, which happens even if we never
    use or even pass a block to the method. Certain methods in Faraday were
    optimized to avoid named blocks.
    
    This removes such optimizations. The rationale is that the performance
    penalty of named blocks is negligible to the overhead of HTTP requests
    over the network.
    mislav committed Jan 6, 2012
Commits on Jan 2, 2012
  1. ensure no regex warnings about UTF-8 strings

    This is a cherry-pick of 3dddbfc
    
    References #95
    mislav committed Jan 2, 2012
  2. add Faraday.register_middleware

    Allows 3rd-party libraries to register named shortcuts to resolve to
    fully qualified constant names for specific middleware.
    
    Usage:
      Faraday.register_middleware :aloha => MyModule::Aloha
      Faraday.register_middleware :response, :boom => MyModule::Boom
      Faraday.register_middleware :lazy => lambda { MyModule::LazyLoaded }
    
    Those shortcuts are then available in Builder:
      builder.use :aloha
      builder.response :boom
    mislav committed Dec 29, 2011
Commits on Dec 30, 2011
  1. RUBY_ENGINE doesn't have to be present

    It wasn't found on 1.8.7p352
    mislav committed Dec 30, 2011
  2. skip Excon tests on Rubinius

    mislav committed Dec 30, 2011
  3. try running test server on Travis

    mislav committed Dec 30, 2011
  4. enable GET requests with body in Patron

    They are still unsupported in Patron itself because of
    toland/patron#52
    mislav committed Dec 30, 2011
  5. remove dependency on Addressable::URI

    This is a potentially breaking change for 3rd party code that relies on
    env[:url] being specifically Addressable. After this change all urls are
    passed around as instances of URI::HTTP.
    mislav committed Dec 29, 2011
Commits on Dec 29, 2011
  1. Connection.new with block yields self, not builder instance

    This allows:
      Faraday.new {|f| f.url_prefix = '...' }
    
    Backwards compatibility is kept for the most part because main Builder
    methods `use`, `request`, `response` and `adapter` are already forwarded
    from Connection:
    
      # will function as before:
      Faraday.new {|f| f.adapter :net_http }
    mislav committed Dec 29, 2011
  2. rename basic/token_authentication to "basic/token_auth"

    The symbols for middleware are supposed to be shortcuts; they don't need
    to be full names of corresponding classes.
    mislav committed Dec 29, 2011
  3. remove JSON request middleware

    mislav committed Dec 29, 2011