diff --git a/vcr/request.py b/vcr/request.py index 5415743..10b9fb5 100644 --- a/vcr/request.py +++ b/vcr/request.py @@ -7,13 +7,10 @@ class Request(object): self.method = method self.uri = uri self.body = body - # make headers a frozenset so it will be hashable - self.headers = frozenset(headers.items()) + self.headers = headers def add_header(self, key, value): - tmp = dict(self.headers) - tmp[key] = value - self.headers = frozenset(tmp.iteritems()) + self.headers[key] = value @property def scheme(self): diff --git a/vcr/serializers/jsonserializer.py b/vcr/serializers/jsonserializer.py index eeaa91b..2dcfa09 100644 --- a/vcr/serializers/jsonserializer.py +++ b/vcr/serializers/jsonserializer.py @@ -6,12 +6,6 @@ except ImportError: import json -def _json_default(obj): - if isinstance(obj, frozenset): - return dict(obj) - return obj - - def deserialize(cassette_string): data = json.loads(cassette_string) requests = [Request._from_dict(r['request']) for r in data] @@ -28,8 +22,8 @@ def serialize(cassette_dict): cassette_dict['responses'] )]) try: - return json.dumps(data, indent=4, default=_json_default) - except UnicodeDecodeError as e: + return json.dumps(data, indent=4) + except UnicodeDecodeError: raise UnicodeDecodeError( "Error serializing cassette to JSON. ", "Does this HTTP interaction contain binary data? ",