Learn R Programming

presser (version 1.1.0)

presser_request: A presser request object

Description

presser creates a presser_request object for every incoming HTTP request. This object is passed to every matched route and middleware, until the response is sent. It has reference semantics, so handlers can modify it.

Arguments

Details

Fields and methods:

  • app: The presser_app object itself.

  • headers: Named list of HTTP request headers.

  • hostname: The Host header, the server hostname and maybe port.

  • method: HTTP method.

  • path: Server path.

  • protocol: "http" or "https".

  • query_string: The raw query string, without the starting ?.

  • query: Parsed query parameters in a named list.

  • remote_addr: String, the domain name or IP address of the client. presser runs on the localhost, so this is 127.0.0.1.

  • url: The full URL of the request.

  • get_header(field): Function to query a request header. Returns NULL if the header is not present.

Body parsing middleware adds additional fields to the request object. See mw_raw(), mw_text(), mw_json(), mw_multipart() and mw_urlencoded().

See Also

presser_response for the presser response object.

Examples

Run this code
# NOT RUN {
# This is how you can see the request and response objects:
app <- new_app()
app$get("/", function(req, res) {
  browser()
  res$send("done")
})
app

# Now start this app on a port:
# app$listen(3000)
# and connect to it from a web browser: http://127.0.0.1:3000
# You can also use another R session to connect:
# httr::GET("http://127.0.0.1:3000")
# or the command line curl tool:
# curl -v http://127.0.0.1:3000
# The app will stop while processing the request.
# }

Run the code above in your browser using DataLab