Newer
Older
func JrpcToHttp(h jsonrpc.Handler) http.Handler {
return HttpHandler(server.NewServer(h))
}
return h2c.NewHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if s == nil {
http.Error(w, "no server set", http.StatusInternalServerError)
return
}
c, err := NewCodec(w, r)
if err != nil {
return
}
w.Header().Set("content-type", contentType)
err = s.ServeCodec(r.Context(), c)
if err != nil && !errors.Is(err, context.Canceled) {
// slog.Error("codec err", "err", err)
http.Error(w, "Internal Error", http.StatusInternalServerError)
return
}
<-c.Closed()
}), &http2.Server{})