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

    mislav committed Jan 28, 2012
  2. add EventMachine adapter

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

    jimeh committed with mislav 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.
  4. Improve how params, headers & options are handled in the request phase

    mislav committed Jan 11, 2012
    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.
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
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.
    
    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
Commits on Dec 30, 2011
  1. RUBY_ENGINE doesn't have to be present

    mislav committed Dec 30, 2011
    It wasn't found on 1.8.7p352
  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

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

    mislav committed Dec 29, 2011
    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.
Commits on Dec 29, 2011
  1. Connection.new with block yields self, not builder instance

    mislav committed Dec 29, 2011
    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 }
  2. rename basic/token_authentication to "basic/token_auth"

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

    mislav committed Dec 29, 2011
  4. Merge pull request #100 from technoweenie/no-rack

    sferik committed Dec 29, 2011
    Removed Rack dependency