rest.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package api
  2. import (
  3. "github.com/cad/ovpm/pb"
  4. "github.com/grpc-ecosystem/grpc-gateway/runtime"
  5. "golang.org/x/net/context"
  6. "google.golang.org/grpc"
  7. )
  8. var (
  9. vpnEndPoint = "localhost:9891" // endpoint of VpnService
  10. userEndPoint = "localhost:9892" // endpoint of UserService
  11. networkEndPoint = "localhost:9893" // endpoint of NetworkService
  12. )
  13. // NewRESTServer returns a new REST server.
  14. func NewRESTServer() (*runtime.ServeMux, context.CancelFunc, error) {
  15. ctx := context.Background()
  16. ctx, cancel := context.WithCancel(ctx)
  17. mux := runtime.NewServeMux()
  18. opts := []grpc.DialOption{grpc.WithInsecure()}
  19. err := pb.RegisterVPNServiceHandlerFromEndpoint(ctx, mux, vpnEndPoint, opts)
  20. if err != nil {
  21. return nil, cancel, err
  22. }
  23. err = pb.RegisterUserServiceHandlerFromEndpoint(ctx, mux, userEndPoint, opts)
  24. if err != nil {
  25. return nil, cancel, err
  26. }
  27. err = pb.RegisterNetworkServiceHandlerFromEndpoint(ctx, mux, networkEndPoint, opts)
  28. if err != nil {
  29. return nil, cancel, err
  30. }
  31. return mux, cancel, nil
  32. }