Huge news!Announcing our $20M Series A led by Andreessen Horowitz.Learn more
Socket
Socket
Log inDemoInstall

github.com/facebookgo/httpdown

Package Overview
Dependencies
0
Maintainers
0
Issues
File Explorer

github.com/facebookgo/httpdown

Package httpdown provides http.ConnState enabled graceful termination of http.Server.

    v0.0.0-20180706035922-5979d39b15c2

Version published
Maintainers
0

Readme

httpdown Build Status

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 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
    
  2. 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
    
  3. In a second terminal start a slow HTTP request

     curl 'http://localhost:8080/?duration=20s'
    
  4. 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.

FAQs

Last updated on 06 Jul 2018

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install
SocketSocket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc