Kitex HTTPResolver

2022-04-27 09:02 更新

指定 URL 進(jìn)行調(diào)用

在進(jìn)行調(diào)用時(shí),可以通過(guò) ?callopt.WithURL? 指定,通過(guò)該 option 指定的 URL,會(huì)經(jīng)過(guò)默認(rèn)的 DNS resolver 解析后拿到 host 和 port,此時(shí)其等效于 ?callopt.WithHostPort?。

import "github.com/cloudwego/kitex/client/callopt"
...
url := callopt.WithURL("http://myserverdomain.com:8888")
resp, err := cli.Echo(context.Background(), req, url)
if err != nil {
	log.Fatal(err)
}

自定義 DNS resolver

此外也可以自定義 DNS resolver

resolver 定義如下 (pkg/http):

type Resolver interface {
	Resolve(string) (string, error)
}

參數(shù)為 URL,返回值為訪問(wèn)的 server 的 “host:port”。

通過(guò) ?client.WithHTTPResolver? 指定用于 DNS 解析的 resolver。

import "github.com/cloudwego/kitex/client/callopt"
...
dr := client.WithHTTPResolver(myResolver)
cli, err := echo.NewClient("echo", dr)
if err != nil {
	log.Fatal(err)
}


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)