New: ServiceBase migrated from shortener
This commit is contained in:
27
server/server.go
Normal file
27
server/server.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
||||
)
|
||||
|
||||
// ListenAndServeH2C starts an HTTP server with HTTP/1.1 and unencrypted HTTP/2 support (h2c),
|
||||
// wrapped with OpenTelemetry HTTP handler for tracing and metrics.
|
||||
func ListenAndServeH2C(addr string, handler http.Handler, telemetryName string) error {
|
||||
instrumentedHandler := otelhttp.NewHandler(handler, telemetryName)
|
||||
|
||||
p := new(http.Protocols)
|
||||
p.SetHTTP1(true)
|
||||
// Use h2c so we can serve HTTP/2 without TLS.
|
||||
p.SetUnencryptedHTTP2(true)
|
||||
s := http.Server{
|
||||
Addr: addr,
|
||||
Handler: instrumentedHandler,
|
||||
Protocols: p,
|
||||
}
|
||||
|
||||
slog.Info("Starting server on " + addr)
|
||||
return s.ListenAndServe()
|
||||
}
|
||||
Reference in New Issue
Block a user