Ai
1 Star 0 Fork 0

SasukeBo/go-micro

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
options.go 1015 Bytes
一键复制 编辑 原始数据 按行查看 历史
汪波 提交于 2023-02-23 10:27 +08:00 . fix: 替换包名
package gocloud
import (
"context"
"gitee.com/sasukebo/go-micro/v4/broker"
"gocloud.dev/gcp"
)
type (
rabbitURLKey struct{}
gcpTokenSourceKey struct{}
gcpProjectIDKey struct{}
)
// RabbitURL is a broker Option that provides a URL for
// Go Cloud's RabbitMQ implementation.
func RabbitURL(url string) broker.Option {
return optfunc(rabbitURLKey{}, url)
}
// GCPTokenSource is a broker Option that provides a TokenSource
// for Go Cloud's Google Pub/Sub implementation.
func GCPTokenSource(ts gcp.TokenSource) broker.Option {
return optfunc(gcpTokenSourceKey{}, ts)
}
// GCPProjectID is a broker Option that provides a project ID
// for Go Cloud's Google Pub/Sub implementation.
func GCPProjectID(projID gcp.ProjectID) broker.Option {
return optfunc(gcpProjectIDKey{}, projID)
}
func optfunc(key, val interface{}) func(*broker.Options) {
return func(o *broker.Options) {
if o.Context == nil {
o.Context = context.Background()
}
o.Context = context.WithValue(o.Context, key, val)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sasukebo/go-micro.git
git@gitee.com:sasukebo/go-micro.git
sasukebo
go-micro
go-micro
6e18eb58b836

搜索帮助