Wait before grabbing QUIC headers

This commit is contained in:
DataHoarder 2022-06-06 23:25:30 +02:00
parent 475b799818
commit 4821aa05b5
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk

View file

@ -11,6 +11,7 @@ import (
"mime"
"net"
"net/http"
"runtime"
"sync"
"time"
)
@ -184,9 +185,17 @@ func (server *Server) Serve() {
},
}
h := http.Header{}
s.SetQuicHeaders(h)
server.AddExtraHeader("Alt-Svc", h.Get("Alt-Svc"))
//TODO HACK: SetQuicHeaders does not work before server starts
go func() {
h := http.Header{}
for {
if err := s.SetQuicHeaders(h); err == nil {
server.AddExtraHeader("Alt-Svc", h.Get("Alt-Svc"))
break
}
runtime.Gosched()
}
}()
log.Printf("[Server] Serving UDP on %s", server.ListenAddress)
err := s.ListenAndServe()