Fix file extension detection; fix HTTPS port
parent
5eca20469f
commit
9171e94e5a
|
@ -293,7 +293,7 @@ func (s *Server) Run() error {
|
||||||
errChan <- s.httpServer.ListenAndServe()
|
errChan <- s.httpServer.ListenAndServe()
|
||||||
}()
|
}()
|
||||||
if s.config.ListenHTTPS != "" {
|
if s.config.ListenHTTPS != "" {
|
||||||
s.httpsServer = &http.Server{Addr: s.config.ListenHTTP, Handler: mux}
|
s.httpsServer = &http.Server{Addr: s.config.ListenHTTPS, Handler: mux}
|
||||||
go func() {
|
go func() {
|
||||||
errChan <- s.httpsServer.ListenAndServeTLS(s.config.CertFile, s.config.KeyFile)
|
errChan <- s.httpsServer.ListenAndServeTLS(s.config.CertFile, s.config.KeyFile)
|
||||||
}()
|
}()
|
||||||
|
@ -479,7 +479,8 @@ func (s *Server) handlePublish(w http.ResponseWriter, r *http.Request, v *visito
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
m := newDefaultMessage(t.ID, "")
|
m := newDefaultMessage(t.ID, "")
|
||||||
if !body.LimitReached && utf8.Valid(body.PeakedBytes) {
|
filename := readParam(r, "x-filename", "filename", "file", "f")
|
||||||
|
if filename == "" && !body.LimitReached && utf8.Valid(body.PeakedBytes) {
|
||||||
m.Message = strings.TrimSpace(string(body.PeakedBytes))
|
m.Message = strings.TrimSpace(string(body.PeakedBytes))
|
||||||
} else if s.config.AttachmentCacheDir != "" {
|
} else if s.config.AttachmentCacheDir != "" {
|
||||||
if err := s.writeAttachment(r, v, m, body); err != nil {
|
if err := s.writeAttachment(r, v, m, body); err != nil {
|
||||||
|
|
10
util/util.go
10
util/util.go
|
@ -18,10 +18,10 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
random = rand.New(rand.NewSource(time.Now().UnixNano()))
|
random = rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||||
randomMutex = sync.Mutex{}
|
randomMutex = sync.Mutex{}
|
||||||
sizeStrRegex = regexp.MustCompile(`(?i)^(\d+)([gmkb])?$`)
|
sizeStrRegex = regexp.MustCompile(`(?i)^(\d+)([gmkb])?$`)
|
||||||
|
extRegex = regexp.MustCompile(`^\.[-_A-Za-z0-9]+$`)
|
||||||
errInvalidPriority = errors.New("invalid priority")
|
errInvalidPriority = errors.New("invalid priority")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ func ExtensionByType(contentType string) string {
|
||||||
return ".jpg"
|
return ".jpg"
|
||||||
default:
|
default:
|
||||||
exts, err := mime.ExtensionsByType(contentType)
|
exts, err := mime.ExtensionsByType(contentType)
|
||||||
if err == nil && len(exts) > 0 {
|
if err == nil && len(exts) > 0 && extRegex.MatchString(exts[0]) {
|
||||||
return exts[0]
|
return exts[0]
|
||||||
}
|
}
|
||||||
return ".bin"
|
return ".bin"
|
||||||
|
|
Loading…
Reference in New Issue