Updated clamrest
This commit is contained in:
parent
c9683ded05
commit
e061bcc1fb
1 changed files with 28 additions and 1 deletions
29
clamrest.go
29
clamrest.go
|
@ -9,8 +9,11 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"github.com/dutchcoders/go-clamd"
|
"github.com/dutchcoders/go-clamd"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var opts map[string]string
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
log.SetOutput(ioutil.Discard)
|
log.SetOutput(ioutil.Discard)
|
||||||
}
|
}
|
||||||
|
@ -20,7 +23,7 @@ func uploadHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
switch r.Method {
|
switch r.Method {
|
||||||
//POST takes the uploaded file(s) and saves it to disk.
|
//POST takes the uploaded file(s) and saves it to disk.
|
||||||
case "POST":
|
case "POST":
|
||||||
c := clamd.NewClamd("tcp://localhost:3310")
|
c := clamd.NewClamd(opts["CLAMD_CONNECTION"])
|
||||||
//get the multipart reader for the request.
|
//get the multipart reader for the request.
|
||||||
reader, err := r.MultipartReader()
|
reader, err := r.MultipartReader()
|
||||||
|
|
||||||
|
@ -61,7 +64,31 @@ func uploadHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
|
opts = make(map[string]string)
|
||||||
|
|
||||||
|
for _, e := range os.Environ() {
|
||||||
|
pair := strings.Split(e, "=")
|
||||||
|
opts[pair[0]] = pair[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
if opts["CLAMD_CONNECTION"] == "" {
|
||||||
|
opts["CLAMD_CONNECTION"] = "tcp://localhost:3031"
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Printf("Starting clamav rest bridge\n")
|
fmt.Printf("Starting clamav rest bridge\n")
|
||||||
|
fmt.Printf("Connecting to clamd on %v\n", opts["CLAMD_CONNECTION"])
|
||||||
|
clamd_test := clamd.NewClamd(opts["CLAMD_CONNECTION"])
|
||||||
|
clamd_test.Ping()
|
||||||
|
version, err := clamd_test.Version()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Error getting clamd version: %v\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
for version_string := range version {
|
||||||
|
fmt.Printf("Clamd version: %v\n", version_string)
|
||||||
|
}
|
||||||
|
fmt.Printf("Connected to clamd on %v\n", opts["CLAMD_CONNECTION"])
|
||||||
|
|
||||||
http.HandleFunc("/scan", uploadHandler)
|
http.HandleFunc("/scan", uploadHandler)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue