1
0
mirror of https://github.com/dutchcoders/transfer.sh.git synced 2020-11-18 19:53:40 -08:00

fixed issue with go-clamd

This commit is contained in:
Remco 2016-07-11 22:15:29 +02:00
parent 049d73ec21
commit c53c3be577

View File

@ -270,24 +270,22 @@ func scanHandler(w http.ResponseWriter, r *http.Request) {
c := clamd.NewClamd(config.CLAMAV_DAEMON_HOST)
response, err := c.ScanStream(reader)
abort := make(chan bool)
response, err := c.ScanStream(reader, abort)
if err != nil {
log.Printf("%s", err.Error())
http.Error(w, err.Error(), 500)
return
}
var b string
for s := range response {
b += s
if !strings.HasPrefix(s, "stream: ") {
continue
}
w.Write([]byte(fmt.Sprintf("%v\n", s[8:])))
select {
case s := <-response:
w.Write([]byte(fmt.Sprintf("%v\n", s.Status)))
case <-time.After(time.Second * 60):
abort <- true
}
close(abort)
}
func putHandler(w http.ResponseWriter, r *http.Request) {