本文整理汇总了Golang中github.com/cloudfoundry/yagnats.NATSConn.Publish方法的典型用法代码示例。如果您正苦于以下问题:Golang NATSConn.Publish方法的具体用法?Golang NATSConn.Publish怎么用?Golang NATSConn.Publish使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/yagnats.NATSConn
的用法示例。
在下文中一共展示了NATSConn.Publish方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Register
func (c *VcapComponent) Register(mbusClient yagnats.NATSConn) error {
mbusClient.Subscribe("vcap.component.discover", func(msg *nats.Msg) {
if msg.Reply == "" {
log.Warnf("Received message with empty reply on subject %s", msg.Subject)
return
}
c.Uptime = c.StartTime.Elapsed()
b, e := json.Marshal(c)
if e != nil {
log.Warnf(e.Error())
return
}
mbusClient.Publish(msg.Reply, b)
})
b, e := json.Marshal(c)
if e != nil {
log.Error(e.Error())
return e
}
mbusClient.Publish("vcap.component.announce", b)
log.Infof("Component %s registered successfully", c.Type)
return nil
}
示例2: StartFakeRouter
func StartFakeRouter() {
var startMessage = func() []byte {
d := RouterStart{
MinimumRegisterIntervalInSeconds: 20,
}
value, _ := json.Marshal(d)
return value
}
natsMembers := make([]string, 1)
uri := url.URL{
Scheme: "nats",
User: url.UserPassword("", ""),
Host: "127.0.0.1:4222",
}
natsMembers = append(natsMembers, uri.String())
var natsClient yagnats.NATSConn
var err error
for i := 0; i < 10; i++ {
natsClient, err = yagnats.Connect(natsMembers)
if err == nil {
break
}
time.Sleep(time.Second)
}
Expect(err).ToNot(HaveOccurred())
natsClient.Subscribe("router.register", func(msg *nats.Msg) {
})
natsClient.Subscribe("router.greet", func(msg *nats.Msg) {
natsClient.Publish(msg.Reply, startMessage())
})
natsClient.Publish("router.start", startMessage())
}
示例3:
Expect(err).ToNot(HaveOccurred())
Expect(strings.Contains(line, "100 Continue")).To(BeTrue())
var rr *http.Request
Eventually(rCh).Should(Receive(&rr))
Expect(rr).ToNot(BeNil())
Expect(rr.Header.Get("Expect")).To(Equal(""))
})
It("handles a /routes request", func() {
var client http.Client
var req *http.Request
var resp *http.Response
var err error
mbusClient.Publish("router.register", []byte(`{"dea":"dea1","app":"app1","uris":["test.com"],"host":"1.2.3.4","port":1234,"tags":{},"private_instance_id":"private_instance_id"}`))
time.Sleep(250 * time.Millisecond)
host := fmt.Sprintf("http://%s:%d/routes", config.Ip, config.Status.Port)
req, err = http.NewRequest("GET", host, nil)
req.SetBasicAuth("user", "pass")
resp, err = client.Do(req)
Expect(err).ToNot(HaveOccurred())
Expect(resp).ToNot(BeNil())
Expect(resp.StatusCode).To(Equal(200))
body, err := ioutil.ReadAll(resp.Body)
defer resp.Body.Close()
Expect(err).ToNot(HaveOccurred())