You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
connectrpc.com/grpcreflect adds support for gRPC's server reflection API to any
net/http server — including those built with Connect. With
server reflection enabled, ad-hoc debugging tools can call your gRPC-compatible
handlers and print the responses without a copy of the schema.
The exposed reflection API is wire compatible with Google's gRPC
implementations, so it works with grpcurl, grpcui, and many
other tools.
package main
import (
"net/http""golang.org/x/net/http2""golang.org/x/net/http2/h2c""connectrpc.com/grpcreflect"
)
funcmain() {
mux:=http.NewServeMux()
reflector:=grpcreflect.NewStaticReflector(
"acme.user.v1.UserService",
"acme.group.v1.GroupService",
// protoc-gen-connect-go generates package-level constants// for these fully-qualified protobuf service names, so you'd more likely// reference userv1.UserServiceName and groupv1.GroupServiceName.
)
mux.Handle(grpcreflect.NewHandlerV1(reflector))
// Many tools still expect the older version of the server reflection API, so// most servers should mount both handlers.mux.Handle(grpcreflect.NewHandlerV1Alpha(reflector))
// If you don't need to support HTTP/2 without TLS (h2c), you can drop// x/net/http2 and use http.ListenAndServeTLS instead.http.ListenAndServe(
":8080",
h2c.NewHandler(mux, &http2.Server{}),
)
}