Learn R Programming

vcr (version 1.6.0)

request_response: request and response summary methods

Description

request and response summary methods

Usage

request_summary(request, request_matchers = "")

response_summary(response)

Value

character string, of either request or response

Arguments

request

a Request object

request_matchers

(character) a vector of matchers. Default: ""

response

a VcrResponse object

Details

By default, method and uri are included in the request summary - if body and/or headers are specified in request_matchers, then they are also included

HTTP status code and response body are included in the response summary. The response body is truncated to a max of 80 characters

In response_summary() we use gsub with useBytes=TRUE to avoid problems sometimes seen with multibyte strings - this shouldn't affect your data/etc. as this is only for printing a summary of the response

Examples

Run this code
# request
url <- "https://hb.opencpu.org"
body <- list(foo = "bar")
headers <- list(
  `User-Agent` = "r-curl/3.2",
  `Accept-Encoding` = "gzip, deflate",
  Accept = "application/json"
)

(x <- Request$new("POST", url, body, headers))
request_summary(request = x)
request_summary(request = x, c('method', 'uri'))
request_summary(request = x, c('method', 'uri', 'body'))
request_summary(request = x, c('method', 'uri', 'headers'))
request_summary(request = x, c('method', 'uri', 'body', 'headers'))

# response
status <- list(status_code = 200, message = "OK",
  explanation = "Request fulfilled, document follows")
headers <- list(
  status = "HTTP/1.1 200 OK",
  connection = "keep-alive",
  date = "Tue, 24 Apr 2018 04:46:56 GMT"
)
response_body <- 
"{\"args\": {\"q\": \"stuff\"}, \"headers\": {\"Accept\": \"text/html\"}}\n"
(x <- VcrResponse$new(status, headers,
   response_body, "HTTP/1.1 200 OK"))
response_summary(x)

## with binary body
# path <- "tests/testthat/png_eg.rda"
# load(path)
# (x <- VcrResponse$new(status, headers, png_eg, "HTTP/1.1 200 OK"))
# response_summary(x)

Run the code above in your browser using DataLab