Commits on Apr 5, 2012
  1. Merge pull request #130 from ezkl/feature/add-patron-proxy-support

    sferik committed Apr 5, 2012
    Add HTTP proxy support to Patron adapter
  2. Merge pull request #123 from dim/master

    sferik committed Apr 5, 2012
    Added Net::HTTP::Persistent adapter
Commits on Apr 1, 2012
Commits on Mar 30, 2012
Commits on Mar 13, 2012
  1. Explicitly specify language

    sferik committed Mar 13, 2012
Commits on Mar 5, 2012
  1. Catch Errno::ETIMEDOUT too

    dim committed Mar 5, 2012
Commits on Mar 2, 2012
Commits on Feb 15, 2012
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

    jimeh authored and mislav committed Dec 29, 2011
    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.
  6. Improve how params, headers & options are handled in the request phase

    mislav committed Jan 11, 2012
    Old behavior:
      # init connection with some defaults:
      conn = :params => {...}, :request => {...}
      conn.get('/') do |request|
        request.params = {...}   # params got merged with defaults
        request.options = {...}  # options got deep-merged with defaults
    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
    Pros of the new behavior are consistency, ability to completely override
    parameters per-request. Cons are breaking backwards-compatibility.
Commits on Jan 24, 2012
  1. raise exception if initializing middleware with missing dependencies

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

    mislav committed Jan 19, 2012
Commits on Jan 11, 2012
  1. fix build_url to accept URI instance

    lmarburger authored and mislav committed Jan 10, 2012
Commits on Jan 9, 2012
  1. cleanup & update gemspec, Rakefile

    mislav committed Jan 9, 2012
     - 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
Commits on Jan 6, 2012
  1. add additional 2nd arg to get/head/delete(): a query params hash

    mislav committed Jan 6, 2012
    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
  2. remove hacks when conditionally forwarding blocks in methods

    mislav committed Jan 6, 2012
    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.
Commits on Jan 2, 2012
  1. ensure no regex warnings about UTF-8 strings

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

    mislav committed Dec 29, 2011
    Allows 3rd-party libraries to register named shortcuts to resolve to
    fully qualified constant names for specific middleware.
      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