This version contains many changes to package graceful:
- Logging has been moved to package goji via the Hook mechanism. This
allows users who wish to customize their logging the chance to do so.
- A race condition between listener shutdown and a call to Accept was
fixed.
- The bulk of the package has been refactored: the package previously
named graceful is now considerably simpler and now deals almost
exclusively with net/http and signal handling. The entirety of the
graceful connection tracking logic has been moved to a new subpackage
named "listener", and a great many tests have been written. This is a
breaking change: the function graceful.WrapConn was removed.
This change introduces web.ParsePattern, exposing package web's pattern
parsing logic to third parties.
Additionally, package web/util has been renamed to web/mutil (middleware
utils) to avoid naming ambiguities. This is a breaking change: code
which refers to package util will need to be changed to refer to mutil
instead.