diff options
author | =Corey Hulen <corey@hulen.com> | 2015-09-22 13:18:42 -0700 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2015-09-22 13:18:42 -0700 |
commit | 6e60768abe6f0caa639febf068d718d62881ce62 (patch) | |
tree | 0600c72a7a9a3f7c1df167b3f870b38863e9a564 /model/client.go | |
parent | e22e7b8b7b66f342c2df693bbfc06a85980d253e (diff) | |
parent | ac7918c5540900ab0dbe43d61b8c1155e4279b55 (diff) | |
download | chat-6e60768abe6f0caa639febf068d718d62881ce62.tar.gz chat-6e60768abe6f0caa639febf068d718d62881ce62.tar.bz2 chat-6e60768abe6f0caa639febf068d718d62881ce62.zip |
Fixing merge conflict
Diffstat (limited to 'model/client.go')
-rw-r--r-- | model/client.go | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/model/client.go b/model/client.go index d13ffa6cb..cc75ce370 100644 --- a/model/client.go +++ b/model/client.go @@ -49,7 +49,7 @@ func NewClient(url string) *Client { return &Client{url, url + API_URL_SUFFIX, &http.Client{}, "", ""} } -func (c *Client) DoPost(url string, data, contentType string) (*http.Response, *AppError) { +func (c *Client) DoPost(url, data, contentType string) (*http.Response, *AppError) { rq, _ := http.NewRequest("POST", c.Url+url, strings.NewReader(data)) rq.Header.Set("Content-Type", contentType) @@ -816,6 +816,42 @@ func (c *Client) GetAccessToken(data url.Values) (*Result, *AppError) { } } +func (c *Client) CreateIncomingWebhook(hook *IncomingWebhook) (*Result, *AppError) { + if r, err := c.DoApiPost("/hooks/incoming/create", hook.ToJson()); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), IncomingWebhookFromJson(r.Body)}, nil + } +} + +func (c *Client) PostToWebhook(id, payload string) (*Result, *AppError) { + if r, err := c.DoPost("/hooks/"+id, payload, "application/x-www-form-urlencoded"); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), nil}, nil + } +} + +func (c *Client) DeleteIncomingWebhook(data map[string]string) (*Result, *AppError) { + if r, err := c.DoApiPost("/hooks/incoming/delete", MapToJson(data)); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil + } +} + +func (c *Client) ListIncomingWebhooks() (*Result, *AppError) { + if r, err := c.DoApiGet("/hooks/incoming/list", "", ""); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), IncomingWebhookListFromJson(r.Body)}, nil + } +} + func (c *Client) MockSession(sessionToken string) { c.AuthToken = sessionToken c.AuthType = HEADER_BEARER |