mirror of
https://github.com/openfaas/faas.git
synced 2025-06-20 04:56:38 +00:00
Merge master into breakout_swarm
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
This commit is contained in:
60
gateway/vendor/github.com/nats-io/go-nats/examples/nats-rply.go
generated
vendored
Normal file
60
gateway/vendor/github.com/nats-io/go-nats/examples/nats-rply.go
generated
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
// Copyright 2012-2016 Apcera Inc. All rights reserved.
|
||||
// +build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"log"
|
||||
"runtime"
|
||||
|
||||
"github.com/nats-io/go-nats"
|
||||
)
|
||||
|
||||
// NOTE: Use tls scheme for TLS, e.g. nats-rply -s tls://demo.nats.io:4443 foo hello
|
||||
func usage() {
|
||||
log.Fatalf("Usage: nats-rply [-s server][-t] <subject> <response>\n")
|
||||
}
|
||||
|
||||
func printMsg(m *nats.Msg, i int) {
|
||||
log.Printf("[#%d] Received on [%s]: '%s'\n", i, m.Subject, string(m.Data))
|
||||
}
|
||||
|
||||
func main() {
|
||||
var urls = flag.String("s", nats.DefaultURL, "The nats server URLs (separated by comma)")
|
||||
var showTime = flag.Bool("t", false, "Display timestamps")
|
||||
|
||||
log.SetFlags(0)
|
||||
flag.Usage = usage
|
||||
flag.Parse()
|
||||
|
||||
args := flag.Args()
|
||||
if len(args) < 2 {
|
||||
usage()
|
||||
}
|
||||
|
||||
nc, err := nats.Connect(*urls)
|
||||
if err != nil {
|
||||
log.Fatalf("Can't connect: %v\n", err)
|
||||
}
|
||||
|
||||
subj, reply, i := args[0], args[1], 0
|
||||
|
||||
nc.Subscribe(subj, func(msg *nats.Msg) {
|
||||
i++
|
||||
printMsg(msg, i)
|
||||
nc.Publish(msg.Reply, []byte(reply))
|
||||
})
|
||||
nc.Flush()
|
||||
|
||||
if err := nc.LastError(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
log.Printf("Listening on [%s]\n", subj)
|
||||
if *showTime {
|
||||
log.SetFlags(log.LstdFlags)
|
||||
}
|
||||
|
||||
runtime.Goexit()
|
||||
}
|
Reference in New Issue
Block a user