diff options
Diffstat (limited to 'vendor/github.com/facebookgo/httpdown/readme.md')
-rw-r--r-- | vendor/github.com/facebookgo/httpdown/readme.md | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/github.com/facebookgo/httpdown/readme.md b/vendor/github.com/facebookgo/httpdown/readme.md new file mode 100644 index 0000000000..d5fa245dbc --- /dev/null +++ b/vendor/github.com/facebookgo/httpdown/readme.md @@ -0,0 +1,41 @@ +httpdown [![Build Status](https://secure.travis-ci.org/facebookgo/httpdown.png)](https://travis-ci.org/facebookgo/httpdown) +======== + +Documentation: https://godoc.org/github.com/facebookgo/httpdown + +Package httpdown provides a library that makes it easy to build a HTTP server +that can be shutdown gracefully (that is, without dropping any connections). + +If you want graceful restart and not just graceful shutdown, look at the +[grace](https://github.com/facebookgo/grace) package which uses this package +underneath but also provides graceful restart. + +Usage +----- + +Demo HTTP Server with graceful termination: +https://github.com/facebookgo/httpdown/blob/master/httpdown_example/main.go + +1. Install the demo application + + go get github.com/facebookgo/httpdown/httpdown_example + +1. Start it in the first terminal + + httpdown_example + + This will output something like: + + 2014/11/18 21:57:50 serving on http://127.0.0.1:8080/ with pid 17 + +1. In a second terminal start a slow HTTP request + + curl 'http://localhost:8080/?duration=20s' + +1. In a third terminal trigger a graceful shutdown (using the pid from your output): + + kill -TERM 17 + +This will demonstrate that the slow request was served before the server was +shutdown. You could also have used `Ctrl-C` instead of `kill` as the example +application triggers graceful shutdown on TERM or INT signals. |