Hector Dearman
c03459e582
allow match_on to be passed as an argument VCR
2013-09-21 16:52:09 -10:00
Kevin McCarthy
912452e863
Only use the relative path in HTTP requests
...
This causes a pretty big problem on out-of-spec HTTP servers (like
Flickr). Closes #31
2013-09-17 13:19:26 -10:00
Kevin McCarthy
a66f462dcd
Add support for custom request matchers
...
This commit not only changes the default method of matching requests
(just match on method and URI instead of the entire request + headers)
but also allows the user to add custom matchers.
2013-09-16 20:46:00 -10:00
Kevin McCarthy
03c22d79dd
Add support for configurable record modes
...
This support will let you select one of four different behaviors
for VCR's cassettes. Closes #23
2013-09-15 18:43:02 -10:00
Kevin McCarthy
5ce67dc023
Add support for calling httplib.send().
...
This commit changes the whole core internal flow of requests.
Now, requests are actually physically made lazily when a response
is requested. This allows the entire request to be sent at once.
Otherwise, it would be impossible to compare whether requests have
already been recorded, since httplib.send() allows you to effectively
stream requests over HTTP.
2013-09-15 18:43:02 -10:00
Kevin McCarthy
c8299103fb
pep8 fixes
2013-08-23 20:35:43 -10:00
shu zOMG chen
b55834e929
Don't save cassette when it hasn't been modified
2013-08-23 20:35:42 -10:00
Kevin McCarthy
65254b4969
change serializer API so it doesn't have to do file stuff
2013-08-22 19:18:58 -10:00
Kevin McCarthy
6005420409
Let's do an instance/module-based API for serializers
2013-08-22 17:39:52 -10:00
Kevin McCarthy
b688dd362d
test cassette library dir
2013-08-19 19:49:06 -10:00
Kevin McCarthy
b7af8bae71
keep yaml as default cassette serializer to fix unit tests
2013-08-19 19:49:06 -10:00
Kevin McCarthy
1478ce82fd
make config options actually do stuff
2013-08-19 19:49:06 -10:00
Kevin McCarthy
53f5cd24d6
Begin work on implementing configuration interface
2013-08-19 19:49:05 -10:00
shu zOMG chen
51f0f1bacd
Adding json serializer
2013-08-19 19:49:05 -10:00
Kevin McCarthy
5c0a1e1769
persist on _vcr_request
2013-08-11 18:32:02 -10:00
Kevin McCarthy
e61c503d96
Use ordereddict so responses actually stay in order
2013-08-11 17:54:22 -10:00
Kevin McCarthy
a6c59c20d2
remove debugging code from Request and add repr
2013-08-11 17:51:33 -10:00
Kevin McCarthy
c7abde24b8
improve mocked headers so urllib2 can handle redirects too
2013-08-11 15:05:42 -10:00
Kevin McCarthy
fcc50eb44e
dont try to create empty dirs
2013-08-11 15:05:42 -10:00
Kevin McCarthy
ec01955c68
lets store the proto too
2013-08-11 15:05:41 -10:00
Kevin McCarthy
59567a26cc
lets make url the actual url instead of just the path
2013-08-11 15:05:41 -10:00
Kevin McCarthy
a50cebaf21
change response to response_of
2013-08-11 15:05:41 -10:00
Kevin McCarthy
4f0668471e
Refactor again to try to give Cassette a cleaner interface
2013-08-11 15:05:41 -10:00
Kevin McCarthy
5d1c1ecc92
add str to cassette object
2013-08-11 15:05:41 -10:00
Kevin McCarthy
d322bc01da
update vcr stubs to actually call mark_played correctly
2013-08-11 15:05:41 -10:00
Kevin McCarthy
e39b48e73b
add a couple more tests, change played api to require request being played
2013-08-11 15:05:41 -10:00
Kevin McCarthy
4cdf5f7483
update cassette unit tests
2013-08-11 15:05:41 -10:00
Kevin McCarthy
3c614d0e9b
add backported counter module
2013-08-11 15:05:41 -10:00
Kevin McCarthy
9ac03c889a
hold counts in a Counter
2013-08-11 15:05:40 -10:00
Kevin McCarthy
87d27a7199
add requests class to sow the seeds of a custom matcher
2013-08-11 15:05:40 -10:00
Kevin McCarthy
7221141cdd
add back the secure write
2013-08-11 15:05:40 -10:00
Kevin McCarthy
166facd0d0
check that cassette contains things before returning
2013-08-11 15:05:40 -10:00
Kevin McCarthy
37504c8982
remove some TODOs
2013-08-11 15:05:40 -10:00
Kevin McCarthy
fb2aa89445
replace cached() with mark_played / play_count
2013-08-11 15:05:40 -10:00
Kevin McCarthy
9b665fef27
dont append to cassette file
2013-08-11 15:05:40 -10:00
Kevin McCarthy
77f0ef5c33
bring back the files module, but do serialization in cassette
2013-08-11 15:05:40 -10:00
Kevin McCarthy
30350ac3d7
fix typo
2013-08-11 15:05:40 -10:00
Dan Lecocq
b488ca67fe
Substantial refactoring
...
This refactoring includes some PEP-8 compliance changes, as well as some more
complete testing to ensure that we're in fact serving everything out of
cassettes when we thing we are.
Incidentally, it also includes fixes for #3 and #4
2013-08-11 15:05:39 -10:00
Dan Lecocq
e9cb0bff47
Use the libYAML version of yaml if it's available
2013-07-23 15:25:33 -07:00
Vitor M. A. da Cruz
8701e6025b
Removing patch for plain http using requests during reset
...
The patch was not removed, so subsequent connections were affected
2013-07-05 16:48:30 -03:00
Vitor M. A. da Cruz
41fd8411cf
Update stubs.py
...
`VCRHTTPResponse.close` method must be defined for urllib3.
`VCRHTTPResponse.read` does not need to care about the paremeters passed to it
2013-06-21 16:54:24 -03:00
Bryan Helmig
6208b0ce61
patch plain HTTP for requests
2013-04-28 12:12:22 -07:00
Sri Prasanna
ed682cf354
+ @bhartin - now vcr can handle multiple requests
2013-02-21 13:04:55 +03:00
Kevin McCarthy
6af873eeb2
Add basic support for urllib3
2012-10-11 15:47:01 -10:00
Kevin McCarthy
41da9ddbab
Add Support for Requests Library
...
Added support and tests for the Requests library. At least basic
support seems to be working. The tests should run fine if you
don't have requests installed; it just won't verify the requests-
specific tests.
2012-09-16 12:29:45 -10:00
Kevin McCarthy
10f18af68c
Cleanup to get a bit more DRY. Hopefully doesn't break anything.
2012-07-02 12:08:01 -10:00
Kevin McCarthy
bf844c6952
cleanup
2012-07-02 10:00:18 -10:00
Kevin McCarthy
e4e2250122
guess 2.6 / 2.7 have different kwargs
2012-07-01 21:57:51 -10:00
Kevin McCarthy
4724a0efb8
Fix Issue #2 - https:// URLs do not work. Not really happy with this but at least it works.
2012-07-01 21:36:02 -10:00
Kevin McCarthy
2576878f2e
Cassettes now store multiple requests
2012-06-30 15:10:20 -10:00