Kevin McCarthy
4ade547779
python3 uses capital headers sometimes, let's do a case-agnostic header removal
2015-05-05 21:59:48 -10:00
Kevin McCarthy
5b9b6cd8b5
dont try to load chunked responses from cassettes, we already unchunked everything
2015-05-05 21:32:32 -10:00
Ivan Malison
870ab276c4
Possible fix for #140 .
2015-03-25 13:01:55 -07:00
Abhinav Gupta
2473bdb77a
Fix default port for HTTPS.
2015-02-23 23:37:04 -08:00
Ivan Malison
e1f65bcbdc
Add force reset around calls to actual connection from stubs, to ensure
...
compatibility with version of httplib/urlib2 in python 2.7.9. Closes #130 .
2014-12-26 05:10:20 -05:00
Ivan Malison
9d52c3ed42
Remove warning message caused by lack of is_verified property on HTTPSConnection stub.
2014-11-13 16:32:38 -08:00
Rodrigo Taboada
a71c15f398
Create headers field in VCRHTTPResponse. Fixes #117 .
2014-10-24 16:37:12 -02:00
Ivan Malison
a9a68ba44b
Random tweaks.
2014-10-05 18:37:01 -07:00
Ivan Malison
0871c3b87c
Remove instance variables for filter_headers, filter_query_params, ignore_localhost and ignore_hosts. These still exist on the VCR object, but they are automatically translated into a filter function when passed to the cassette.
2014-09-22 17:57:22 -07:00
Ivan Malison
b6e96020c1
Use {[testenv]deps}, instead of repeating testing requirements. Write another failing test for #109
2014-09-19 14:31:49 -07:00
Ivan Malison
958aac3af3
Use mock for patching http connection objects.
2014-09-18 05:32:55 -07:00
Matt Thomson
f719f90e63
Fix multiple header behaviour.
...
Join multiple header values together, rather than losing duplicates with a
dict.
2014-09-06 17:15:15 +01:00
Kevin McCarthy
9a1147196a
getheader() in stubs should be case-insensitive
2014-08-01 16:28:21 -10:00
Kevin McCarthy
70abc5058c
requests 2.3 compat
2014-05-17 12:58:31 -10:00
Kevin McCarthy
8d90dba16c
Ignore requests before trying to play them
...
Closes #79
2014-05-17 09:34:50 -10:00
Kevin McCarthy
8eb54c012f
pep8
2014-05-10 11:52:36 -10:00
Kevin McCarthy
1e8e7057f5
fix python3 compat
2014-05-10 11:52:35 -10:00
Kevin McCarthy
a65da12aeb
change response format
2014-05-10 11:52:34 -10:00
Kevin McCarthy
1f99ede46f
lets try response headers as dicts
2014-05-10 11:52:34 -10:00
Kevin McCarthy
5e295e0603
Serialize dict of lists, use dicts internally
...
There is a weird quirk in HTTP. You can send the same header twice.
For this reason, headers are represented by a dict, with lists as the
values. However, it appears that HTTPlib is completely incapable of
sending the same header twice. This puts me in a weird position: I want
to be able to accurately represent HTTP headers in cassettes, but I
don't want the extra step of always having to do [0] in the general
case, i.e. request.headers['key'][0]
In addition, some servers sometimes send the same header more than once,
and httplib *can* deal with this situation.
Futhermore, I wanted to keep the request and response cassette format as
similar as possible.
For this reason, in cassettes I keep a dict with lists as keys, but once
deserialized into VCR, I keep them as plain, naked dicts.
2014-05-03 17:39:12 -10:00
Max Shytikov
3322234b25
Updated Request with stup to support default ports
2014-05-04 02:12:38 +02:00
Max Shytikov
eab10578d5
Make Request headers to be a dict of lists
2014-05-02 07:32:15 +02:00
Max Shytikov
edf1df9188
Replaced Request 'host, port, protocol, path' with 'uri'
2014-04-30 02:27:52 +02:00
Kevin McCarthy
f317800cb7
Add Logging
...
This helps to figure out which matcher has decided your two cassettes
differ, and figure out when your cassettes have hit the network.
Closes #34
2014-04-27 11:29:06 -10:00
Kevin McCarthy
582b8eab51
pep8
2014-04-23 21:24:12 -10:00
Kevin McCarthy
bc5199c893
improve socket mocking to hopefully pass both new python3.4 socket connection stuff and requests tests
2014-04-23 19:30:43 -10:00
Kevin McCarthy
bd2d2cea72
bump supported python3 version to 3.4
2014-04-23 18:58:17 -10:00
Kevin McCarthy
985e573303
pep8 cleanup
2014-03-08 22:59:10 -10:00
Kevin McCarthy
f5db99f079
need the sock for httplib2, don't want sock for requests, can't we all just get along?
2014-03-08 21:56:25 -10:00
Kevin McCarthy
dedca0f6e7
expose sock, pass correct args to connect in stubs. should fix httplib2 in python3
2014-03-08 21:27:09 -10:00
Kevin McCarthy
0d77d2dcc6
fix self.closed in python3, and request must inherit from httprequest for httplib2
2014-03-08 21:11:50 -10:00
Kevin McCarthy
d187d910b9
Don't try to inherit from the real response object
2014-03-08 20:16:45 -10:00
Åsmund Grammeltvedt
a73da71159
Add Python 2.3 support
...
This commit also adds the 'six' dependency
2014-03-08 20:01:48 -10:00
Roberto Abdelkader Martínez Pérez
46a2c25f6a
httplib2 support
2014-03-08 19:35:30 -10:00
Kevin McCarthy
e84cd6f059
Major Refactor of Stubs
...
So the stubs were getting out of hand, and while trying to add support for the
putrequest and putheader methods, I had an idea for a cleaner way to handle
the stubs using the VCRHTTPConnection more as a proxy object. So
VCRHTTPConnection and VCRHTTPSConnection no longer inherit from HTTPConnection
and HTTPSConnection. This allowed me to get rid of quite a bit of
copy-and-pasted stdlib code.
2014-03-08 19:22:58 -10:00
Kevin McCarthy
84bf7b6132
Load Old Cassettes
...
Add backwards-compatible cassette loading code that can load
the old style header dicts from response cassettes.
2014-01-11 09:28:45 -10:00
Kevin McCarthy
2cf779d776
PEP8 Fixes
2013-12-19 19:43:32 -10:00
Kevin McCarthy
d4494bae50
Let's have the new exceptions subclass basic exception types
2013-12-19 19:43:32 -10:00
Marc Abramowitz
41f5fce895
Nicer error for can't overwrite existing cassette
...
Raise CannotOverwriteExistingCassetteException rather than Exception.
Include cassette filename and record mode in error message.
2013-12-19 19:20:00 -10:00
Kevin McCarthy
624212ef15
Store Headers as a List
...
This is a backwards-incompatible change that will store headers
as a list rather than a dictionary. The reason being that you can
have multiple values for a single header, and concatenating them
together with commas can create an unparseable string (sometimes
the header values can have commas in them)
2013-12-15 16:56:39 -10:00
Kevin McCarthy
49929e3064
formatting fixes
2013-12-01 14:38:46 -10:00
Kevin McCarthy
188b57a2fa
Fix API by adding 'responses_of' method
...
`responses_of` replaces `response_of`, since each request can have
several matching responses now.
This breaks backwards compatibility if you are using the
response_of method, so a version bump will be required.
2013-12-01 14:26:35 -10:00
Kevin McCarthy
b84f8e963b
Fix Cryptic 'write-protected' Message
...
Closes #46
2013-12-01 13:46:44 -10:00
Marc Abramowitz
ea13d51677
del self.sock in VCRConnectionMixin.request
...
instead of in connection class constructors.
Fixes GH-48.
2013-11-26 12:12:39 -08:00
Kevin McCarthy
89403c255c
Record Multiple Matching Requests
...
This change allows us to record multiple matching requests to
the same URL, and then play them back sequentially.
Closes #40 , #41
2013-11-10 12:17:39 -10:00
Kevin McCarthy
6200493896
Remove Some stray \t characters
...
I guess that's what I get for playing around with my vimrc.
Thanks to @bryanhelmig for pointing these out.
2013-11-09 17:52:02 -10:00
Kevin McCarthy
b0a13ba690
Fix Requests so it can gunzip the request body
...
I wasn't emulating the stateful file-object in my response stub,
so urllib3 wasn't decompressing gzipped bodies properly. This
should fix that problem.
Thanks @bryanhelmig for the motivation to dig into this.
2013-11-09 17:51:29 -10:00
Kevin McCarthy
d33b19b5bb
Fix Requests 2, Version Bump to 0.3.5
...
This fixes a compatiblity issue with the new version of requests.
Bumps the release version to 0.3.5, and closes #39 .
2013-10-24 21:57:18 -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
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