Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 15, 2012
  1. @Jacobkg

    Fix for #188. Add mention of debug logging configuration option to un…

    Jacobkg authored
    …handled request error message. Also added it to the no_cassette.feature.
Commits on Jul 25, 2012
  1. @JonathanTron
Commits on Jul 20, 2012
  1. 2.2.4 release.

  2. Fix excon so real requests are made with a connection constructed wit…

    …h same args.
    I got this warning from VCR on some tests using fog/excon to download a file from S3 over SSL:
    WARNING: VCR could not extract a response from Excon error (#<OpenSSL::SSL::SSLError: hostname does not match the server certificate>)
    I discovered that the SSL cert verification for a real request w/o VCR was made against
    ``, while the verification for the request being recorded by VCR was made
    against `<bucket_name>`. The difference is due to the fact that fog
    constructs an Excon::Connection instance with a URI of ``, then makes a
    request with a :host param set to the FQDN. Before this commit, VCR made the real
    request by constructing a new Excon::Connection instance with the URI set to the full
    URI, and it caused the SSL cert verification failure.
    This fixes it by ensuring the "real request" connection instance is constructed with
    the same args as the original connection instance.
Commits on Jul 10, 2012
  1. 2.2.3 release.

  2. No need for this global "seen request" tracking now that we're handli…

    …ng Net::HTTP's recursion directly.
  3. Fix FakeWeb library hook for when a Net::HTTP request is re-used.

    Previously I assumed a single Net::HTTP request object would only be used for a single
    request. It turns out it can trivially be re-used. I've refactored the implementation to
    no longer assume that. The request object was being used to hold a VCR request type
    object to handle internal recursion performed by Net::HTTP; now I have a special
    recursive request handler for this situation.
    Closes #178.
  4. Fix typos in comments.

Commits on Jun 27, 2012
Commits on Jun 15, 2012
  1. 2.2.2 release.

  2. Fix VCR.eject_cassette so that it always pops the cassette off the st…

    Previously, if there was an error while ejecting the cassette, the cassette would remain as the current cassette.
    Closes #175.
  3. Fix a few yard formatting issues.

    [ci skip]
Commits on Jun 14, 2012
Commits on Jun 13, 2012
  1. 2.2.1 release.

  2. Fix comment formatting.

Commits on Jun 12, 2012
  1. Fix #uri_without_params so that it handles URIs w/ no query properly.

    Previously, #partial_uri_from would return nil for a URI that lacked a query, which meant that it would automatically match any other URI w/o a query, even if they were wildly different.
Commits on Jun 5, 2012
  1. Documentation fixes.

    [ci skip]
Commits on May 31, 2012
  1. 2.2.0 release.

  2. Finish the allow_unused_http_interactions feature.

    - Add cuke.
    - Add #assert_no_unused_interactions! call from Cassette#eject.
    - Rename error class to match option.
    - Various other small fixes.
Commits on May 30, 2012
  1. @challengee

    Renamed option; made has_unused_interactions? private; don't mix opti…

    challengee authored committed
    …on in with http interaction list; Added default option
  2. @challengee

    Assert if a list can be stopped using properly; Custom error when req…

    challengee authored committed
    …uests have been skipped
  3. @challengee

    Added allow_episode_skipping option notion

    challengee authored committed
  4. Some improvements to @tylerhunt's faraday multipart upload fix.

    - Add tests.
    - Move the body reading out of #vcr_request and into a helper method--
      we don't want it to happen multiple times and #vcr_request is memoized
      for a reason.
    - Refactor the body reading a bit.
    - Use it for the response body, too. I don't really understand it, but
      for some reason the multipart request body becomes the response body
      when no HTTP adapter is set, and due to the change I made in
      d924f66, an error was raised.
    Closes #172.
Commits on May 29, 2012
  1. @tylerhunt
  2. Allow requests to be stubbed by external libraries (e.g. WebMock or F…

    Previously, direct WebMock/FakeWeb/Typhoeus stubs would be ignored
    unless VCR was turned off. However, some users have requested that
    VCR use these stubs if they are set. This enables that.
    Part of this changes the VCR::Request::Typed interface a little bit;
    #stubbed? now returns true regardless of how it was stubbed, and
    #stubbed_by_vcr? should be used to test if VCR stubbed it (vs.
    Note that I consider this a bit experimental. I'm not sure I've thought
    through all the repercussions of this, and I consider this only
    "semi supported".
    Closes #146.
Commits on May 28, 2012
  1. Fix failing specs on rubinius.

    I'm not sure why there's this different behavior for MRI vs RBX, but this fixes it.
Commits on May 26, 2012
  1. Fix 1.8.7 compatibility.

    - On 1.8, #instance_variables returns an array of strings.
    - On 1.9, #instance_variables returns an array of symbols.
  2. Work around bug in WebMock's em-http-request adapter.

    When the :redirects option is used with em-http-request,
    WebMock's after_request hook gets invoked twice for a
    single request. It appears to be doing it one for the original
    request and once for the following redirect request. However,
    the second time it does not actually have the new URL, and,
    furthermore, the globally_stub_request hook is only invoked
    once. As a result, the @__typed_vcr_request ivar has already
    been removed, and we were getting nil on the second after_request
    hook invocation.
    Our fix is to make our WebMock library hook tolerant of the
    @__typed_vcr_request hook not being present. Some things
    (such as filtering an after_http_request hook based on request
    type) will not work properly but the main VCR functionality can
    work this way.
    Closes #171.
Commits on May 23, 2012
  1. Fix HTTPInteraction filtering to handle integers (e.g. port) correctly.

    Previously, we would get an error:
      TypeError: can't convert Fixnum into String
    Closes #167.
Commits on May 11, 2012
  1. Fix documentation typo.

Commits on May 7, 2012
  1. Raise an error if a response is recorded with an invalid body.

    This can occur when a non-standard Faraday stack is used, where a response-modifying middleware comes after the HTTP adapter.
    For #159.
Something went wrong with that request. Please try again.