From 89cc8d700a747ef26e93fddae6a4458d68660e45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=C3=A1n=20C=20McCord?= Date: Sat, 8 Jun 2019 23:03:17 -0400 Subject: [PATCH] Convert to go modules; add ARI status check All NATS responders now check the ARI client to make sure it is connected before responding. Fixes #25 --- Gopkg.lock | 300 ----------------------------------------------- Gopkg.toml | 27 ----- go.mod | 32 +++++ go.sum | 81 +++++++++++++ server/server.go | 8 +- 5 files changed, 120 insertions(+), 328 deletions(-) delete mode 100644 Gopkg.lock delete mode 100644 Gopkg.toml create mode 100644 go.mod create mode 100644 go.sum diff --git a/Gopkg.lock b/Gopkg.lock deleted file mode 100644 index 5c70e78..0000000 --- a/Gopkg.lock +++ /dev/null @@ -1,300 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:300598806c714840c01f8632715e05ce293c053b137d430404fc0006e9b4b194" - name = "github.com/CyCoreSystems/ari" - packages = [ - ".", - "client/arimocks", - "client/native", - "rid", - "stdbus", - ] - pruneopts = "" - revision = "5f1efb0a2888aba239263c14e641761bea7e7fd1" - version = "v5.0.0-pre3" - -[[projects]] - digest = "1:56c130d885a4aacae1dd9c7b71cfe39912c7ebc1ff7d2b46083c8812996dc43b" - name = "github.com/davecgh/go-spew" - packages = ["spew"] - pruneopts = "" - revision = "346938d642f2ec3594ed81d874461961cd0faa76" - version = "v1.1.0" - -[[projects]] - branch = "master" - digest = "1:416d8ecfdbd57d2e441e816559394ce2bb2d71f68cf3feb795d92e335aeeb307" - name = "github.com/fsnotify/fsnotify" - packages = ["."] - pruneopts = "" - revision = "4da3e2cfbabc9f751898f250b49f2439785783a1" - -[[projects]] - digest = "1:9ca737b471693542351e112c9e86be9bf7385e42256893a09ecb2a98e2036f74" - name = "github.com/go-stack/stack" - packages = ["."] - pruneopts = "" - revision = "259ab82a6cad3992b4e21ff5cac294ccb06474bc" - version = "v1.7.0" - -[[projects]] - digest = "1:0a3f6a0c68ab8f3d455f8892295503b179e571b7fefe47cc6c556405d1f83411" - name = "github.com/gogo/protobuf" - packages = [ - "gogoproto", - "proto", - "protoc-gen-gogo/descriptor", - "sortkeys", - "types", - ] - pruneopts = "" - revision = "1adfc126b41513cc696b209667c8656ea7aac67c" - version = "v1.0.0" - -[[projects]] - digest = "1:54154e6dbc8ce9438f24131cabfeaada1582b35fcdb2ff8457b77a4b1b9a13af" - name = "github.com/hashicorp/hcl" - packages = [ - ".", - "hcl/ast", - "hcl/parser", - "hcl/printer", - "hcl/scanner", - "hcl/strconv", - "hcl/token", - "json/parser", - "json/scanner", - "json/token", - ] - pruneopts = "" - revision = "392dba7d905ed5d04a5794ba89f558b27e2ba1ca" - -[[projects]] - digest = "1:cd42e7799605c57153280b45612419aa2657798bea700c04bd8980c00fb88edc" - name = "github.com/inconshreveable/log15" - packages = ["."] - pruneopts = "" - revision = "0decfc6c20d9ca0ad143b0e89dcaa20f810b4fb3" - version = "v2.13" - -[[projects]] - digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" - name = "github.com/inconshreveable/mousetrap" - packages = ["."] - pruneopts = "" - revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" - version = "v1.0" - -[[projects]] - digest = "1:1ce378ab2352c756c6d7a0172c22ecbd387659d32712a4ce3bc474273309a5dc" - name = "github.com/magiconair/properties" - packages = ["."] - pruneopts = "" - revision = "be5ece7dd465ab0765a9682137865547526d1dfb" - version = "v1.7.3" - -[[projects]] - branch = "master" - digest = "1:fdf248c0e3342ed0c62b4190dac1e833495eef29190465269f8d7fa26580ddd7" - name = "github.com/mattn/go-colorable" - packages = ["."] - pruneopts = "" - revision = "ad5389df28cdac544c99bd7b9161a0b5b6ca9d1b" - -[[projects]] - digest = "1:420bb8eabfa6dff0cb5c8e786489a420e7e9d93a8b1d83882cce70c5a5b9bc3e" - name = "github.com/mattn/go-isatty" - packages = ["."] - pruneopts = "" - revision = "fc9e8d8ef48496124e79ae0df75490096eccf6fe" - version = "v0.0.2" - -[[projects]] - branch = "master" - digest = "1:c9ede10a9ded782d25d1f0be87c680e11409c23554828f19a19d691a95e76130" - name = "github.com/mitchellh/mapstructure" - packages = ["."] - pruneopts = "" - revision = "d0303fe809921458f417bcf828397a65db30a7e4" - -[[projects]] - digest = "1:d33174a008d478d3f7f468391b10dcff09966e7e8616ac6a2b09bd8c7cb2cd03" - name = "github.com/nats-io/go-nats" - packages = [ - "encoders/builtin", - "util", - ] - pruneopts = "" - revision = "b4479c874d87db74c2049a1b4abd55eb162c70fb" - -[[projects]] - digest = "1:665af347df4c5d1ae4c3eacd0754f5337a301f6a3f2444c9993b996605c8c02b" - name = "github.com/nats-io/nats" - packages = ["."] - pruneopts = "" - revision = "062418ea1c2181f52dc0f954f6204370519a868b" - version = "v1.5.0" - -[[projects]] - branch = "master" - digest = "1:afc162be2c24a5dc5abc08e776c5a1947899ad459f27015e869d8abe4e56f85f" - name = "github.com/nats-io/nuid" - packages = ["."] - pruneopts = "" - revision = "3cf34f9fca4e88afa9da8eabd75e3326c9941b44" - -[[projects]] - digest = "1:ef57aecdf87b09455aeab4413d7e2cd15a0021fddfaa654ffb74cf266068788b" - name = "github.com/oklog/ulid" - packages = ["."] - pruneopts = "" - revision = "d311cb43c92434ec4072dfbbda3400741d0a6337" - version = "v0.3.0" - -[[projects]] - digest = "1:c85e9f3a07754381a94e206a028f4541ab89d1f35beacbd6a009d9572c6c910a" - name = "github.com/pelletier/go-toml" - packages = ["."] - pruneopts = "" - revision = "4692b8f9babfc93db58cc592ba2689d8736781de" - -[[projects]] - digest = "1:7365acd48986e205ccb8652cc746f09c8b7876030d53710ea6ef7d0bd0dcd7ca" - name = "github.com/pkg/errors" - packages = ["."] - pruneopts = "" - revision = "645ef00459ed84a119197bfb8d8205042c6df63d" - version = "v0.8.0" - -[[projects]] - digest = "1:256484dbbcd271f9ecebc6795b2df8cad4c458dd0f5fd82a8c2fa0c29f233411" - name = "github.com/pmezard/go-difflib" - packages = ["difflib"] - pruneopts = "" - revision = "792786c7400a136282c1664665ae0a8db921c6c2" - version = "v1.0.0" - -[[projects]] - digest = "1:a35a4db30a6094deac33fdb99de9ed99fefc39a7bf06b57d9f04bcaa425bb183" - name = "github.com/spf13/afero" - packages = [ - ".", - "mem", - ] - pruneopts = "" - revision = "9be650865eab0c12963d8753212f4f9c66cdcf12" - -[[projects]] - digest = "1:6ff9b74bfea2625f805edec59395dc37e4a06458dd3c14e3372337e3d35a2ed6" - name = "github.com/spf13/cast" - packages = ["."] - pruneopts = "" - revision = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4" - version = "v1.1.0" - -[[projects]] - digest = "1:74c32990510c9f188556aa17600313e867d1d06f5a9db244056a95d144ec34ce" - name = "github.com/spf13/cobra" - packages = ["."] - pruneopts = "" - revision = "a1f051bc3eba734da4772d60e2d677f47cf93ef4" - version = "v0.0.2" - -[[projects]] - digest = "1:0f963ca61135dee190399f80203bd6dc0b4eef742ae60ddde08da68fdf2ac9f1" - name = "github.com/spf13/jwalterweatherman" - packages = ["."] - pruneopts = "" - revision = "0efa5202c04663c757d84f90f5219c1250baf94f" - -[[projects]] - digest = "1:261bc565833ef4f02121450d74eb88d5ae4bd74bfe5d0e862cddb8550ec35000" - name = "github.com/spf13/pflag" - packages = ["."] - pruneopts = "" - revision = "e57e3eeb33f795204c1ca35f56c44f83227c6e66" - version = "v1.0.0" - -[[projects]] - digest = "1:3dab237cd3263a290d771d133fed777bb56c22e380b00ebe92e6531d5c8d3d0c" - name = "github.com/spf13/viper" - packages = ["."] - pruneopts = "" - revision = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736" - version = "v1.0.2" - -[[projects]] - digest = "1:306417ea2f31ea733df356a2b895de63776b6a5107085b33458e5cd6eb1d584d" - name = "github.com/stretchr/objx" - packages = ["."] - pruneopts = "" - revision = "facf9a85c22f48d2f52f2380e4efce1768749a89" - version = "v0.1" - -[[projects]] - digest = "1:a30066593578732a356dc7e5d7f78d69184ca65aeeff5939241a3ab10559bb06" - name = "github.com/stretchr/testify" - packages = [ - "assert", - "mock", - ] - pruneopts = "" - revision = "12b6f73e6084dad08a7c6e575284b177ecafbc71" - version = "v1.2.1" - -[[projects]] - branch = "master" - digest = "1:58977d25cdcfe647173e2282e77f88797750d8124ad7417174afcaea301d4a6a" - name = "golang.org/x/net" - packages = ["websocket"] - pruneopts = "" - revision = "6078986fec03a1dcc236c34816c71b0e05018fda" - -[[projects]] - digest = "1:575cd953d8ddd3aeee1de61e321fd6150701fc8b39f3f835b6eb1281d22b783e" - name = "golang.org/x/sys" - packages = ["unix"] - pruneopts = "" - revision = "9f7170bcd8e9f4d3691c06401119c46a769a1e03" - -[[projects]] - digest = "1:1bc930fa2950444b1b3e6a7ea4a17b7aa334fa26e8daca91b316e41d554fb191" - name = "golang.org/x/text" - packages = [ - "internal/gen", - "internal/triegen", - "internal/ucd", - "transform", - "unicode/cldr", - "unicode/norm", - ] - pruneopts = "" - revision = "e56139fd9c5bc7244c76116c68e500765bb6db6b" - -[[projects]] - branch = "v2" - digest = "1:81314a486195626940617e43740b4fa073f265b0715c9f54ce2027fee1cb5f61" - name = "gopkg.in/yaml.v2" - packages = ["."] - pruneopts = "" - revision = "eb3733d160e74a9c7e442f435eb3bea458e1d19f" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = [ - "github.com/CyCoreSystems/ari", - "github.com/CyCoreSystems/ari/client/arimocks", - "github.com/CyCoreSystems/ari/client/native", - "github.com/CyCoreSystems/ari/rid", - "github.com/inconshreveable/log15", - "github.com/nats-io/nats", - "github.com/pkg/errors", - "github.com/spf13/cobra", - "github.com/spf13/viper", - "github.com/stretchr/testify/mock", - ] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml deleted file mode 100644 index 3ff2c7d..0000000 --- a/Gopkg.toml +++ /dev/null @@ -1,27 +0,0 @@ -[[constraint]] - name = "github.com/CyCoreSystems/ari" - version = "5.0.0-pre3" - -[[constraint]] - name = "github.com/inconshreveable/log15" - version = "2.13.0" - -[[constraint]] - name = "github.com/nats-io/nats" - version = "1.5.0" - -[[constraint]] - name = "github.com/pkg/errors" - version = "0.8.0" - -[[constraint]] - name = "github.com/spf13/cobra" - version = "0.0.2" - -[[constraint]] - name = "github.com/spf13/viper" - version = "1.0.2" - -[[constraint]] - name = "github.com/stretchr/testify" - version = "1.2.1" diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..5efdadf --- /dev/null +++ b/go.mod @@ -0,0 +1,32 @@ +module github.com/CyCoreSystems/ari-proxy + +go 1.12 + +require ( + github.com/BurntSushi/toml v0.3.1 // indirect + github.com/CyCoreSystems/ari v5.0.0-pre4+incompatible + github.com/fsnotify/fsnotify v0.0.0-20170329110642-4da3e2cfbabc // indirect + github.com/golang/protobuf v1.3.1 // indirect + github.com/hashicorp/hcl v0.0.0-20170509225359-392dba7d905e // indirect + github.com/inconshreveable/log15 v0.0.0-20171019012758-0decfc6c20d9 + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/kr/pretty v0.1.0 // indirect + github.com/magiconair/properties v1.7.3 // indirect + github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992 // indirect + github.com/nats-io/gnatsd v1.4.1 // indirect + github.com/nats-io/go-nats v0.0.0-20170814154326-b4479c874d87 // indirect + github.com/nats-io/nats v1.5.0 + github.com/nats-io/nuid v0.0.0-20170303150224-3cf34f9fca4e // indirect + github.com/pelletier/go-toml v0.0.0-20170817000623-4692b8f9babf // indirect + github.com/pkg/errors v0.8.0 + github.com/spf13/afero v0.0.0-20170217164146-9be650865eab // indirect + github.com/spf13/cast v1.1.0 // indirect + github.com/spf13/cobra v0.0.2 + github.com/spf13/jwalterweatherman v0.0.0-20170523133247-0efa5202c046 // indirect + github.com/spf13/pflag v1.0.0 // indirect + github.com/spf13/viper v1.0.2 + github.com/stretchr/testify v1.2.1 + golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5 // indirect + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect + gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..f89be2a --- /dev/null +++ b/go.sum @@ -0,0 +1,81 @@ +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/CyCoreSystems/ari v5.0.0-pre4+incompatible h1:lZYYOu1E9snXt4al9N7/OHSw/hy3N4QyvsTZ8NPu9RA= +github.com/CyCoreSystems/ari v5.0.0-pre4+incompatible/go.mod h1:OE5g9iMBw76ybED1pXS6tj5H2ps0aBX5XaUWKvbfdk8= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fsnotify/fsnotify v0.0.0-20170329110642-4da3e2cfbabc h1:fqUzyjP8DApxXq0dOZJE/NvqQkyjxiTy9ARNyRwBPEw= +github.com/fsnotify/fsnotify v0.0.0-20170329110642-4da3e2cfbabc/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/go-stack/stack v1.7.0 h1:S04+lLfST9FvL8dl4R31wVUC/paZp/WQZbLmUgWboGw= +github.com/go-stack/stack v1.7.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.0.0 h1:2jyBKDKU/8v3v2xVR2PtiWQviFUyiaGk2rpfyFT8rTM= +github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/hashicorp/hcl v0.0.0-20170509225359-392dba7d905e h1:KJWs1uTCkN3E/J5ofCH9Pf8KKsibTFc3fv0CA9+WsVo= +github.com/hashicorp/hcl v0.0.0-20170509225359-392dba7d905e/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/inconshreveable/log15 v0.0.0-20171019012758-0decfc6c20d9 h1:LmBUkXNSSmEV5hExb65hKje7sDuuDug3xsPAba7x5fw= +github.com/inconshreveable/log15 v0.0.0-20171019012758-0decfc6c20d9/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/magiconair/properties v1.7.3 h1:6AOjgCKyZFMG/1yfReDPDz3CJZPxnYk7DGmj2HtyF24= +github.com/magiconair/properties v1.7.3/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3 h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992 h1:W7VHAEVflA5/eTyRvQ53Lz5j8bhRd1myHZlI/IZFvbU= +github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/nats-io/gnatsd v1.4.1 h1:RconcfDeWpKCD6QIIwiVFcvForlXpWeJP7i5/lDLy44= +github.com/nats-io/gnatsd v1.4.1/go.mod h1:nqco77VO78hLCJpIcVfygDP2rPGfsEHkGTUk94uh5DQ= +github.com/nats-io/go-nats v0.0.0-20170814154326-b4479c874d87 h1:luwE0sDmpmgi57NeiNlLR+PNeaBzDH2UIa8HBRbpWIk= +github.com/nats-io/go-nats v0.0.0-20170814154326-b4479c874d87/go.mod h1:+t7RHT5ApZebkrQdnn6AhQJmhJJiKAvJUio1PiiCtj0= +github.com/nats-io/nats v1.5.0 h1:kyKX8yDb+dYiYuLuRg/3nU7JSfMsDW/nVoimJ9kW5dw= +github.com/nats-io/nats v1.5.0/go.mod h1:PpmYZwlgTfBI56QypJLfIMOfLnMRuVs+VL6r8mQ2SoQ= +github.com/nats-io/nuid v0.0.0-20170303150224-3cf34f9fca4e h1:OMRBwfCdd+UhckVO+3OGdxnuaKD4IILn0aIJu9JRRbY= +github.com/nats-io/nuid v0.0.0-20170303150224-3cf34f9fca4e/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/oklog/ulid v0.3.0 h1:yEMMWFnYiPX/ytx1StIE0E1a35sm8MmWD/uSL9ZtKhg= +github.com/oklog/ulid v0.3.0/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/pelletier/go-toml v0.0.0-20170817000623-4692b8f9babf h1:XjB5kVAWxe9qH3eZIUfsW4gLh7prYlRJmZ5zRjyvCeg= +github.com/pelletier/go-toml v0.0.0-20170817000623-4692b8f9babf/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/spf13/afero v0.0.0-20170217164146-9be650865eab h1:IVAbBHQR8rXL2Fc8Zba/lMF7KOnTi70lqdx91UTuAwQ= +github.com/spf13/afero v0.0.0-20170217164146-9be650865eab/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.1.0 h1:0Rhw4d6C8J9VPu6cjZLIhZ8+aAOHcDvGeKn+cq5Aq3k= +github.com/spf13/cast v1.1.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= +github.com/spf13/cobra v0.0.2 h1:NfkwRbgViGoyjBKsLI0QMDcuMnhM+SBg3T0cGfpvKDE= +github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/jwalterweatherman v0.0.0-20170523133247-0efa5202c046 h1:RpxSq53NruItMGgp6q5MsDYoZynisJgEpisQdWJ7PyM= +github.com/spf13/jwalterweatherman v0.0.0-20170523133247-0efa5202c046/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.0 h1:oaPbdDe/x0UncahuwiPxW1GYJyilRAdsPnq3e1yaPcI= +github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.0.2 h1:Ncr3ZIuJn322w2k1qmzXDnkLAdQMlJqBa9kfAH+irso= +github.com/spf13/viper v1.0.2/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.1 h1:52QO5WkIUcHGIR7EnGagH88x1bUzqGXTC5/1bDTUQ7U= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5 h1:58fnuSXlxZmFdJyvtTFVmVhcMLU6v5fEb/ok4wyqtNU= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/net v0.0.0-20180320002117-6078986fec03/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20180326154331-13d03a9a82fb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7 h1:+t9dhfO+GNOIGJof6kPOAenx7YgrZMTdRPV+EsnPabk= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= diff --git a/server/server.go b/server/server.go index 26623c7..9931ef2 100644 --- a/server/server.go +++ b/server/server.go @@ -284,7 +284,9 @@ func (s *Server) runEventHandler(ctx context.Context) { // pingHandler publishes the server's presence func (s *Server) pingHandler(m *nats.Msg) { - s.announce() + if s.ari.Connected() { + s.announce() + } } // publish sends a message out over NATS, logging any error @@ -297,6 +299,10 @@ func (s *Server) publish(subject string, msg interface{}) { // newRequestHandler returns a context-wrapped nats.Handler to handle requests func (s *Server) newRequestHandler(ctx context.Context) func(subject string, reply string, req *proxy.Request) { return func(subject string, reply string, req *proxy.Request) { + if !s.ari.Connected() { + s.sendError(reply, errors.New("ARI connection is down")) + return + } go s.dispatchRequest(ctx, reply, req) } }