mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-08 16:53:23 +00:00
Minor documentation corrections: The list of ``match_on`` options was missing ``scheme``. Also, an unneeded period appeared after URI.
62 lines
1.8 KiB
ReStructuredText
62 lines
1.8 KiB
ReStructuredText
Configuration
|
|
=============
|
|
|
|
If you don't like VCR's defaults, you can set options by instantiating a
|
|
``VCR`` class and setting the options on it.
|
|
|
|
.. code:: python
|
|
|
|
|
|
import vcr
|
|
|
|
my_vcr = vcr.VCR(
|
|
serializer='json',
|
|
cassette_library_dir='fixtures/cassettes',
|
|
record_mode='once',
|
|
match_on=['uri', 'method'],
|
|
)
|
|
|
|
with my_vcr.use_cassette('test.json'):
|
|
# your http code here
|
|
|
|
Otherwise, you can override options each time you use a cassette.
|
|
|
|
.. code:: python
|
|
|
|
with vcr.use_cassette('test.yml', serializer='json', record_mode='once'):
|
|
# your http code here
|
|
|
|
Note: Per-cassette overrides take precedence over the global config.
|
|
|
|
Request matching
|
|
----------------
|
|
|
|
Request matching is configurable and allows you to change which requests
|
|
VCR considers identical. The default behavior is
|
|
``['method', 'scheme', 'host', 'port', 'path', 'query']`` which means
|
|
that requests with both the same URL and method (ie POST or GET) are
|
|
considered identical.
|
|
|
|
This can be configured by changing the ``match_on`` setting.
|
|
|
|
The following options are available :
|
|
|
|
- method (for example, POST or GET)
|
|
- uri (the full URI)
|
|
- scheme (for example, HTTP or HTTPS)
|
|
- host (the hostname of the server receiving the request)
|
|
- port (the port of the server receiving the request)
|
|
- path (the path of the request)
|
|
- query (the query string of the request)
|
|
- raw\_body (the entire request body as is)
|
|
- body (the entire request body unmarshalled by content-type
|
|
i.e. xmlrpc, json, form-urlencoded, falling back on raw\_body)
|
|
- headers (the headers of the request)
|
|
|
|
Backwards compatible matchers:
|
|
- url (the ``uri`` alias)
|
|
|
|
If these options don't work for you, you can also register your own
|
|
request matcher. This is described in the Advanced section of this
|
|
README.
|