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.
base fork: myronmarston/vcr
head fork: myronmarston/vcr
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jan 31, 2012
@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
Commits on Jul 25, 2012
@JonathanTron JonathanTron Typhoeus 0.4.2 is out and works fine with VCR d09de03
@myronmarston Merge pull request #184 from JonathanTron/patch-1
Typhoeus 0.4.2 is out and works fine with VCR
@myronmarston Add @JonathanTron to contributors list. 12905a3
@myronmarston The new WebMock release has fixed the Net::HTTP empty body bug. d9873fb
@myronmarston Ignore rbx18-mode failures.
The travis build failed with no indication as to why:!/myronmarston/vcr/jobs/1952677/L30

..and I've often had problems with the rbx build due to rbx issues.
Commits on Aug 12, 2012
@myronmarston Relax the faraday version constraint. c5b249a
Commits on Aug 13, 2012
@myronmarston Allow jruby 18 failure.
I'm getting a weird error from Jruby:

$ script/ `cacheAndCall': java.lang.NullPointerException
82	from `call'
83	from /home/vagrant/.rvm/rubies/jruby- `__file__'
84	from /home/vagrant/.rvm/rubies/jruby- `__file__'
85	from `call'
86	from `call'
87	from `call'
88	from `interpret'
89	from `interpret'
90	from `interpret'
91	from `interpret'
93	from `call'
94	from `call'
95	from `invokedynamic'
96	from `op_ge'
97	from RubyComparable$s$1$0$op_ge.gen:65535:in `call'
98	from `cacheAndCall'
99	from `call'
100	from `call'
101	from `interpret'
102	from `interpret'
103	from `interpret'
104	from `interpret'
105	from `interpret'
106	from `interpret'
107	from `interpret'
109	from `evalBlockBody'
110	from `yield'
111	from `yield'
112	from `yield'
113	from `interpret'
114	from `interpret'
115	from `interpret'
116	from `interpret'
118	from `call'
119	from `call'
120	from `callBlock'
121	from `call'
122	from `newInstance'
123	from RubyClass$i$newInstance.gen:65535:in `call'
124	from `cacheAndCall'
125	from `callBlock'
126	from `callIter'
127	from `interpret'
128	from `interpret'
129	from `interpret'
131	from `evalWithBinding'
132	from `evalCommon'
133	from `eval'
134	from RubyKernel$s$0$3$eval.gen:65535:in `call'
135	from `call'
136	from `call'
137	from `call'
138	from `interpret'
139	from `interpret'
140	from `interpret'
141	from `interpret'
142	from `executeBody'
143	from `interpretWithJavaExceptions'
144	from `interpret'
145	from `interpret'
146	from `interpret'
147	from `interpret'
149	from `call'
150	from `call'
151	from `call'
152	from `interpret'
153	from `interpret'
154	from `interpret'
155	from `interpret'
157	from `evalBlockBody'
158	from `yield'
159	from `yield'
160	from `yield'
161	from `eachCommon'
162	from `each'
163	from RubyArray$i$0$0$each.gen:65535:in `call'
164	from `cacheAndCall'
165	from `callBlock'
166	from `callIter'
167	from `interpret'
168	from `interpret'
170	from `evalBlockBody'
171	from `yield'
172	from `yield'
173	from `yield'
174	from `eachCommon'
175	from `each'
176	from RubyArray$i$0$0$each.gen:65535:in `call'
177	from `cacheAndCall'
178	from `callBlock'
179	from `callIter'
180	from `interpret'
181	from `interpret'
182	from `interpret'
183	from `interpret'
184	from `interpret'
185	from `interpret'
187	from `call'
188	from `call'
189	from `cacheAndCall'
190	from `call'
191	from `interpret'
192	from `interpret'
193	from `interpret'
194	from `interpret'
196	from `call'
197	from `call'
198	from `finvoke'
199	from `invoke'
200	from `callEach'
201	from `selectCommon'
202	from `find_all'
203	from RubyEnumerable$s$0$0$find_all.gen:65535:in `call'
204	from `cacheAndCall'
205	from `callBlock'
206	from `callIter'
207	from `interpret'
208	from `interpret'
209	from `interpret'
210	from `interpret'
212	from `call'
213	from `call'
214	from `cacheAndCall'
215	from `call'
216	from `interpret'
217	from `interpret'
218	from `interpret'
219	from `interpret'
221	from `call'
222	from `call'
223	from `cacheAndCall'
224	from `call'
225	from `interpret'
226	from `interpret'
227	from `interpret'
228	from `interpret'
230	from `call'
231	from `call'
232	from `cacheAndCall'
233	from `call'
234	from `interpret'
235	from `interpret'
236	from `interpret'
237	from `interpret'
239	from `call'
240	from `call'
241	from `cacheAndCall'
242	from `call'
243	from /home/vagrant/.rvm/gems/jruby- `__file__'
244	from /home/vagrant/.rvm/gems/jruby- `load'
245	from `runScript'
246	from `runScript'
247	from `runNormally'
248	from `runFromMain'
249	from `doRunFromMain'
250	from `internalRun'
251	from `run'
252	from `run'
253	from `main'
255Done. Build script exited with: 1
Commits on Aug 15, 2012
@Jacobkg Jacobkg Fix for #188. Add mention of debug logging configuration option to un…
…handled request error message. Also added it to the no_cassette.feature.