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

662,295

Version

1.5.2

License

GPL (>= 2) | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Joe Cheng

Last Published

September 11th, 2019

Functions in httpuv (1.5.2)

ipFamily

Check whether an address is IPv4 or IPv6
WebServer

WebServer class
interrupt

Interrupt httpuv runloop
httpuv-package

HTTP and WebSocket server
logLevel

Get and set logging level
randomPort

Find an open TCP port
WebSocket

WebSocket class
staticPathOptions

Create options for static paths
stopAllServers

Stop all servers
PipeServer

PipeServer class
encodeURI

URI encoding/decoding
Server

Server class
staticPath

Create a staticPath object
startServer

Create an HTTP/WebSocket server
getRNGState

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

Convert raw vector to Base64-encoded string
runServer

Run a server
stopDaemonizedServer

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

Stop a server
listServers

List all running httpuv servers
service

Process requests
startDaemonizedServer

Create an HTTP/WebSocket daemonized server (deprecated)