ensure http bodies closed, matrix client some kinda closed
This commit is contained in:
@@ -45,6 +45,13 @@ func newMatrix(conf config.Matrix, cont string) Matrix {
|
||||
}
|
||||
}
|
||||
|
||||
func (m Matrix) closeclient(client *gomatrix.Client) {
|
||||
go func() {
|
||||
client.StopSync()
|
||||
client.Logout()
|
||||
}()
|
||||
}
|
||||
|
||||
func (m Matrix) getclient() (*gomatrix.Client, error) {
|
||||
client, err := gomatrix.NewClient(m.homeserver, m.username, m.token)
|
||||
if err != nil {
|
||||
@@ -92,6 +99,7 @@ func (m *Matrix) Receive() ([]Message, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer m.closeclient(c)
|
||||
messages := make([]Message, 0)
|
||||
result, err := c.Messages(m.room, "999999999999999999", m.Continuation(), 'b', 50)
|
||||
if err != nil {
|
||||
@@ -147,6 +155,7 @@ func (m Matrix) Remove(id string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer m.closeclient(c)
|
||||
_, err = c.RedactEvent(m.room, id, &gomatrix.ReqRedact{Reason: "stale"})
|
||||
return err
|
||||
}
|
||||
@@ -160,6 +169,7 @@ func (m Matrix) Update(id, text string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer m.closeclient(c)
|
||||
type MRelatesTo struct {
|
||||
EventID string `json:"event_id"`
|
||||
RelType string `json:"rel_type"`
|
||||
@@ -203,6 +213,7 @@ func (m Matrix) SendTracked(text string) (string, error) {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer m.closeclient(c)
|
||||
resp, err := c.SendText(m.room, text)
|
||||
if err != nil {
|
||||
return "", err
|
||||
@@ -238,6 +249,7 @@ func (m Matrix) SendImageTracked(uri string) (string, error) {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer m.closeclient(c)
|
||||
mediaUpload, err := c.UploadToContentRepo(bytes.NewReader(b), "image/jpeg", int64(len(b)))
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
||||
Reference in New Issue
Block a user