10 "github.com/mattermost/mattermost-server/v6/model"
14 url := strings.TrimPrefix(os.Args[1], "-") // -?https://MACHINE/api/v4/files/FILE
15 s := strings.Split(url, "/")
16 machine, fileId := s[2], s[6]
18 login, password := findInNetrc(machine)
19 if login == "" || password == "" {
20 fmt.Fprintln(os.Stderr, "No credentials found for:", machine)
24 client := model.NewAPIv4Client("https://" + machine)
25 _, _, err := client.Login(login, password)
29 info, resp, err := client.GetFileInfo(fileId)
34 fmt.Fprintln(os.Stderr, resp)
41 fmt.Fprintln(os.Stderr, "Name:", info.Name)
42 fmt.Fprintln(os.Stderr, "Type:", info.MimeType)
43 fmt.Fprintln(os.Stderr, "Size:", info.Size)
44 fmt.Fprintln(os.Stderr, "Download? Ctrl-D/C")
45 os.Stdin.Read(make([]byte, 1))
47 data, _, err := client.GetFile(fileId)
51 if err := ioutil.WriteFile(filename, data, os.FileMode(0666)); err != nil {