proto | ||
buffer.go | ||
codec.go | ||
http_test.go | ||
http.go | ||
publication.go | ||
README.md | ||
request.go | ||
stream.go |
HTTP Client
This plugin is a http client for go-micro.
The http client wraps net/http to provide a robust go-micro client with service discovery, load balancing and streaming. It complies with the go-micro.Client interface.
Usage
Use directly
import "github.com/micro/go-plugins/client/http"
service := micro.NewService(
micro.Name("my.service"),
micro.Client(http.NewClient()),
)
Use with flags
import _ "github.com/micro/go-plugins/client/http"
go run main.go --client=http
Call Service
Assuming you have a http service "my.service" with path "/foo/bar"
// new client
client := http.NewClient()
// create request/response
request := client.NewRequest("my.service", "/foo/bar", &proto.Request{})
response := new(proto.Response)
// call service
err := client.Call(context.TODO(), request, response)
Look at http_test.go for detailed use.