Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jan 28, 2012
@myronmarston Fix check_code_coverage task. 9ce3d16
Commits on Jan 29, 2012
@myronmarston Update copyright years. 59dd56c
@myronmarston Remove unnecessary require. 5dc886b
@myronmarston Brought back #has_interaction_matching?
This is going to be needed for the typed request hooks, to allow a WebMock/Typhoeus after request hook to figure out if the request was stubbed without consuming an interaction.
@myronmarston Use a development version of webmock, and update Curb.
The latest WebMock no longer works with older curb releases.
Commits on Jan 31, 2012
@myronmarston Set the type of request for the before/after request hooks.
For #124.
@myronmarston Use delegation so the assigned type doesn't bleed to other contexts. e130752
@myronmarston Refactor fiber aware to use delegation rather than an extension module. 8f84e26
@myronmarston Add query interface to VCR::Request::Typed. 2233ea8
@myronmarston Refactor hooks for greater flexibility. c9944d3
Commits on Feb 01, 2012
@myronmarston Ensure cukes run with bundler-managed gems on the load path. 1756b3d
@myronmarston Add cukes and docs about before/after hook filtering. 27b4bc3
@myronmarston Rubygems has to be required before rspec/expectations on 1.8. 4c9db34
@myronmarston Fix spec that was failing on 1.8. cbd3c14
@myronmarston Fix ruby warning. 6080d72
@myronmarston Fix build.
On REE I get a warning: "Object#type is deprecated; use Object#class", which fails the build since I've got the capture warnings thing going.
@myronmarston Support multiple tags. 3e903f2
@myronmarston Simplify how the update_content_length_header option works. 1a9370a
@myronmarston Extract HTTPInteraction hook aware logic. fbf2506
@myronmarston Update some documentation. d4ee444
@myronmarston Fix failing test. 1ce6aaf
@myronmarston Copy cassette option docs with a "see" directive. 7cd7121
@myronmarston Fix method implementation to match signature. 99296a3
@myronmarston More doc fixes. 32d09cf
@myronmarston Make parameter optional. ea9656e
Commits on Feb 02, 2012
@myronmarston Don't query the http interaction list so many times. a6c3a0c
@myronmarston Fix ivar not initialized warning. 589bee4
@myronmarston Fix typo. df30aa7
@myronmarston Add missing specs for new hooks method. a5eba88
Commits on Feb 03, 2012
@myronmarston Documentation fixes. e354003
@myronmarston First pass at debug logging.
For #132.
@myronmarston Skip cuke on 1.8 to fix build.
We can't count on consistent hash ordering on 1.8.
Commits on Feb 04, 2012
@myronmarston Update WebMock to version that supports Excon. 61f4ff0
Commits on Feb 05, 2012
@myronmarston Disable WebMock's excon adapter in our excon hook. 5e9ae62
@myronmarston Simplify the way we ensure the typhoeus/webmock hooks don't interfere…
… with each other.
@myronmarston Got tests to pass for WebMock's new Excon adapter. f6a6798
@myronmarston Update sinatra and rack dependency.
We need to disable rack-protection so that there aren't extra headers such as X-Frame-Options.
@myronmarston em-http-request apparently allows nil request headers. f9dfc44
@myronmarston Add VCR.js to readme. 92d3aaf
@myronmarston Fix localhost server to properly shutdown.
The INT signal handler in rack 1.1 has moved to the rack binary, so we need to add it ourselves now.
@myronmarston Get yard coverage back to 100% so the build passes. b826b93
@myronmarston Update Changelog. 2062381
Commits on Feb 09, 2012
@myronmarston Flesh out
Closes #131.
Commits on Feb 11, 2012
@myronmarston Allow filters to be used with `around_http_request` hook. 6819297
@myronmarston Simplify example. 4eca724
@myronmarston Deep structural stubs are a problem. a973773
Commits on Feb 13, 2012
@myronmarston Fix typo. e0c462d
@myronmarston Add additional files to yard listing. 940d764
@myronmarston Add rake task to boot the test app. 283a1bf
Commits on Feb 14, 2012
@myronmarston Use markdown format for yard comments. 7824d07
Commits on Feb 15, 2012
@myronmarston Add link to TapeDeck.js to README. 78db8f1
Commits on Feb 19, 2012
@myronmarston Be a bit more liberal about how we parse headers for curb and em-http. 844cb74
@myronmarston Force the usage of syck in some cukes to get the travis build green.
The just released 1.9.3-p125 includes an updated psych that apparently behaves differently from the one in 1.9.3-p0 and 1.9.2.  It serializes any string that is tagged with the ASCII-8BIT encoding as a binary string (using base64 encoding) even if the string is ASCII-7BIT compatible.
@myronmarston No more pending specs!
The latest WebMock includes a fix that makes HTTP Client pass this spec.
@myronmarston Got travis yml file to pass travis lint. 88b4d9d
Commits on Feb 20, 2012
@myronmarston Update webmock dependency now that 1.8.0 is out. 580f827
Commits on Feb 21, 2012
@myronmarston Add preserve_exact_string_bytes config option.
For #74.
@myronmarston Migrate call the cucumber cassettes to updated format.
The cassette format now includes the encoding of the request and response body.
@myronmarston Make the lack of forced encoding explicit. 9fe1ba2
@myronmarston Add additional info about encoding issues. bcacd1f
@myronmarston Pass the entire HTTP message to the preserve hook.
This provides additional flexibility; the user may want to check the encoding specified in an HTTP header.

Also, I'm passing the current cassette as an optional yielded param as well.
@myronmarston Allow multiple preserve_exact_body_bytes hooks.
This will pave the way to make it easy to support a cassette option for this feature.
@myronmarston Ensure VCR.current_cassette is accurate during VCR::Cassette#eject.
This is needed for the preserve_exact_body_bytes hook.
@myronmarston Add new :preserve_exact_body_bytes cassette config option. befc480
@myronmarston Make VCR::Normalizers::Body::ClassMethods private. cb5bf03
@myronmarston Update relish nav. 9c3daab
@myronmarston Remove :focus. 9c7622a
@myronmarston Append info about the preserve bytes option to serialization encoding…
… errors.
@myronmarston Try to re-encode bodies as their original encoding, printing a warnin…
…g when that fails.
@myronmarston Use the base class of all encoding errors. 550a58e
Commits on Feb 22, 2012
@myronmarston Fix build on 1.8. a4e2353
@myronmarston Setup limited red. 6459cad
@myronmarston The specs require simplecov, so let's make it a proper dev dependency. 59d3b99
@myronmarston Skip yajl test on jruby since it requires native dependencies. a45d1ee
@myronmarston It's simplecov, not simple_cov. 6d435d1
@myronmarston Try building against some other rubies.
[ci skip]
@myronmarston Words. 994a236
@myronmarston Don't load limited red in the CI environment. It needs the API key to…
… work.
@myronmarston Use latest Excon. 9380ddb
Commits on Feb 24, 2012
@myronmarston Release 2.0.0.rc2. 618a581
@myronmarston yajl-ruby can't install on jruby 19 mode. ae138db
Commits on Feb 25, 2012
@myronmarston Rearrange code a bit so the main APIs are first. c857d4d
Commits on Feb 26, 2012
@myronmarston Add logging of filter_sensitive_data hooks.
This should help with troubleshooting #137.
@myronmarston Add logging about the re_record_interval behavior.
Closes #123.
@myronmarston Add quality spec that enforces whitespace policy. d34b6f7
@myronmarston Remove unnecessary code causing a warning on 1.9.3.
/home/vagrant/builds/myronmarston/vcr/spec/quality_spec.rb:6: warning: setting Encoding.default_external
@myronmarston Update em-http-request dependency. b4fcf22
@myronmarston Fix scenario to use new em-http-request 1.0 APIs. c130bc5
@myronmarston rbx-18mode is passing on travis; add ruby-head. 1c11b66
@myronmarston Update changelog. 5bf57c1
@myronmarston Don't worry about stripping standard port from URIs on playback.
The standard port only needs to be stripped during recording; for playback, it will have already been stripped.  This allows people to use the `filter_sensitive_data` option in a way that changes the URI; before this change, doing so resulted in `URI::InvalidURIError`.

Closes #137.
@myronmarston Add rbx-18mode back to the list of allowed failures.
Removing it was premature, apparently.  I got a bunch of random cuke failures on travis all of a sudden.
@myronmarston Update changelog.
[ci skip]
Commits on Feb 29, 2012
@myronmarston Explicitly require faraday middleware from library hook.
This ensures that the version checking happens. Previously, if you did `hook_into :faraday` but were on an older version that doesn't support the middleware `lock!` API, the middleware would never be loaded and the version checking would never take place.
Commits on Mar 01, 2012
@myronmarston Explicitly support newly released Excon 0.10. 2aeea4a
Commits on Mar 02, 2012
@myronmarston Update changelog. 8d356b1
@myronmarston Run tests against Faraday 0.8.0.rc2. 72332bf
@myronmarston Update README.
[ci skip]
@myronmarston Add note to upgrade document about change in the :uri matcher.
[ci skip]
@myronmarston A couple more documentation tweaks.
[ci skip]
@myronmarston Release 2.0.0! 396dd4c
Commits on Mar 03, 2012
@myronmarston Clarify a few things in the Upgrade doc. 1e1b5b0
Commits on Mar 05, 2012
@myronmarston Update limited red to version that doesn't abort if the .limited_red …
…file isn't present.
Commits on Mar 08, 2012
@myronmarston Add link to REST-assured and re-organize library links. ca6abe8
Commits on Mar 09, 2012
Omer Rauchwerger support for naming cassettes automatically according to the current s…
…cenario's name using the :use_scenario_name option when creating Cucumber tags
@myronmarston Give credit where credit's due. 0d01bfd
@myronmarston Fix ruby warnings ("useless use of == in void context").
This should hopefully make the build green again.
@myronmarston Some file systems (like linux) aren't case sensitive.
OS X is though, so this passed for me but failed on travis.
Commits on Mar 10, 2012
@myronmarston Fix another place where case-sensitivity matters on Linux. 748d6c2
Commits on Mar 13, 2012
@mislav mislav allow bundler 1.1 9e49c5b
@mislav mislav add cassette option to decode compressed response before recording
When the option is used, "gzip" and "deflate" respones are decompressed
using Zlib before recording, making the serialized data readable and


  VCR.use_cassette(:example, :decode_compressed_response => true) do
    # ...
@myronmarston Got decompress.feature to pass on 1.9.2.
- An extra line break is needed; otherwise, the appended content gets smashed against the "end" from the existing content, with no line break.
- Normalize quotes to singles ('). On 1.9.2p290 I was getting a failure because psych was serializing content length as `"43"` rather than `'43'`.
@myronmarston Use a vcr error for unknown content encoding. c1a4f55
@myronmarston Document new :decode_compressed_response option. a08448c
@myronmarston Update Changelog. a96f0aa
@myronmarston Add missing require.
Other things in VCR load this but when I ran this spec file on its own it failed because it wasn't loaded.
Commits on Mar 14, 2012
@myronmarston Lock em-http-request to version that works with WebMock 1.8.2.
em-http-request 1.0.2, just released today, breaks WebMock's em-http-request adapter.  There's a pull request to get it fixed in WebMock[1], but for now it's simplest to lock to 1.0.1.

[1] bblimke/webmock#168
@myronmarston limited_red can't install on 1.8.7 due to being build with psych. edf58a2
@myronmarston Upgrade to rspec 2.9.0rc2. 8ef5b0e
@myronmarston Get structs_spec.rb to pass on 1.8.7. 114e6bc
@myronmarston Set file type of a few cuke sections for syntax highlighting on relish. 986557c
@myronmarston Use syck since psych on 1.9.3p125 emits ASCII-8BIT strings as binary.
That was causing these scenarios to fail on travis on 1.9.3.
@myronmarston Revert "Upgrade to rspec 2.9.0rc2."
This reverts commit 8ef5b0e.

VCR's specs aren't passing on 2.9.0.rc2 :(.
@myronmarston Handle limited red not being installed. e0034eb
Commits on Mar 15, 2012
@myronmarston Re-upgrade to rspec 2.9.0.rc2.
On 2.9, metadata filter lambdas are only invoked if the named key is present in the metadata hash, so the old way we made :skip_vcr_reset work is no longer supported.
@myronmarston Upgrade to limited red 0.3.9, which fixes the 1.8.7 issues. 07ad209
Commits on Mar 16, 2012
@myronmarston Test against new webmock, excon and em-http-request releases. 4a3ed8b
Commits on Mar 19, 2012
@myronmarston Don't try to encode to a nil encoding.
This should allow cassettes recorded on 1.8 to work on 1.9.

Closes #149.
@myronmarston Update Changelog.
[ci skip]
@myronmarston Ignore rubinius artifacts. 9765851
@myronmarston Work around rubinius bug. f26ac93
Commits on Mar 23, 2012
@myronmarston We need the rubinius fix here in the cukes, too. 022a010
@myronmarston Just force encode to ASCII-8BIT.
Encoding to ASCII-8BIT is nonsensical since it just means "binary".
@myronmarston RSpec 2.9.0 is out. 4872438
@myronmarston Only uses simplecov on MRI 1.9.
Rubinius in 1.9 mode has problems with it:

@myronmarston Excon 0.13 is out and VCR works fine with it. cbacaaa
@myronmarston Travis tweaks.
- rbx 18 mode is passing consistently now.
- Don't bother with ruby head; I'm not paying attention to it and it just wastes travis resources

[ci skip]
Commits on Mar 28, 2012
@myronmarston Fix faraday middleware so that it plays back parallel requests properly. 2098a95
Commits on Mar 30, 2012
@myronmarston Remove unneeded .document file. 9c0caee
Commits on Apr 01, 2012
@ezkl ezkl Remove explicit definition of parallel_manager 835be52
Commits on Apr 02, 2012
@myronmarston Add @ezkl to list of contributors in the readme. 0714dbd
Commits on Apr 03, 2012
@myronmarston Raise a helpful message if #use_cassette is called with no block.
Previously, doing so would raise a confusing error:

  NoMethodError: undefined method `arity' for nil:NilClass
Commits on Apr 06, 2012
@myronmarston Remove unused method. 5677f88
Commits on Apr 19, 2012
@myronmarston Add link to codeclimate. b5f78ea
@myronmarston Update Changelog to reflect 2.0.1 release. 1977f87
@myronmarston Fix readme.
[ci skip]
@myronmarston 2.1.0 release.
[ci skip]
Commits on Apr 23, 2012
@myronmarston Fix :use_scenario_name option so that it works for multiple scenarios.
Closes #156.
@myronmarston Update Changelog. dbe142d
Commits on Apr 24, 2012
@myronmarston Only use the first line of the cuke feature name in the cassette name.
Closes #157.
@myronmarston Update changelog.
[ci skip]
Commits on Apr 25, 2012
@myronmarston 2.1.1 release. 4858f4e
Chris Le Refactored cassette to use a storage backend 5a7021b
@myronmarston Remove DB storage backend.
VCR's only going to provide a file system implementation of a storage backend. Any other storage backends will need to be implemented by end users.
@myronmarston Remove unused variable. f7fb0ba
@myronmarston Remove unused method. daee674
@myronmarston Use a shorter variable name. 93f3c1a
@myronmarston Use an attr_reader rather than an explicit method. ff972d1
@myronmarston Add specs for StorageBackends. 6c6a3b3
Commits on Apr 26, 2012
@myronmarston Implement FileSystem read/write interface. d44afaa
Commits on Apr 27, 2012
@myronmarston Change Cassette::Reader to Cassette::ERBRenderer.
This moves the responsibility for reading the file back into VCR::Cassette, which will pave the way for using the new storage backends.
@myronmarston Use the storage backend rather than direct file calls. 488042c
@myronmarston Rename raw_yaml_content to raw_cassette_bytes
...since other (non-yaml) serializers are supported now.
@myronmarston VCR::Configuration doesn't use fileutils anymore. ef459e4
@myronmarston Pass the cassette name to the ERBRenderer.
This allows it to use it in error messages.
@myronmarston Move the file name sanitization into the FileSystem backend.
This sanitization is designed for file names, so it belongs there.
Commits on Apr 28, 2012
@myronmarston Allow a custom storage backend to be used. fd6bbaa
@myronmarston Change :storage_backend option to :persist_with.
I like this a bit better and it lines up nicely with the :serialize_with option.
@myronmarston Add yard docs for new persister feature. 924e703
@myronmarston Fix failing cuke.
The new persist_with option gets logged.
@myronmarston Gracefully handle the case where the template is nil. c9766f5
@myronmarston Words. 7af62f4
Commits on May 01, 2012
@playupchris playupchris Modify after_http_request scenario to fail 9e2d24e
@playupchris playupchris BUGFIX for calling "to procable" filters in hooks
eg. VCR.configure.after_http_request(:stubbed?)
@myronmarston Slightly more robust fix for the after_http_request symbol filter pro…

I don't think it's the right general behavior to have hook filters only forward 1 argument to the filter when the filter uses splat args.  Symbols are a special case for after_http_request filters where we only want to forward the request argument (since they are arg-less predicate methods on the request).
@myronmarston Words.
[ci skip]
@myronmarston Cassette#file is only valid when the FileSystem persister is used. 6e1359c
Commits on May 02, 2012
@myronmarston Shift things around to make yard 0.8 happy. 3193708
@myronmarston Print out the yard coverage info (including warnings) even when the t…
…ask passes.
@myronmarston Deal with some YARD warnings. 8bc984f
@myronmarston Refactor cassette initialization. 76c1e35
@myronmarston Add link to nock.
[ci skip]
Commits on May 03, 2012
@ingemar ingemar Pass the given URI to ::FakeWeb.allow_net_connect? when VCR is turned…
… off

[fixes #160]
@myronmarston Prefer eq matcher to ==.
Using should == generates warnings.
@gordoncww gordoncww WebMock's :allow filters work now bd6a9ce
@myronmarston Words. e564ec3
Commits on May 04, 2012
@myronmarston Remove old scripts I no longer use.
[ci skip]
@myronmarston Fix/cleanup webmock spec version/adapter checking code.
It had `library` but that's an undefined variable and it was causing jruby/rbx to abort.
@myronmarston Cut rake out of rspec/cucumber for CI builds.
When something environmental fails (i.e. not in an individual spec, but when the spec files are being loaded), the rake tasks craps out but does not include the backtrace of what failed.  It's really annoying and hard to troubleshoot.  This should work better.
Commits on May 07, 2012
@myronmarston Add link to NSURLConnectionVCR.
...and re-arrange links alphabetically while I'm at it.

[ci skip]
@myronmarston Print a warning when a non-standard Faraday stack is used.
When the Faraday stack includes a middleware after the HTTP adapter it gets "first dibs" on modifying the response and thus can prevent VCR from recording the response properly.  This is a problem with the instagram gem.

For #159.
@myronmarston 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.
Commits on May 11, 2012
@myronmarston Fix documentation typo. f5bb8a0
Commits on May 14, 2012
@myronmarston Relax httpclient version constraint.
This should pick up the latest, to run the build for #168.
Commits on May 23, 2012
@myronmarston 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.
@myronmarston Gracefully handle a faraday stack w/ no explicit adapter.
Closes #170.
@myronmarston Update changelog. 90dacb2
Commits on May 26, 2012
@myronmarston 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.
@myronmarston Ensure our injected instance variable gets removed. aa087c1
@myronmarston 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.
@myronmarston Remove guard...I haven't used guard in a while. ea84bfb
Commits on May 27, 2012
@myronmarston Uninstall JSON gem before running the Travis build.
Some of the VMs appear to have JSON 1.7.1 installed and it's causing weird breakage:!/myronmarston/vcr/jobs/1443136/L145
@myronmarston Work around weird rubinius issue on travis. 50c6ef5
@myronmarston Require spec support files relative to load path.
This should prevent any of them from being loaded twice as long as we use the relative form everywhere.
Commits on May 28, 2012
@myronmarston Fix cukes failing on rubinius.
Rubinius now includes some extra leading spaces on some kinds of errors, for some reason.
@myronmarston Fix failing specs on rubinius.
I'm not sure why there's this different behavior for MRI vs RBX, but this fixes it.
@myronmarston Skip some tests on JRuby that don't apply.
JRuby handles YAML and JSON a bit different from MRI.
Also, JRuby keeps #type in 1.9 mode even though MRI does not (but has it on 1.8).
@myronmarston 1.9 mode on rbx doesn't have the same serialization errors. 04ed9df
@myronmarston Rubinius 1.9 mode doesn't raise encoding errors like it should :(. f8cfae3
@myronmarston Rubinius 1.9 mode has a gzip issue, too... 42babb2
Commits on May 29, 2012
@myronmarston 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.
@tylerhunt tylerhunt Fix multipart POST requests with Faraday. cec9fe3
Commits on May 30, 2012
@myronmarston 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.
@myronmarston Remove limited red...I'm not actually using it. b364c82
@myronmarston Reformat changelog.
[ci skip]
@challengee challengee Added allow_episode_skipping option notion c7a5b09
@challengee challengee Assert if a list can be stopped using properly; Custom error when req…
…uests have been skipped
@challengee challengee Renamed option; made has_unused_interactions? private; don't mix opti…
…on in with http interaction list; Added default option
Commits on May 31, 2012
@myronmarston 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.
@myronmarston Update changelog.
[ci skip]
@myronmarston Make cuke tolerant of slight interpreter discrepancies.
JRuby and Rubinius print errors a bit different (e.g.
extra spacing, different placement of error class
relative to the error message w/ a multiline message).
@myronmarston Add links to other VCR ports. 9795ddb
@myronmarston 2.2.0 release. e1e0b62
Commits on Jun 05, 2012
@myronmarston Documentation fixes.
[ci skip]
Commits on Jun 07, 2012
@myronmarston A few relish fixes. 3883d50
Commits on Jun 12, 2012
@myronmarston 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 13, 2012
@myronmarston Fix comment formatting. 26a544a
@myronmarston Add spec for consistent handling of empty body responses.
The fix for this is dependent upon pull requests I've opened
with FakeWeb, WebMock and Faraday:

- chrisk/fakeweb#32
- bblimke/webmock#190

Closes #173.
@i0rek i0rek Update Typhoeus links. be71eda
@myronmarston Merge pull request #174 from i0rek/typhoeus_links
Update Typhoeus links.
@myronmarston 2.2.1 release. 5e9dcb8
Commits on Jun 14, 2012
@myronmarston Include cassette name in error message. 819cdfb
Commits on Jun 15, 2012
@myronmarston Fix a few yard formatting issues.
[ci skip]
@myronmarston 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.
@myronmarston 2.2.2 release. 7f03f6b
@myronmarston Add link to IRC channel. 617f02d
Commits on Jun 27, 2012
@myronmarston Excon 0.14 is out and works fine with VCR. 339bb3f
Commits on Jul 10, 2012
@myronmarston Fix typos in comments. dfda4cd
@Jacobkg Jacobkg Failing test for reusing net/http request in Fakeweb 498994a
@myronmarston 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.
@myronmarston No need for this global "seen request" tracking now that we're handli…
…ng Net::HTTP's recursion directly.
@myronmarston Fix uninitialized ivar warning. 460ba73
@myronmarston It's `expect { }.to`, not `expect { }.should`. 8075246
@myronmarston Update RSpec. 661450a
@myronmarston Filter out unexplainable warnings. b47858a
@myronmarston 2.2.3 release. 9b2d293
Commits on Jul 20, 2012
@myronmarston 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.
@myronmarston Excon 0.15 is out and works fine with VCR. ae9a0b3
@myronmarston Update relish.
I got this message from relish just now:
Sorry, your relish gem 0.5.3 is out of date. Please update to at least version 0.6
@myronmarston 2.2.4 release. 93b5f13