diff options
Diffstat (limited to 'matterhook/matterhook.go')
-rw-r--r-- | matterhook/matterhook.go | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/matterhook/matterhook.go b/matterhook/matterhook.go index ed062499..1ff1f428 100644 --- a/matterhook/matterhook.go +++ b/matterhook/matterhook.go @@ -3,6 +3,7 @@ package matterhook import ( "bytes" + "crypto/tls" "encoding/json" "fmt" "github.com/gorilla/schema" @@ -39,16 +40,18 @@ type IMessage struct { // Client for Mattermost. type Client struct { - url string - In chan IMessage - Out chan OMessage + url string + In chan IMessage + Out chan OMessage + httpclient *http.Client Config } // Config for client. type Config struct { - Port int // Port to listen on. - Token string // Only allow this token from Mattermost. (Allow everything when empty) + Port int // Port to listen on. + Token string // Only allow this token from Mattermost. (Allow everything when empty) + InsecureSkipVerify bool // disable certificate checking } // New Mattermost client. @@ -57,6 +60,11 @@ func New(url string, config Config) *Client { if c.Port == 0 { c.Port = 9999 } + tr := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: config.InsecureSkipVerify}, + } + c.httpclient = &http.Client{Transport: tr} + go c.StartServer() return c } @@ -124,7 +132,7 @@ func (c *Client) Send(msg OMessage) error { if err != nil { return err } - resp, err := http.Post(c.url, "application/json", bytes.NewReader(buf)) + resp, err := c.httpclient.Post(c.url, "application/json", bytes.NewReader(buf)) if err != nil { return err } |