grpc-gateway-buf-consul-swa.../server/gw-server.go

43 lines
825 B
Go

package server
import (
"context"
"log"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
pb "github.com/helloworlde/grpc-gateway/proto/api"
"google.golang.org/grpc"
)
func StartGwServer() {
conn, err := grpc.DialContext(
context.Background(),
"0.0.0.0:9090", //动态地址
grpc.WithBlock(),
grpc.WithInsecure(),
)
if err != nil {
log.Fatalln("Failed to dial server: ", err)
}
mux := runtime.NewServeMux()
err = pb.RegisterHelloServiceHandler(context.Background(), mux, conn)
if err != nil {
log.Fatalln("Failed to register gateway: ", err)
}
server := &http.Server{
Addr: ":8090",
Handler: mux,
}
log.Println("Start gRPC Gateway Server on http://0.0.0.0:8090")
err = server.ListenAndServe()
if err != nil {
log.Fatalln("Start Gateway Server failed: ", err)
}
}