# module Unicorn

unicorn exposes very little of an user-visible API and most of its internals are subject to change. unicorn is designed to host Rack applications, so applications should be written against the Rack SPEC and not unicorn internals.

### Constants

ClientShutdown

  Raised inside `TeeInput` when a client closes the socket inside the application dispatch. This is always raised with an empty backtrace since there is nothing in the application stack that is responsible for client shutdowns/disconnects. This exception is visible to Rack applications unless `PrereadInput` middleware is loaded. This is a subclass of the standard EOFError class and applications should not rescue it explicitly, but rescue EOFError instead.