main.go 1006 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package main
  2. import (
  3. "context"
  4. "dy-test/dyrpc/helper"
  5. "dy-test/dyrpc/services/prod"
  6. "github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
  7. "google.golang.org/grpc"
  8. "log"
  9. "net/http"
  10. )
  11. const (
  12. certFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/client/client.pem"
  13. keyFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/client/client.key"
  14. caFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/ca/ca.pem"
  15. )
  16. func main() {
  17. gwmux := runtime.NewServeMux()
  18. opt := []grpc.DialOption{grpc.WithTransportCredentials(helper.GetCredentials(certFile, keyFile, caFile))}
  19. endpoint := "localhost:8081"
  20. err := prod.RegisterProdServiceHandlerFromEndpoint(context.Background(), gwmux, endpoint, opt)
  21. if err != nil {
  22. log.Fatal(err)
  23. }
  24. err = prod.RegisterOrderServiceHandlerFromEndpoint(context.Background(), gwmux, endpoint, opt)
  25. if err != nil {
  26. log.Fatal(err)
  27. }
  28. httpServer := &http.Server{
  29. Addr: ":8080",
  30. Handler: gwmux,
  31. }
  32. err = httpServer.ListenAndServe()
  33. if err != nil {
  34. log.Fatal(err)
  35. }
  36. }