4
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2025-06-26 01:49:22 +00:00

Add SkipTLSVerify option for mattermost, allows selfsigned certificates

This commit is contained in:
Wim
2015-10-25 01:00:19 +02:00
parent 43738dbc89
commit 8b6a00d1c5
5 changed files with 30 additions and 14 deletions

View File

@ -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
}