MCPcopy Create free account
hub / github.com/google/go-cloud / OpenTopicURL

Method OpenTopicURL

pubsub/rabbitpubsub/rabbit.go:114–131  ·  view source on GitHub ↗

OpenTopicURL opens a pubsub.Topic based on u.

(ctx context.Context, u *url.URL)

Source from the content-addressed store, hash-verified

112
113// OpenTopicURL opens a pubsub.Topic based on u.
114func (o *URLOpener) OpenTopicURL(ctx context.Context, u *url.URL) (*pubsub.Topic, error) {
115 opts := o.TopicOptions
116 for param, value := range u.Query() {
117 switch param {
118 case "key_name":
119 if len(value) != 1 || len(value[0]) == 0 {
120 return nil, fmt.Errorf("open topic %v: invalid query parameter %q", u, param)
121 }
122
123 opts.KeyName = value[0]
124 default:
125 return nil, fmt.Errorf("open topic %v: invalid query parameter %q", u, param)
126 }
127 }
128
129 exchangeName := path.Join(u.Host, u.Path)
130 return OpenTopic(o.Connection, exchangeName, &opts), nil
131}
132
133// OpenSubscriptionURL opens a pubsub.Subscription based on u.
134func (o *URLOpener) OpenSubscriptionURL(ctx context.Context, u *url.URL) (*pubsub.Subscription, error) {

Callers

nothing calls this directly

Calls 2

QueryMethod · 0.80
OpenTopicFunction · 0.70

Tested by

no test coverage detected