basicHeaderGatherer

0th

Percentile

Functions for processing the response header of a libcurl request

These two functions are used to collect the contents of the header of an HTTP response via the headerfunction option of a curl handle and then processing that text into both the name: value pairs and also the initial line of the response that provides the status of the request. basicHeaderGatherer is a simple special case of basicTextGatherer with the built-in post-processing step done by parseHTTPHeader.

Keywords
IO
Usage
basicHeaderGatherer(txt = character(), max = NA)
parseHTTPHeader(lines, multi = TRUE)
Arguments
txt

any initial text that we want included with the header. This is passed to basicTextGatherer. Generally it should not be specified unless there is a good reason.

max

This is passed directly to basicTextGatherer

lines

the text as a character vector from the response header that parseHTTPHeader will convert to a status and name-value pairs.

multi

a logical value controlling whether we check for multiple HTTP headers in the lines of text. This is caused by a Continue being concatenated with the actual response. When this is TRUE, we look for the lines that start an HTTP header, e.g. HTTP 200 ..., and we use the content from the last of these.

Value

The return value is the same as basicTextGatherer, i.e. a list with update, value and reset function elements. The value element will invoke parseHTTPHeader on the contents read during the processing of the libcurl request and return that value.

References

Curl homepage http://curl.haxx.se

See Also

basicTextGatherer curlPerform curlSetOpt

Aliases
  • basicHeaderGatherer
  • parseHTTPHeader
Examples
# NOT RUN {
  if(url.exists("http://www.omegahat.net/RCurl/index.html")) withAutoprint({
     h = basicHeaderGatherer()
     getURI("http://www.omegahat.net/RCurl/index.html",
              headerfunction = h$update)
     names(h$value())
     h$value()
  })
# }
Documentation reproduced from package RCurl, version 1.98-1.1, License: BSD_3_clause + file LICENSE

Community examples

Looks like there are no examples yet.