| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package main
- import (
- "fmt"
- "log"
- "net/http"
- "github.com/gin-gonic/gin"
- pb "github.com/gin-gonic/gin/examples/grpc/pb"
- "google.golang.org/grpc"
- )
- func main() {
- // Set up a connection to the server.
- conn, err := grpc.Dial("localhost:50051", grpc.WithInsecure())
- if err != nil {
- log.Fatalf("did not connect: %v", err)
- }
- defer conn.Close()
- client := pb.NewGreeterClient(conn)
- // Set up a http setver.
- r := gin.Default()
- r.GET("/rest/n/:name", func(c *gin.Context) {
- name := c.Param("name")
- // Contact the server and print out its response.
- req := &pb.HelloRequest{Name: name}
- res, err := client.SayHello(c, req)
- if err != nil {
- c.JSON(http.StatusInternalServerError, gin.H{
- "error": err.Error(),
- })
- return
- }
- c.JSON(http.StatusOK, gin.H{
- "result": fmt.Sprint(res.Message),
- })
- })
- // Run http server
- if err := r.Run(":8052"); err != nil {
- log.Fatalf("could not run server: %v", err)
- }
- }
|