Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 709 commits
  • 240 files changed
  • 0 comments
  • 18 contributors
This comparison is big! We're only showing the most recent 250 commits
Feb 21, 2012
Myron Marston 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.
814e482
Myron Marston Allow multiple preserve_exact_body_bytes hooks.
This will pave the way to make it easy to support a cassette option for this feature.
33cd528
Myron Marston Ensure VCR.current_cassette is accurate during VCR::Cassette#eject.
This is needed for the preserve_exact_body_bytes hook.
eb213a7
Myron Marston Add new :preserve_exact_body_bytes cassette config option. befc480
Myron Marston Make VCR::Normalizers::Body::ClassMethods private. cb5bf03
Myron Marston Update relish nav. 9c3daab
Myron Marston Remove :focus. 9c7622a
Myron Marston Append info about the preserve bytes option to serialization encoding…
… errors.
a299c20
Myron Marston Try to re-encode bodies as their original encoding, printing a warnin…
…g when that fails.
b26a65b
Myron Marston Use the base class of all encoding errors. 550a58e
Myron Marston Fix build on 1.8. a4e2353
Myron Marston Setup limited red. 6459cad
Myron Marston The specs require simplecov, so let's make it a proper dev dependency. 59d3b99
Myron Marston Skip yajl test on jruby since it requires native dependencies. a45d1ee
Myron Marston It's simplecov, not simple_cov. 6d435d1
Myron Marston Try building against some other rubies.
[ci skip]
da23955
Myron Marston Words. 994a236
Feb 22, 2012
Myron Marston Don't load limited red in the CI environment. It needs the API key to…
… work.
48d7dea
Myron Marston Use latest Excon. 9380ddb
Feb 23, 2012
Myron Marston Release 2.0.0.rc2. 618a581
Myron Marston yajl-ruby can't install on jruby 19 mode. ae138db
Feb 25, 2012
Myron Marston Rearrange code a bit so the main APIs are first. c857d4d
Myron Marston Add logging of filter_sensitive_data hooks.
This should help with troubleshooting #137.
a0ea7b9
Myron Marston Add logging about the re_record_interval behavior.
Closes #123.
a0f047e
Myron Marston Add quality spec that enforces whitespace policy. d34b6f7
Myron Marston 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
ad48b85
Myron Marston Update em-http-request dependency. b4fcf22
Myron Marston Fix scenario to use new em-http-request 1.0 APIs. c130bc5
Myron Marston rbx-18mode is passing on travis; add ruby-head. 1c11b66
Myron Marston Update changelog. 5bf57c1
Feb 26, 2012
Myron Marston 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.
06a8e00
Myron Marston 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.
8dedcee
Myron Marston Update changelog.
[ci skip]
efc5712
Feb 29, 2012
Myron Marston 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.
4d0d7bf
Mar 01, 2012
Myron Marston Explicitly support newly released Excon 0.10. 2aeea4a
Mar 02, 2012
Myron Marston Update changelog. 8d356b1
Myron Marston Run tests against Faraday 0.8.0.rc2. 72332bf
Myron Marston Update README.
[ci skip]
245ae11
Myron Marston Add note to upgrade document about change in the :uri matcher.
[ci skip]
b3cea43
Myron Marston A couple more documentation tweaks.
[ci skip]
d46736e
Myron Marston Release 2.0.0! 396dd4c
Mar 03, 2012
Myron Marston Clarify a few things in the Upgrade doc. 1e1b5b0
Mar 04, 2012
Myron Marston Update limited red to version that doesn't abort if the .limited_red …
…file isn't present.
0183d44
Mar 08, 2012
Myron Marston Add link to REST-assured and re-organize library links. ca6abe8
Mar 09, 2012
support for naming cassettes automatically according to the current s…
…cenario's name using the :use_scenario_name option when creating Cucumber tags
d0eb335
Myron Marston Give credit where credit's due. 0d01bfd
Myron Marston Fix ruby warnings ("useless use of == in void context").
This should hopefully make the build green again.
cc4f6cf
Myron Marston Some file systems (like linux) aren't case sensitive.
OS X is though, so this passed for me but failed on travis.
18b449f
Mar 10, 2012
Myron Marston Fix another place where case-sensitivity matters on Linux. 748d6c2
Mar 13, 2012
Mislav Marohnić allow bundler 1.1 9e49c5b
Mislav Marohnić 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
editable.

Example

  VCR.use_cassette(:example, :decode_compressed_response => true) do
    # ...
  end
ca7cfed
Myron Marston 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'`.
44e91ec
Myron Marston Use a vcr error for unknown content encoding. c1a4f55
Myron Marston Document new :decode_compressed_response option. a08448c
Myron Marston Update Changelog. a96f0aa
Myron Marston 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.
e8c53e6
Myron Marston 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
a17b4b9
Myron Marston limited_red can't install on 1.8.7 due to being build with psych. edf58a2
Myron Marston Upgrade to rspec 2.9.0rc2. 8ef5b0e
Myron Marston Get structs_spec.rb to pass on 1.8.7. 114e6bc
Myron Marston Set file type of a few cuke sections for syntax highlighting on relish. 986557c
Myron Marston 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.
b5aea12
Myron Marston Revert "Upgrade to rspec 2.9.0rc2."
This reverts commit 8ef5b0e.

VCR's specs aren't passing on 2.9.0.rc2 :(.
1c5217b
Mar 14, 2012
Myron Marston Handle limited red not being installed. e0034eb
Myron Marston 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.
4cd88e1
Myron Marston Upgrade to limited red 0.3.9, which fixes the 1.8.7 issues. 07ad209
Mar 15, 2012
Myron Marston Test against new webmock, excon and em-http-request releases. 4a3ed8b
Mar 18, 2012
Myron Marston Don't try to encode to a nil encoding.
This should allow cassettes recorded on 1.8 to work on 1.9.

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

rubinius/rubinius#1575
ce67f9b
Myron Marston Excon 0.13 is out and VCR works fine with it. cbacaaa
Mar 23, 2012
Myron Marston 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]
a936557
Mar 28, 2012
Myron Marston Fix faraday middleware so that it plays back parallel requests properly. 2098a95
Mar 29, 2012
Myron Marston Remove unneeded .document file. 9c0caee
Apr 01, 2012
Ezekiel Templin Remove explicit definition of parallel_manager 835be52
Myron Marston Add @ezkl to list of contributors in the readme. 0714dbd
Apr 02, 2012
Myron Marston 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
4f900a7
Apr 06, 2012
Myron Marston Remove unused method. 5677f88
Apr 18, 2012
Myron Marston Add link to codeclimate. b5f78ea
Myron Marston Update Changelog to reflect 2.0.1 release. 1977f87
Myron Marston Fix readme.
[ci skip]
67c1823
Myron Marston 2.1.0 release.
[ci skip]
23fe0d7
Apr 22, 2012
Myron Marston Fix :use_scenario_name option so that it works for multiple scenarios.
Closes #156.
751783e
Myron Marston Update Changelog. dbe142d
Apr 23, 2012
Myron Marston Only use the first line of the cuke feature name in the cassette name.
Closes #157.
034bdaf
Myron Marston Update changelog.
[ci skip]
92da531
Apr 24, 2012
Myron Marston 2.1.1 release. 4858f4e
Refactored cassette to use a storage backend 5a7021b
Myron Marston 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.
7667c7a
Myron Marston Remove unused variable. f7fb0ba
Myron Marston Remove unused method. daee674
Myron Marston Use a shorter variable name. 93f3c1a
Myron Marston Use an attr_reader rather than an explicit method. ff972d1
Myron Marston Add specs for StorageBackends. 6c6a3b3
Apr 25, 2012
Myron Marston Implement FileSystem read/write interface. d44afaa
Apr 26, 2012
Myron Marston 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.
67a9cf0
Myron Marston Use the storage backend rather than direct file calls. 488042c
Myron Marston Rename raw_yaml_content to raw_cassette_bytes
...since other (non-yaml) serializers are supported now.
37ed57f
Myron Marston VCR::Configuration doesn't use fileutils anymore. ef459e4
Myron Marston Pass the cassette name to the ERBRenderer.
This allows it to use it in error messages.
7e03d4c
Myron Marston Move the file name sanitization into the FileSystem backend.
This sanitization is designed for file names, so it belongs there.
56c6c19
Apr 28, 2012
Myron Marston Allow a custom storage backend to be used. fd6bbaa
Myron Marston Change :storage_backend option to :persist_with.
I like this a bit better and it lines up nicely with the :serialize_with option.
e0b63b8
Myron Marston Add yard docs for new persister feature. 924e703
Myron Marston Fix failing cuke.
The new persist_with option gets logged.
d79146d
Myron Marston Gracefully handle the case where the template is nil. c9766f5
Myron Marston Words. 7af62f4
Apr 30, 2012
Myron Marston Slightly more robust fix for the after_http_request symbol filter pro…
…blem.

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).
262393a
Myron Marston Words.
[ci skip]
4fecdff
Myron Marston Cassette#file is only valid when the FileSystem persister is used. 6e1359c
May 01, 2012
playupchris Modify after_http_request scenario to fail 9e2d24e
playupchris BUGFIX for calling "to procable" filters in hooks
eg. VCR.configure.after_http_request(:stubbed?)
db7f0bc
Myron Marston Shift things around to make yard 0.8 happy. 3193708
Myron Marston Print out the yard coverage info (including warnings) even when the t…
…ask passes.
c0836b6
Myron Marston Deal with some YARD warnings. 8bc984f
Myron Marston Refactor cassette initialization. 76c1e35
Myron Marston Add link to nock.
[ci skip]
9f68800
May 02, 2012
ingemar Pass the given URI to ::FakeWeb.allow_net_connect? when VCR is turned…
… off

[fixes #160]
cef9f9d
Myron Marston Prefer eq matcher to ==.
Using should == generates warnings.
bface04
Gordon Wilson WebMock's :allow filters work now bd6a9ce
Myron Marston Words. e564ec3
May 03, 2012
Myron Marston Remove old scripts I no longer use.
[ci skip]
4d2066a
Myron Marston 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.
1bdaa8c
Myron Marston 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.
2ac7a03
May 06, 2012
Myron Marston Add link to NSURLConnectionVCR.
...and re-arrange links alphabetically while I'm at it.

[ci skip]
6723279
Myron Marston 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.
e536a51
Myron Marston 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.
d924f66
May 10, 2012
Myron Marston Fix documentation typo. f5bb8a0
May 14, 2012
Myron Marston Relax httpclient version constraint.
This should pick up the latest, to run the build for #168.
8575ba5
May 22, 2012
Myron Marston 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.
04cd243
Myron Marston Gracefully handle a faraday stack w/ no explicit adapter.
Closes #170.
30549e8
Myron Marston Update changelog. 90dacb2
May 26, 2012
Myron Marston 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.
b161e10
Myron Marston Ensure our injected instance variable gets removed. aa087c1
Myron Marston 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.
524ac1c
Myron Marston Remove guard...I haven't used guard in a while. ea84bfb
Myron Marston 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:

http://travis-ci.org/#!/myronmarston/vcr/jobs/1443136/L145
e1ca679
Myron Marston Work around weird rubinius issue on travis. 50c6ef5
Myron Marston 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.
139ac6b
May 27, 2012
Myron Marston Fix cukes failing on rubinius.
Rubinius now includes some extra leading spaces on some kinds of errors, for some reason.
99bd91a
Myron Marston Fix failing specs on rubinius.
I'm not sure why there's this different behavior for MRI vs RBX, but this fixes it.
0885843
Myron Marston 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).
fe4f152
Myron Marston 1.9 mode on rbx doesn't have the same serialization errors. 04ed9df
Myron Marston Rubinius 1.9 mode doesn't raise encoding errors like it should :(. f8cfae3
Myron Marston Rubinius 1.9 mode has a gzip issue, too... 42babb2
May 28, 2012
Myron Marston Allow requests to be stubbed by external libraries (e.g. WebMock or F…
…akeWeb).

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.
#externally_stubbed?).

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.
499646a
May 29, 2012
Tyler Hunt Fix multipart POST requests with Faraday. cec9fe3
Myron Marston 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.
4752496
Myron Marston Remove limited red...I'm not actually using it. b364c82
Myron Marston Reformat changelog.
[ci skip]
aff7f48
Mattias Putman Added allow_episode_skipping option notion c7a5b09
Mattias Putman Assert if a list can be stopped using properly; Custom error when req…
…uests have been skipped
58ddbb0
Mattias Putman Renamed option; made has_unused_interactions? private; don't mix opti…
…on in with http interaction list; Added default option
75d64a7
May 30, 2012
Myron Marston 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.
d6e9610
Myron Marston Update changelog.
[ci skip]
729292e
Myron Marston 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).
9c686c9
May 31, 2012
Myron Marston Add links to other VCR ports. 9795ddb
Myron Marston 2.2.0 release. e1e0b62
Jun 05, 2012
Myron Marston Documentation fixes.
[ci skip]
2deeb50
Jun 06, 2012
Myron Marston A few relish fixes. 3883d50
Jun 12, 2012
Myron Marston 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.
f0b7715
Myron Marston Fix comment formatting. 26a544a
Myron Marston 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
- https://github.com/technoweenie/faraday/pull/168

Closes #173.
b5b1350
Jun 13, 2012
Hans Hasselberg Update Typhoeus links. be71eda
Myron Marston Merge pull request #174 from i0rek/typhoeus_links
Update Typhoeus links.
99fc556
Myron Marston 2.2.1 release. 5e9dcb8
Jun 14, 2012
Myron Marston Include cassette name in error message. 819cdfb
Myron Marston Fix a few yard formatting issues.
[ci skip]
c3ab6af
Myron Marston Fix VCR.eject_cassette so that it always pops the cassette off the st…
…ack.

Previously, if there was an error while ejecting the cassette, the cassette would remain as the current cassette.

Closes #175.
2bff070
Jun 15, 2012
Myron Marston 2.2.2 release. 7f03f6b
Myron Marston Add link to IRC channel. 617f02d
Jun 27, 2012
Myron Marston Excon 0.14 is out and works fine with VCR. 339bb3f
Jul 09, 2012
Myron Marston Fix typos in comments. dfda4cd
Jacobkg Failing test for reusing net/http request in Fakeweb 498994a
Myron Marston 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.
22915c4
Myron Marston No need for this global "seen request" tracking now that we're handli…
…ng Net::HTTP's recursion directly.
0b17104
Myron Marston Fix uninitialized ivar warning. 460ba73
Myron Marston It's `expect { }.to`, not `expect { }.should`. 8075246
Myron Marston Update RSpec. 661450a
Myron Marston Filter out unexplainable warnings. b47858a
Myron Marston 2.2.3 release. 9b2d293
Jul 19, 2012
Myron Marston 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
`s3.amazonaws.com`, while the verification for the request being recorded by VCR was made
against `<bucket_name>.s3.amazonaws.com`. The difference is due to the fact that fog
constructs an Excon::Connection instance with a URI of `s3.amazonaws.com`, 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.
981112f
Myron Marston Excon 0.15 is out and works fine with VCR. ae9a0b3
Myron Marston 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
7f86b74
Myron Marston 2.2.4 release. 93b5f13
Jul 25, 2012
Jonathan Tron Typhoeus 0.4.2 is out and works fine with VCR d09de03
Myron Marston Merge pull request #184 from JonathanTron/patch-1
Typhoeus 0.4.2 is out and works fine with VCR
1fac6cf
Myron Marston Add @JonathanTron to contributors list. 12905a3
Myron Marston The new WebMock release has fixed the Net::HTTP empty body bug. d9873fb
Myron Marston Ignore rbx18-mode failures.
The travis build failed with no indication as to why:

http://travis-ci.org/#!/myronmarston/vcr/jobs/1952677/L30

..and I've often had problems with the rbx build due to rbx issues.
a1be691
Jul 26, 2012
Fix :use_scenario_name behavior for cucumber scenario outlines 5fc309b
remove debugging artifact c061001
Aug 12, 2012
Myron Marston Relax the faraday version constraint. c5b249a
Myron Marston Allow jruby 18 failure.
I'm getting a weird error from Jruby:

$ script/ci.sh
81CachingCallSite.java:311:in `cacheAndCall': java.lang.NullPointerException
82	from CachingCallSite.java:169:in `call'
83	from /home/vagrant/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/1.8/rubygems/version.rb:279:in `__file__'
84	from /home/vagrant/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/1.8/rubygems/version.rb:-1:in `__file__'
85	from JittedMethod.java:127:in `call'
86	from DefaultMethod.java:183:in `call'
87	from CachingCallSite.java:133:in `call'
88	from CallNoArgNode.java:63:in `interpret'
89	from LocalAsgnNode.java:123:in `interpret'
90	from NewlineNode.java:104:in `interpret'
91	from BlockNode.java:71:in `interpret'
92	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
93	from InterpretedMethod.java:190:in `call'
94	from DefaultMethod.java:199:in `call'
95	from RuntimeHelpers.java:2622:in `invokedynamic'
96	from RubyComparable.java:149:in `op_ge'
97	from RubyComparable$s$1$0$op_ge.gen:65535:in `call'
98	from CachingCallSite.java:312:in `cacheAndCall'
99	from CachingCallSite.java:169:in `call'
100	from GeCallSite.java:37:in `call'
101	from CallOneArgNode.java:57:in `interpret'
102	from IfNode.java:111:in `interpret'
103	from NewlineNode.java:104:in `interpret'
104	from BlockNode.java:71:in `interpret'
105	from IfNode.java:117:in `interpret'
106	from NewlineNode.java:104:in `interpret'
107	from BlockNode.java:71:in `interpret'
108	from ASTInterpreter.java:111:in `INTERPRET_BLOCK'
109	from InterpretedBlock.java:374:in `evalBlockBody'
110	from InterpretedBlock.java:347:in `yield'
111	from InterpretedBlock.java:304:in `yield'
112	from Block.java:130:in `yield'
113	from YieldNode.java:119:in `interpret'
114	from IfNode.java:117:in `interpret'
115	from NewlineNode.java:104:in `interpret'
116	from BlockNode.java:71:in `interpret'
117	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
118	from InterpretedMethod.java:169:in `call'
119	from DefaultMethod.java:191:in `call'
120	from CachingCallSite.java:142:in `callBlock'
121	from CachingCallSite.java:148:in `call'
122	from RubyClass.java:822:in `newInstance'
123	from RubyClass$i$newInstance.gen:65535:in `call'
124	from CachingCallSite.java:302:in `cacheAndCall'
125	from CachingCallSite.java:144:in `callBlock'
126	from CachingCallSite.java:153:in `callIter'
127	from CallNoArgBlockNode.java:64:in `interpret'
128	from NewlineNode.java:104:in `interpret'
129	from RootNode.java:129:in `interpret'
130	from ASTInterpreter.java:95:in `INTERPRET_EVAL'
131	from ASTInterpreter.java:166:in `evalWithBinding'
132	from RubyKernel.java:1126:in `evalCommon'
133	from RubyKernel.java:1083:in `eval'
134	from RubyKernel$s$0$3$eval.gen:65535:in `call'
135	from DynamicMethod.java:227:in `call'
136	from DynamicMethod.java:223:in `call'
137	from CachingCallSite.java:235:in `call'
138	from FCallThreeArgNode.java:40:in `interpret'
139	from LocalAsgnNode.java:123:in `interpret'
140	from NewlineNode.java:104:in `interpret'
141	from BlockNode.java:71:in `interpret'
142	from RescueNode.java:216:in `executeBody'
143	from RescueNode.java:120:in `interpretWithJavaExceptions'
144	from RescueNode.java:110:in `interpret'
145	from BeginNode.java:83:in `interpret'
146	from NewlineNode.java:104:in `interpret'
147	from BlockNode.java:71:in `interpret'
148	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
149	from InterpretedMethod.java:190:in `call'
150	from DefaultMethod.java:199:in `call'
151	from CachingCallSite.java:167:in `call'
152	from CallOneArgNode.java:57:in `interpret'
153	from DAsgnNode.java:110:in `interpret'
154	from NewlineNode.java:104:in `interpret'
155	from BlockNode.java:71:in `interpret'
156	from ASTInterpreter.java:111:in `INTERPRET_BLOCK'
157	from InterpretedBlock.java:374:in `evalBlockBody'
158	from InterpretedBlock.java:347:in `yield'
159	from InterpretedBlock.java:304:in `yield'
160	from Block.java:130:in `yield'
161	from RubyArray.java:1608:in `eachCommon'
162	from RubyArray.java:1615:in `each'
163	from RubyArray$i$0$0$each.gen:65535:in `call'
164	from CachingCallSite.java:302:in `cacheAndCall'
165	from CachingCallSite.java:144:in `callBlock'
166	from CachingCallSite.java:153:in `callIter'
167	from CallNoArgBlockNode.java:64:in `interpret'
168	from NewlineNode.java:104:in `interpret'
169	from ASTInterpreter.java:111:in `INTERPRET_BLOCK'
170	from InterpretedBlock.java:374:in `evalBlockBody'
171	from InterpretedBlock.java:347:in `yield'
172	from InterpretedBlock.java:304:in `yield'
173	from Block.java:130:in `yield'
174	from RubyArray.java:1608:in `eachCommon'
175	from RubyArray.java:1615:in `each'
176	from RubyArray$i$0$0$each.gen:65535:in `call'
177	from CachingCallSite.java:302:in `cacheAndCall'
178	from CachingCallSite.java:144:in `callBlock'
179	from CachingCallSite.java:153:in `callIter'
180	from CallNoArgBlockNode.java:64:in `interpret'
181	from NewlineNode.java:104:in `interpret'
182	from BlockNode.java:71:in `interpret'
183	from IfNode.java:119:in `interpret'
184	from NewlineNode.java:104:in `interpret'
185	from BlockNode.java:71:in `interpret'
186	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
187	from InterpretedMethod.java:147:in `call'
188	from DefaultMethod.java:183:in `call'
189	from CachingCallSite.java:292:in `cacheAndCall'
190	from CachingCallSite.java:135:in `call'
191	from CallNoArgNode.java:63:in `interpret'
192	from CallNoArgBlockNode.java:60:in `interpret'
193	from NewlineNode.java:104:in `interpret'
194	from BlockNode.java:71:in `interpret'
195	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
196	from InterpretedMethod.java:169:in `call'
197	from DefaultMethod.java:191:in `call'
198	from RubyClass.java:552:in `finvoke'
199	from RuntimeHelpers.java:529:in `invoke'
200	from RubyEnumerable.java:93:in `callEach'
201	from RubyEnumerable.java:650:in `selectCommon'
202	from RubyEnumerable.java:672:in `find_all'
203	from RubyEnumerable$s$0$0$find_all.gen:65535:in `call'
204	from CachingCallSite.java:302:in `cacheAndCall'
205	from CachingCallSite.java:144:in `callBlock'
206	from CachingCallSite.java:153:in `callIter'
207	from CallNoArgBlockNode.java:64:in `interpret'
208	from LocalAsgnNode.java:123:in `interpret'
209	from NewlineNode.java:104:in `interpret'
210	from BlockNode.java:71:in `interpret'
211	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
212	from InterpretedMethod.java:190:in `call'
213	from DefaultMethod.java:199:in `call'
214	from CachingCallSite.java:312:in `cacheAndCall'
215	from CachingCallSite.java:169:in `call'
216	from FCallOneArgNode.java:36:in `interpret'
217	from LocalAsgnNode.java:123:in `interpret'
218	from NewlineNode.java:104:in `interpret'
219	from BlockNode.java:71:in `interpret'
220	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
221	from InterpretedMethod.java:147:in `call'
222	from DefaultMethod.java:183:in `call'
223	from CachingCallSite.java:292:in `cacheAndCall'
224	from CachingCallSite.java:135:in `call'
225	from CallNoArgNode.java:63:in `interpret'
226	from LocalAsgnNode.java:123:in `interpret'
227	from NewlineNode.java:104:in `interpret'
228	from BlockNode.java:71:in `interpret'
229	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
230	from InterpretedMethod.java:147:in `call'
231	from DefaultMethod.java:183:in `call'
232	from CachingCallSite.java:292:in `cacheAndCall'
233	from CachingCallSite.java:135:in `call'
234	from CallNoArgNode.java:63:in `interpret'
235	from LocalAsgnNode.java:123:in `interpret'
236	from NewlineNode.java:104:in `interpret'
237	from BlockNode.java:71:in `interpret'
238	from ASTInterpreter.java:74:in `INTERPRET_METHOD'
239	from InterpretedMethod.java:233:in `call'
240	from DefaultMethod.java:215:in `call'
241	from CachingCallSite.java:332:in `cacheAndCall'
242	from CachingCallSite.java:203:in `call'
243	from /home/vagrant/.rvm/gems/jruby-1.6.7.2@global/bin/bundle:22:in `__file__'
244	from /home/vagrant/.rvm/gems/jruby-1.6.7.2@global/bin/bundle:-1:in `load'
245	from Ruby.java:697:in `runScript'
246	from Ruby.java:690:in `runScript'
247	from Ruby.java:597:in `runNormally'
248	from Ruby.java:446:in `runFromMain'
249	from Main.java:369:in `doRunFromMain'
250	from Main.java:258:in `internalRun'
251	from Main.java:224:in `run'
252	from Main.java:208:in `run'
253	from Main.java:188:in `main'
254
255Done. Build script exited with: 1
ae9de23
Aug 15, 2012
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.
a683b67
Myron Marston Update changelog and readme. b93fdcd
Myron Marston Fix failing specs.
- The debug_logger note wasn't included in the error message when there is no cassette.
- The new Faraday release includes my fix for the handling of an empty response by its Net::HTTP adapter.
eb91c8a
Myron Marston Excon 0.16 is out and works fine with VCR. d748f06
Aug 17, 2012
Myron Marston My Faraday fix was in 0.8.3 but that got yanked and it's not in 0.8.4. 93aa595
Sep 04, 2012
Myron Marston Fix excon compatibility.
We need to remove the undesirable options from the connection's instance variable params, and not simply from the params that are passed to #request.

I suspect that there might have been edge case bugs before now with the old
logic.

Fixes #193.
f7beeed
Sep 06, 2012
Jacobkg Merge pull request #186 from bendyworks/fix_scenario_outline
Fix scenario outline
a39a8e3
Jacobkg Collapse cucumber scenario outline feature into cucumber feature. Ref…
…actor cucumber.rb naming code. Add spec.
b6815b5
Myron Marston Fix excon hook so it works on 1.8.7.
My use of splat args wasn't able to parse on 1.8.7.

Thanks to @jacobkg for pointing this out.
3cbd1d4
Sep 07, 2012
Myron Marston Update changelog. 4f3bf03
Myron Marston Thank @jacobkg for help with VCR maintenance. 6cbceea
Myron Marston 2.2.5 release. 7dfa240
Sep 25, 2012
Mark Burns Fix typo in lib/vcr/errors.rb 1fde090
Myron Marston Add Mark to list of contributors. 02d31bd
Sep 26, 2012
Ryan Burrows Make the uri parser configurable
Instead of using just Ruby's `URI` class to parse URIs, allow the
parser to be set through the configuration and just use `URI` as a
default. This allows the use of more permissive parser to, e.g. allow
subdomains with underscores in them
64b2edc
Ryan Burrows Set the spec uri parser to enforce the URI interface
Set the `uri_parser` to a limited one wrapping the default `URI` for
use in the specs to ensure that the interface required by acceptable
uri parsers isn't accidentally expanded in the future.
7baf5f0
Ryan Burrows Add `parsed_uri` convenience method to request 0aba90d
Myron Marston Improve uri_parser docs a bit. e06937b
Myron Marston Prefer `should eq` to `should ==`. c53c42d
Myron Marston Fix up `uri` requires.
- It should be required from `configuration` since that's the one place it's used now.
- request_matcher_registry_spec and structs_spec should be runnable in isolation.
e3db39c
Myron Marston Add missing yard doc. 031e54d
Myron Marston Update changelog. b8d402d
Oct 11, 2012
Myron Marston Build all branches.
[ci skip]
85fbe14
Oct 29, 2012
Excluding Rubymine project config files from repo 126c5af
Only use the first line of the cuke scenario name in the cassette name.
Just like features, scenarios can have multiline preambles. When
using the :use_scenario_name option, VCR will only use the first line
of the scenario name as the directory for the cassette. This change
is modeled after commit 034bdaf
978f932
Myron Marston Merge pull request #203 from pascalvanhecke/feature/scenario_name_in_…
…case_of_multiline_scenario_description

Feature/scenario name in case of multiline scenario description
7d59ed7
Hans Hasselberg Update typhoeus code to work with Typheous 0.5. 11e310e
Myron Marston Typhoeus 0.9 has merged my fix that was causing this failure. 06ede93
Myron Marston Make Gemfile compatible with appraisals.
- It wasn't picking up gems in a group.
- I got an undefined method error from `platforms`.
e4969f5
Myron Marston Add back support for Typhoeus 0.4. ec845e2
Myron Marston Don't print a warning for Faraday 0.9. 01b5a09
Myron Marston Put Typhoeus 0.4 specs first.
The coverage check runs at the end and should run against the code coverage from the full spec build.
49718c3
Myron Marston Words. 61280c0
Myron Marston Don't use 1.9 hash syntax. 7563715
Myron Marston Don't use a forking server - use threads instead.
I think this may help solve the travis CI build problems--the forked process may be exiting with another status code causing a failed spec run even though no specs failed.

The forked process approach was needed for Patron in the past but that appears to be fixed.
3057b66
Myron Marston Add -x flag so it gives me more info.
I can't repro the travis failure locally so hopefully this'll provide the missing info.
bf8e5c9
Myron Marston Skip strange 1.9.2 warning I'm getting on Travis CI. eda62d7
Myron Marston Switch to debugger gem for 1.9 1b4703d
Myron Marston Skip patron on 1.8.7.
The HTTP requests timeout (presumably due to switching to a threaded server instead of a forked one) on 1.8.7. We can safely skip them as there isn't any patron-specific logic in VCR.
a20ac40
Myron Marston Switch back to released faraday.
@i0rek moved the new typhoeus faraday adapter into typhoeus itself.
8043c32
Myron Marston Don't attempt to run typhoeus specs on non-MRI interpreters.
I'm having FFI problems on JRuby and Rubinius.
edf1edf
Myron Marston Skip cukes that have been intermittently failing on 1.8.7 on travis. 6575a7f
Myron Marston Update changelog.
[ci skip]
f5c4d9e
Myron Marston 2.3.0 release. 66e0577
Nov 20, 2012
Myron Marston Update to released versions of things. e298c6c
Myron Marston Put Gemfile.lock under source control.
Even though the bundler team recommends against this for gems, I like having the record of what gem versions the build passed against at specific points in the git history.
c99bf25
Myron Marston Remove trailing ".rb" that is unnecessary. bfd0099
Myron Marston Wait to load http_library_adapters until typhoeus is loaded.
This is necessary because it has conditional logic based on which typhoeus version has been loaded.  The monkey_patches file loads typhoeus.
c3561e1
Myron Marston The newest Typhoeus release breaks backwards compat and requires down…
…case header keys.

See typhoeus/typhoeus#227 for more info.

This is a hack that hopefully we won't have to do in the future, but it'll work for now.
c33a74a
Myron Marston WebMock 1.9 works fine with VCR. f75353b
Myron Marston Work around the fact that the on_complete hook can fire twice for one… 7c6b615