Skip to content

Instantly share code, notes, and snippets.

@hadv
Created April 20, 2017 01:11
Show Gist options
  • Save hadv/9ec73d796a0dd9995fa64b97fd7ff2c0 to your computer and use it in GitHub Desktop.
Save hadv/9ec73d796a0dd9995fa64b97fd7ff2c0 to your computer and use it in GitHub Desktop.
package main
import (
“flag”
“net/http”
“github.com/gengo/grpc-gateway/runtime”
“github.com/golang/glog”
echo “github.com/hadv/grpc/echo”
“golang.org/x/net/context”
“google.golang.org/grpc”
)
var (
echoEndpoint = flag.String(“echo_endpoint”, “localhost:9090”, “endpoint of EchoService”)
)
func Run(address string, opts …runtime.ServeMuxOption) error {
ctx := context.Background()
ctx, cancel := context.WithCancel(ctx)
defer cancel()
mux := runtime.NewServeMux(opts…)
dialOpts := []grpc.DialOption{grpc.WithInsecure()}
err := echo.RegisterEchoServiceHandlerFromEndpoint(ctx, mux, *echoEndpoint, dialOpts)
if err != nil {
return err
}
http.ListenAndServe(address, mux)
return nil
}
func main() {
flag.Parse()
defer glog.Flush()
if err := Run(“:8080”); err != nil {
glog.Fatal(err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment