server: rearrange
diff --git a/server.go b/server.go
index a97e497..5856322 100644
--- a/server.go
+++ b/server.go
@@ -32,6 +32,42 @@
 	MaxStreams int
 }
 
+var testHookOnConn func() // for testing
+
+// ConfigureServer adds HTTP/2 support to a net/http Server.
+//
+// The configuration conf may be nil.
+//
+// ConfigureServer must be called before s begins serving.
+func ConfigureServer(s *http.Server, conf *Server) {
+	if conf == nil {
+		conf = new(Server)
+	}
+	if s.TLSConfig == nil {
+		s.TLSConfig = new(tls.Config)
+	}
+	haveNPN := false
+	for _, p := range s.TLSConfig.NextProtos {
+		if p == npnProto {
+			haveNPN = true
+			break
+		}
+	}
+	if !haveNPN {
+		s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, npnProto)
+	}
+
+	if s.TLSNextProto == nil {
+		s.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){}
+	}
+	s.TLSNextProto[npnProto] = func(hs *http.Server, c *tls.Conn, h http.Handler) {
+		if testHookOnConn != nil {
+			testHookOnConn()
+		}
+		conf.handleConn(hs, c, h)
+	}
+}
+
 func (srv *Server) handleConn(hs *http.Server, c net.Conn, h http.Handler) {
 	sc := &serverConn{
 		hs:                hs,
@@ -746,40 +782,6 @@
 	return nil
 }
 
-// ConfigureServer adds HTTP/2 support to a net/http Server.
-//
-// The configuration conf may be nil.
-//
-// ConfigureServer must be called before s begins serving.
-func ConfigureServer(s *http.Server, conf *Server) {
-	if conf == nil {
-		conf = new(Server)
-	}
-	if s.TLSConfig == nil {
-		s.TLSConfig = new(tls.Config)
-	}
-	haveNPN := false
-	for _, p := range s.TLSConfig.NextProtos {
-		if p == npnProto {
-			haveNPN = true
-			break
-		}
-	}
-	if !haveNPN {
-		s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, npnProto)
-	}
-
-	if s.TLSNextProto == nil {
-		s.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){}
-	}
-	s.TLSNextProto[npnProto] = func(hs *http.Server, c *tls.Conn, h http.Handler) {
-		if testHookOnConn != nil {
-			testHookOnConn()
-		}
-		conf.handleConn(hs, c, h)
-	}
-}
-
 type requestBody struct {
 	sc       *serverConn
 	streamID uint32
@@ -866,5 +868,3 @@
 		})
 	}
 }
-
-var testHookOnConn func() // for testing