func main() { // Create service service := web.NewService( web.Name("go.micro.api.greeter"), ) service.Init() // setup Greeter Server Client cl = hello.NewSayClient("go.micro.srv.greeter", client.DefaultClient) // Create RESTful handler say := new(Say) ws := new(restful.WebService) wc := restful.NewContainer() ws.Consumes(restful.MIME_XML, restful.MIME_JSON) ws.Produces(restful.MIME_JSON, restful.MIME_XML) ws.Path("/greeter") ws.Route(ws.GET("/").To(say.Anything)) ws.Route(ws.GET("/{name}").To(say.Hello)) wc.Add(ws) // Register Handler service.Handle("/", wc) // Run server if err := service.Run(); err != nil { log.Fatal(err) } }
func main() { service := micro.NewService( micro.Name("go.micro.api.greeter"), ) // parse command line flags service.Init() service.Server().Handle( service.Server().NewHandler( &Say{Client: hello.NewSayClient("go.micro.srv.greeter", service.Client())}, ), ) if err := service.Run(); err != nil { log.Fatal(err) } }
func main() { // Create service service := micro.NewService( micro.Name("go.micro.api.greeter"), ) // Init to parse flags service.Init() // Register Handlers proto.RegisterGreeterHandler(service.Server(), &Greeter{ // Create Service Client Client: hello.NewSayClient("go.micro.srv.greeter", service.Client()), }) // for handler use // Run server if err := service.Run(); err != nil { log.Fatal(err) } }
func main() { cmd.Init() // use the generated client stub cl := hello.NewSayClient("go.micro.srv.greeter", client.DefaultClient) // Set arbitrary headers in context ctx := c.WithMetadata(context.Background(), map[string]string{ "X-User-Id": "john", "X-From-Id": "script", }) rsp, err := cl.Hello(ctx, &hello.Request{ Name: "John", }) if err != nil { fmt.Println(err) return } fmt.Println(rsp.Msg) }
func main() { service := web.NewService( web.Name("go.micro.web.greeter"), ) service.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { r.ParseForm() name := r.Form.Get("name") if len(name) == 0 { name = "World" } cl := hello.NewSayClient("go.micro.srv.greeter", client.DefaultClient) rsp, err := cl.Hello(context.Background(), &hello.Request{ Name: name, }) if err != nil { http.Error(w, err.Error(), 500) return } w.Write([]byte(`<html><body><h1>` + rsp.Msg + `</h1></body></html>`)) return } fmt.Fprint(w, `<html><body><h1>Enter Name<h1><form method=post><input name=name type=text /></form></body></html>`) }) if err := service.Init(); err != nil { log.Fatal(err) } if err := service.Run(); err != nil { log.Fatal(err) } }