Learn R Programming

⚠️There's a newer version (1.6.16) of this package.Take me there.

httpuv: HTTP and WebSocket server library for R

httpuv provides low-level socket and protocol support for handling HTTP and WebSocket requests directly from within R. It is primarily intended as a building block for other packages, rather than making it particularly easy to create complete web applications using httpuv alone. httpuv is built on top of the libuv and http-parser C libraries, both of which were developed by Joyent, Inc.

Installing

You can install the stable version from CRAN, or the development version using devtools:

# install from CRAN
install.packages("httpuv")

# or if you want to test the development version here
if (!require("devtools")) install.packages("devtools")
devtools::install_github("rstudio/httpuv")

Since httpuv contains C code, you'll need to make sure you're set up to install packages. Follow the instructions at http://www.rstudio.com/ide/docs/packages/prerequisites


Debugging builds

httpuv can be built with debugging options enabled. This can be done by uncommenting these lines in src/Makevars, and then installing. The first one enables thread assertions, to ensure that code is running on the correct thread; if not. The second one enables tracing statements: httpuv will print lots of messages when various events occur.

PKG_CPPFLAGS += -DDEBUG_THREAD -UNDEBUG
PKG_CPPFLAGS += -DDEBUG_TRACE

To install it directly from Github with these options, you can use with_makevars, like this:

withr::with_makevars(
  c(PKG_CPPFLAGS="-DDEBUG_TRACE -DDEBUG_THREAD -UNDEBUG"), {
    devtools::install_github("rstudio/httpuv")
  }, assignment = "+="
)

© 2013-2018 RStudio, Inc.

Copy Link

Version

Install

install.packages('httpuv')

Monthly Downloads

468,273

Version

1.5.1

License

GPL (>= 2) | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Joe Cheng

Last Published

April 5th, 2019

Functions in httpuv (1.5.1)

httpuv-package

HTTP and WebSocket server
service

Process requests
startDaemonizedServer

Create an HTTP/WebSocket daemonized server (deprecated)
WebServer

WebServer class
WebSocket

WebSocket class
encodeURI

URI encoding/decoding
rawToBase64

Convert raw vector to Base64-encoded string
runServer

Run a server
getRNGState

Apply the value of .Random.seed to R's internal RNG state
stopDaemonizedServer

Stop a running daemonized server in Unix environments (deprecated)
stopServer

Stop a server
PipeServer

PipeServer class
Server

Server class
startServer

Create an HTTP/WebSocket server
staticPath

Create a staticPath object
ipFamily

Check whether an address is IPv4 or IPv6
listServers

List all running httpuv servers
staticPathOptions

Create options for static paths
stopAllServers

Stop all servers
interrupt

Interrupt httpuv runloop