Skip to content

Instantly share code, notes, and snippets.

@gkleiman
Created March 9, 2020 23:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gkleiman/0dbc08bd9803fa685367c66a639f3aac to your computer and use it in GitHub Desktop.
Save gkleiman/0dbc08bd9803fa685367c66a639f3aac to your computer and use it in GitHub Desktop.
Simple Go HTTP/2 server
package main
import (
"log"
"net/http"
"golang.org/x/net/http2"
"golang.org/x/net/http2/h2c"
)
func handler(w http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
log.Printf("Request connection: %s, %+v", req.Proto, req.URL.Path)
http.Error(w, "", http.StatusServiceUnavailable)
}
func main() {
server := &http.Server{
Addr: ":9920",
Handler: h2c.NewHandler(http.HandlerFunc(handler), &http2.Server{}),
}
err := server.ListenAndServe()
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
log.Printf("Listening [:9920]...")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment