The Snap Framework is divided in a few libraries:
snap-core
provides the core types and functions to write handlers, i.e. read requests and produce responses.snap-server
is a library providing a HTTP server, using handlers written withsnap-core
to serve clients.snap
provides a convenience module re-exportingsnap-core
andsnap-server
, but also theSnaplet
API to build Snap applications in a modular way. Notet thatsnap-server
alone (withoutsnap
), is enough to write an application.io-streams
is a streaming IO library. It is not strictly part of Snap Framework but is central to it. For instance you can consume a request's body as anInputStream ByteString
.io-streams-haproxy
implements the PROXY protocol useful to place a HTTP server being proxies (e.g. HAProxy or Stunnel). Just likeopenssl-streams
, you don't use it directly.openssl-streams
allowssnap-server
to use HTTPS instead of HTTP.