Skip to content

Instantly share code, notes, and snippets.

@thomaslorentsen
Last active December 20, 2017 19:11
Show Gist options
  • Save thomaslorentsen/c006aa3f1560430049a17110cd4154da to your computer and use it in GitHub Desktop.
Save thomaslorentsen/c006aa3f1560430049a17110cd4154da to your computer and use it in GitHub Desktop.
Test server shutdown
package main
import "log"
import "net/http"
import "github.com/gorilla/mux"
import "os"
import "time"
var server *http.Server
func main() {
log.SetOutput(os.Stdout)
router := mux.NewRouter()
router.HandleFunc("/shutdown", ShutdownRequest).Methods("GET")
router.HandleFunc("/hold", HoldRequest).Methods("GET")
server = &http.Server{Addr: ":8080", Handler: router}
server.ListenAndServe()
}
func ShutdownRequest(w http.ResponseWriter, req *http.Request) {
server.Shutdown(nil)
}
func HoldRequest(w http.ResponseWriter, req *http.Request) {
time.Sleep(time.Minute)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment