From 33edcc5e88a8677c2234bad7c9a80e678579f673 Mon Sep 17 00:00:00 2001 From: Lucas Clemente Date: Mon, 30 May 2016 17:18:10 +0200 Subject: [PATCH] make h2quic.Server.Serve panic ref #124 --- h2quic/server.go | 6 ++++++ h2quic/server_test.go | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/h2quic/server.go b/h2quic/server.go index b4f37bfc..9325633d 100644 --- a/h2quic/server.go +++ b/h2quic/server.go @@ -4,6 +4,7 @@ import ( "crypto/tls" "errors" "io/ioutil" + "net" "net/http" "time" @@ -61,6 +62,11 @@ func (s *Server) ListenAndServeTLS(certFile, keyFile string) error { return server.ListenAndServe() } +// Serve should not be called, since it only works properly for TCP listeners. +func (Server) Serve(net.Listener) error { + panic("h2quic.Server.Serve should not be called, see https://godoc.org/github.com/lucas-clemente/quic-go/h2quic") +} + func (s *Server) handleStreamCb(session *quic.Session, stream utils.Stream) { s.handleStream(session, stream) } diff --git a/h2quic/server_test.go b/h2quic/server_test.go index 52b72e09..cc1bc764 100644 --- a/h2quic/server_test.go +++ b/h2quic/server_test.go @@ -151,4 +151,10 @@ var _ = Describe("H2 server", func() { s.handleStream(session, headerStream) Eventually(func() bool { return handlerCalled }).Should(BeTrue()) }) + + It("should panic when Serve() is called", func() { + Expect(func() { + Server{}.Serve(nil) + }).To(Panic()) + }) })