MyNixOS website logo
Description

Native webserver that acts as a library.

This package is a native implementation of the HTTP and HTTPS protocols. It lives as a library, exporting an interface reminiscent of CGI or FastCGI. Thus policy on how namespace is mapped to files and/or scripts is entirely up to the client application.

This package is partially compatible with direct-fastcgi by the same author, but is intended more by way of a replacement for it than a companion to it, and makes several design decisions differently. The biggest is the use of MonadControlBase for exceptions.

Version 0.6

Substantial reworking of MVar handling, using safer primitives to be much more robust in the face of exceptions in pure code.

Version 0.5.3

Actually works with extension headers, by admitting the reality that they can occur anytime and not just with an entity.

Version 0.5.2

Actually works with daemonization, by using a feature of direct-daemon added for this purpose to open the socket after forking but before dropping privileges.

Version 0.5.1

Uses SafeSemaphore, which is the future, rather than QSem from base, which is deprecated.

Version 0.5.0.1

This preliminary release is a preview to gauge community interest. Not even all major features are implemented; things that exist only as stubs include encryption, compression, chunking, and reading back cookies. Nonetheless it may be useful if run behind a reverse proxy that provides the missing features transparently, such as Apache.

Metadata

Version

0.6

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows