Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Jun 05, 2012
@myronmarston Documentation fixes.
[ci skip]
2deeb50
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.
f0b7715
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
- https://github.com/technoweenie/faraday/pull/168

Closes #173.
b5b1350
@i0rek i0rek Update Typhoeus links. be71eda
@myronmarston Merge pull request #174 from i0rek/typhoeus_links
Update Typhoeus links.
99fc556
@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]
c3ab6af
@myronmarston 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
@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.
22915c4
@myronmarston No need for this global "seen request" tracking now that we're handli…
…ng Net::HTTP's recursion directly.
0b17104
@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
`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
@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
7f86b74
@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
1fac6cf
@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:

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

..and I've often had problems with the rbx build due to rbx issues.
a1be691
Commits on Jul 26, 2012
Joe Nelson and Stephen Anderson Fix :use_scenario_name behavior for cucumber scenario outlines 5fc309b
Joe Nelson and Stephen Anderson remove debugging artifact c061001
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/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
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.
a683b67
@myronmarston Update changelog and readme. b93fdcd
@myronmarston 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
@myronmarston Excon 0.16 is out and works fine with VCR. d748f06
Commits on Aug 18, 2012
@myronmarston My Faraday fix was in 0.8.3 but that got yanked and it's not in 0.8.4. 93aa595
Commits on Sep 05, 2012
@myronmarston 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
Commits on Sep 07, 2012
@Jacobkg Jacobkg Merge pull request #186 from bendyworks/fix_scenario_outline
Fix scenario outline
a39a8e3
@Jacobkg Jacobkg Collapse cucumber scenario outline feature into cucumber feature. Ref…
…actor cucumber.rb naming code. Add spec.
b6815b5
@myronmarston 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
@myronmarston Update changelog. 4f3bf03
@myronmarston Thank @jacobkg for help with VCR maintenance. 6cbceea
Commits on Sep 08, 2012
@myronmarston 2.2.5 release. 7dfa240
Something went wrong with that request. Please try again.