cauldron alternatives and similar packages
Based on the "HTTP" category.
Alternatively, view cauldron alternatives based on common mentions on social networks and blogs.
-
webdriver
This is an implementation of the WebDriver protocol client. It currently supports PhantomJS, FireFox, ChromeDriver and remote webdriver servers (e.g. Selenium). -
web_socket
An exploration into a stand-alone library for Plug applications to easily adopt WebSockets. -
explode
An easy utility for responding with standard HTTP/JSON error payloads in Plug- and Phoenix-based applications. -
ivar
A lightweight wrapper around HTTPoison that provides a fluent and composable way to build http requests. -
fuzzyurl
An Elixir library for parsing, constructing, and wildcard-matching URLs. Also available for Ruby and JavaScript.
Get performance insights in less than 4 minutes
Do you think we are missing an alternative of cauldron or a related project?
README
Cauldron - an HTTP/SPDY server as a library
Cauldron is a web server implemented as a library, it's easy to embed into other applications and fairly easy to implement DSLs on it, an example of a DSL using cauldron is urna.
Examples
defmodule Foo do
use Cauldron
# respond to a GET / request with "Hello, World!"
def handle("GET", %URI{path: "/"}, req) do
req |> Request.reply(200, "Hello, World!")
end
end
# open the cauldron on port 8080
Cauldron.start Foo, port: 8080
Why?
Because I don't like how cowboy handles things and there are no other pure Elixir webservers around that I know of.
Speed
Right now cauldron is faster than node.js and slower than cowboy, there' still space for speed improvements but it's not a high priority right now.
The slowness comes from protocol dispatching in Elixir, protocol consolidation will fix that.
Also we don't use an hand-crafted decoder like cowboy does but use
:erlang.decode_packet
.