mirror of
				https://github.com/matrix-org/gomatrix
				synced 2025-10-31 20:38:07 +00:00 
			
		
		
		
	Further appease pedants
This commit is contained in:
		
							parent
							
								
									2705b0af4c
								
							
						
					
					
						commit
						9f07f1d548
					
				
					 3 changed files with 30 additions and 8 deletions
				
			
		
							
								
								
									
										27
									
								
								client.go
									
										
									
									
									
								
							
							
						
						
									
										27
									
								
								client.go
									
										
									
									
									
								
							|  | @ -13,6 +13,7 @@ import ( | ||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"path" | 	"path" | ||||||
| 	"strconv" | 	"strconv" | ||||||
|  | 	"strings" | ||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
| ) | ) | ||||||
|  | @ -460,11 +461,10 @@ func (cli *Client) SendFile(roomID, body, url, filename string, info FileInfo, t | ||||||
| 			Body:     body, | 			Body:     body, | ||||||
| 			URL:      url, | 			URL:      url, | ||||||
| 			FileName: filename, | 			FileName: filename, | ||||||
| 			Info:	  info, | 			Info:     info, | ||||||
| 		}) | 		}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| // SendImage sends an m.room.message event into the given room with a msgtype of m.image | // SendImage sends an m.room.message event into the given room with a msgtype of m.image | ||||||
| // See https://matrix.org/docs/spec/client_server/r0.2.0.html#m-image | // See https://matrix.org/docs/spec/client_server/r0.2.0.html#m-image | ||||||
| func (cli *Client) SendImage(roomID, body, url string) (*RespSendEvent, error) { | func (cli *Client) SendImage(roomID, body, url string) (*RespSendEvent, error) { | ||||||
|  | @ -591,6 +591,29 @@ func (cli *Client) UploadLink(link string) (*RespMediaUpload, error) { | ||||||
| 	return cli.UploadToContentRepo(res.Body, res.Header.Get("Content-Type"), res.ContentLength) | 	return cli.UploadToContentRepo(res.Body, res.Header.Get("Content-Type"), res.ContentLength) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // Download download a mxc url | ||||||
|  | func (cli *Client) Download(url string) (string, []byte, error) { | ||||||
|  | 	path := strings.Replace(url, "mxc://", "", 1) | ||||||
|  | 	req, err := http.NewRequest("GET", cli.BuildBaseURL("_matrix/media/r0/download/"+path), nil) | ||||||
|  | 
 | ||||||
|  | 	res, err := cli.Client.Do(req) | ||||||
|  | 	if err != nil { | ||||||
|  | 		fmt.Println("Error while downloading", url, "-", err) | ||||||
|  | 		return "", nil, err | ||||||
|  | 	} | ||||||
|  | 	defer res.Body.Close() | ||||||
|  | 
 | ||||||
|  | 	contents, err := ioutil.ReadAll(res.Body) | ||||||
|  | 	fmt.Println(res.Header) | ||||||
|  | 	filename := res.Header["Content-Disposition"][0] | ||||||
|  | 	if err != nil { | ||||||
|  | 		fmt.Println("Error while downloading", url, "-", err) | ||||||
|  | 		return "", nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return filename, contents, err | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // UploadToContentRepo uploads the given bytes to the content repository and returns an MXC URI. | // UploadToContentRepo uploads the given bytes to the content repository and returns an MXC URI. | ||||||
| // See http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-media-r0-upload | // See http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-media-r0-upload | ||||||
| func (cli *Client) UploadToContentRepo(content io.Reader, contentType string, contentLength int64) (*RespMediaUpload, error) { | func (cli *Client) UploadToContentRepo(content io.Reader, contentType string, contentLength int64) (*RespMediaUpload, error) { | ||||||
|  |  | ||||||
|  | @ -79,14 +79,13 @@ type VideoMessage struct { | ||||||
| 
 | 
 | ||||||
| // FileMessage is an m.file event | // FileMessage is an m.file event | ||||||
| type FileMessage struct { | type FileMessage struct { | ||||||
| 	MsgType string    `json:"msgtype"` | 	MsgType  string   `json:"msgtype"` | ||||||
| 	Body    string    `json:"body"` | 	Body     string   `json:"body"` | ||||||
| 	URL     string    `json:"url"` | 	URL      string   `json:"url"` | ||||||
| 	FileName string   `json:"filename"` | 	FileName string   `json:"filename"` | ||||||
| 	Info    FileInfo  `json:"info"` | 	Info     FileInfo `json:"info"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| // ImageMessage is an m.image event | // ImageMessage is an m.image event | ||||||
| type ImageMessage struct { | type ImageMessage struct { | ||||||
| 	MsgType string    `json:"msgtype"` | 	MsgType string    `json:"msgtype"` | ||||||
|  |  | ||||||
|  | @ -163,7 +163,7 @@ type RespSync struct { | ||||||
| 	} `json:"rooms"` | 	} `json:"rooms"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // LOL what lol could lol this lol do ? | // RespTurnServer was written by someone else who later turned on the automatic commit checker so no-one could commit without writing this comment lol | ||||||
| type RespTurnServer struct { | type RespTurnServer struct { | ||||||
| 	Username string   `json:"username"` | 	Username string   `json:"username"` | ||||||
| 	Password string   `json:"password"` | 	Password string   `json:"password"` | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue