diff --git a/webserver/webserver.go b/webserver/webserver.go index 09bf000..43df5e8 100644 --- a/webserver/webserver.go +++ b/webserver/webserver.go @@ -1,6 +1,7 @@ package webserver import ( + c "gitlab.com/saburly/kiviscraplib/config" "gitlab.com/saburly/kiviscraplib/structures" "gitlab.com/saburly/kiviscraplib/utils" "log" @@ -13,7 +14,7 @@ var requests chan structures.Request func ServeHTTP(queue chan structures.Request, end chan<- string) { requests = queue http.HandleFunc("/", httpHandler) - err := http.ListenAndServe("127.0.0.1:1337", nil) + err := http.ListenAndServe(c.WebServerConfig.Address, nil) if err != nil { end <- "http server" log.Fatal(err) @@ -21,7 +22,6 @@ func ServeHTTP(queue chan structures.Request, end chan<- string) { } func httpHandler(w http.ResponseWriter, r *http.Request) { - query := r.URL.Query() api_key, present := query["api_key"] if !present || len(api_key) == 0 { @@ -30,7 +30,7 @@ func httpHandler(w http.ResponseWriter, r *http.Request) { } // todo: do more for the authentication / authorization - if api_key[0] != "b8be5a3b639d465039e8fbe7582270a7" { + if api_key[0] != c.WebServerConfig.APIKey { respondWithError(w, 401, "api_key is wrong") return } @@ -56,10 +56,9 @@ func httpHandler(w http.ResponseWriter, r *http.Request) { log.Printf("request from %s: %s %q", r.RemoteAddr, r.Method, r.URL) log.Printf("waiting for response") - // todo: put timeout in ENV variable timeout := make(chan bool, 1) go func() { - time.Sleep(100 * time.Second) + time.Sleep(time.Duration(c.WebServerConfig.Timeout) * time.Second) timeout <- true }()