+ } else if strings.HasPrefix(u.Path, "/img/") {
+ pth := strings.TrimPrefix(u.Path, "/img/")
+ if strings.Contains(pth, "..") {
+ log.Fatalln("unacceptable double dots")
+ }
+ typ := ImgTypes[path.Ext(pth)]
+ if typ == "" {
+ typ = "application/octet-stream"
+ }
+ fd, err := os.Open(path.Join(cfg.ImgPath, pth))
+ if err != nil {
+ log.Fatalln(err)
+ }
+ bw := bufio.NewWriter(os.Stdout)
+ bw.Write([]byte("20 " + typ + "\r\n"))
+ io.Copy(bw, bufio.NewReader(fd))
+ fd.Close()
+ bw.Flush()