Александр Толстихин d5690ef2b7
All checks were successful
test / test (push) Successful in 2m31s
Update workflows (#121)
Co-authored-by: Aleksandr Tolstikhin <atolstikhin@mtsbank.ru>
Reviewed-on: #121
Co-authored-by: Александр Толстихин <tolstihin1996@mail.ru>
Co-committed-by: Александр Толстихин <tolstihin1996@mail.ru>
2024-12-11 00:35:07 +03:00
2024-12-11 00:35:07 +03:00
2024-12-11 00:35:07 +03:00
2021-01-10 14:48:10 +03:00
2024-10-12 13:26:11 +03:00
2024-10-12 13:26:11 +03:00
2024-05-20 08:55:24 +03:00
2024-04-23 06:51:47 +03:00
2021-01-10 14:48:10 +03:00
2021-12-16 15:37:49 +03:00
2024-05-20 08:55:24 +03:00
2024-05-20 08:55:24 +03:00

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{})
Description
No description provided
Readme Pixar
v3.9.15 Latest
2024-12-18 20:43:38 +03:00
Languages
Go 100%