Skip to contents

Main R6 class that is called from the main user facing function use_cassette()

Value

an object of class Cassette

Points of webmockr integration

Public fields

name

(character) cassette name

record

(character) record mode

recorded_at

(character) date/time recorded at

serialize_with

(character) serializer to use (yaml|json)

serializer

(character) serializer to use (yaml|json)

match_requests_on

(character) matchers to use default: method & uri

re_record_interval

(numeric) the re-record interval

root_dir

root dir, gathered from vcr_configuration()

allow_playback_repeats

(logical) Whether to allow a single HTTP interaction to be played back multiple times

preserve_exact_body_bytes

(logical) Whether to base64 encode the bytes of the requests and responses

http_interactions

(list) internal use

new_interactions

(boolean) Have any interactions been recorded?

clean_outdated_http_interactions

(logical) Should outdated interactions be recorded back to file

to_return

(logical) internal use

warn_on_empty

(logical) warn if no interactions recorded

new_cassette

is this a new cassette?

Methods


Method new()

Create a new Cassette object

Usage

Cassette$new(
  name,
  dir = NULL,
  record = NULL,
  match_requests_on = NULL,
  allow_playback_repeats = FALSE,
  serialize_with = NULL,
  preserve_exact_body_bytes = NULL,
  re_record_interval = NULL,
  clean_outdated_http_interactions = NULL,
  warn_on_empty = NULL
)

Arguments

name

The name of the cassette. vcr will sanitize this to ensure it is a valid file name.

dir

The directory where the cassette will be stored.

record

The record mode. Default: "once".

match_requests_on

List of request matchers to use to determine what recorded HTTP interaction to replay. Defaults to ["method", "uri"]. The built-in matchers are "method", "uri", "headers" and "body" ("host" and "path" not supported yet, but should be in a future version)

allow_playback_repeats

(logical) Whether or not to allow a single HTTP interaction to be played back multiple times. Default: FALSE.

serialize_with

(character) Which serializer to use. Valid values are "yaml" (default), the only one supported for now.

preserve_exact_body_bytes

(logical) Whether or not to base64 encode the bytes of the requests and responses for this cassette when serializing it. See also preserve_exact_body_bytes in vcr_configure(). Default: FALSE

re_record_interval

(numeric) When given, the cassette will be re-recorded at the given interval, in seconds.

clean_outdated_http_interactions

(logical) Should outdated interactions be recorded back to file. Default: FALSE

warn_on_empty

Warn when ejecting the cassette if no interactions have been recorded.

Returns

A new Cassette object


Method insert()

insert the cassette

Usage

Cassette$insert()

Returns

self


Method eject()

ejects the cassette

Usage

Cassette$eject()

Returns

self


Method print()

print method for Cassette objects

Usage

Cassette$print(x, ...)

Arguments

x

self

...

ignored


Method file()

get the file path for the cassette

Usage

Cassette$file()

Returns

character


Method recording()

is the cassette in recording mode?

Usage

Cassette$recording()

Returns

logical


Method should_re_record()

Should re-record interactions?

Usage

Cassette$should_re_record()

Returns

logical


Method record_http_interaction()

record an http interaction (doesn't write to disk)

Usage

Cassette$record_http_interaction(request, response)

Arguments

request

A vcr_request.

response

A vcr_response.

Returns

an interaction as a list with request and response slots


Method clone()

The objects of this class are cloneable with this method.

Usage

Cassette$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.