dependabot[bot]
a86c824eb7
Bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 (#83)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.3 to 1.3.4. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.3...v1.3.4) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
HTTP Client
This plugin is a http client for micro.
Overview
The http client wraps net/http
to provide a robust micro client with service discovery, load balancing and streaming.
It complies with the micro.Client interface.
Usage
Use directly
import "go.unistack.org/micro-client-http/v3"
service := micro.NewService(
micro.Name("my.service"),
micro.Client(http.NewClient()),
)
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", protoRequest{})
response := new(protoResponse)
// call service
err := client.Call(context.TODO(), request, response)
or you can call any rest api or site and unmarshal to response struct
// new client
client := client.NewClientCallOptions(http.NewClient(), http.Address("https://api.github.com"))
req := client.NewRequest("github", "/users/vtolstov", nil)
rsp := make(map[string]interface{})
err := c.Call(context.TODO(), req, &rsp, mhttp.Method(http.MethodGet))
Look at http_test.go for detailed use.
Encoding
Default protobuf with content-type application/proto
client.NewRequest("service", "/path", protoRequest{})
Json with content-type application/json
client.NewJsonRequest("service", "/path", jsonRequest{})
v3.9.15
Latest
Languages
Go
100%