Use gomatrixserverlib.Client for push notifications

This commit is contained in:
Neil Alexander 2022-05-05 10:31:45 +01:00
parent 01ba326d83
commit 236d7bd361
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -3,31 +3,28 @@ package pushgateway
import (
"bytes"
"context"
"crypto/tls"
"encoding/json"
"fmt"
"net/http"
"time"
"github.com/matrix-org/gomatrixserverlib"
"github.com/opentracing/opentracing-go"
)
type httpClient struct {
hc *http.Client
hc *gomatrixserverlib.Client
}
// NewHTTPClient creates a new Push Gateway client.
func NewHTTPClient(disableTLSValidation bool) Client {
hc := &http.Client{
Timeout: 30 * time.Second,
Transport: &http.Transport{
DisableKeepAlives: true,
TLSClientConfig: &tls.Config{
InsecureSkipVerify: disableTLSValidation,
},
},
return &httpClient{
hc: gomatrixserverlib.NewClient(
gomatrixserverlib.WithTimeout(time.Second*30),
gomatrixserverlib.WithKeepAlives(false),
gomatrixserverlib.WithSkipVerify(disableTLSValidation),
),
}
return &httpClient{hc: hc}
}
func (h *httpClient) Notify(ctx context.Context, url string, req *NotifyRequest, resp *NotifyResponse) error {
@ -44,7 +41,7 @@ func (h *httpClient) Notify(ctx context.Context, url string, req *NotifyRequest,
}
hreq.Header.Set("Content-Type", "application/json")
hresp, err := h.hc.Do(hreq)
hresp, err := h.hc.DoHTTPRequest(ctx, hreq)
if err != nil {
return err
}