// Pull data from the http request, stick it in a channel and close the request. // We don't do any validation on the data. Always respond with 200. func recvLogs(w http.ResponseWriter, r *http.Request, recv *receiver.Receiver) { defer utils.MeasureT("http-receiver", time.Now()) if r.Method != "POST" { http.Error(w, "Invalid Request", 400) return } token, err := utils.ParseToken(r) if err != nil { http.Error(w, "Invalid Request", 400) return } b, err := ioutil.ReadAll(r.Body) r.Body.Close() if err != nil { http.Error(w, "Invalid Request", 400) return } recv.Receive(token, b) }
// Pull data from the http request, stick it in a channel and close the request. // We don't do any validation on the data. Always respond with 200. func recvLogs(w http.ResponseWriter, r *http.Request, recv *receiver.Receiver) { defer utils.MeasureT("http-receiver", time.Now()) if r.Method != "POST" { http.Error(w, "Invalid Request", 400) return } user, pass, err := utils.ParseAuth(r) if err != nil { fmt.Printf("measure.failed-auth erro=%s user=%s pass=%s user-agent=%s token=%s client=%s\n", err, user, pass, r.Header.Get("User-Agent"), r.Header.Get("Logplex-Drain-Token"), r.Header.Get("X-Forwarded-For")) http.Error(w, "Invalid Request", 400) return } b, err := ioutil.ReadAll(r.Body) r.Body.Close() if err != nil { http.Error(w, "Invalid Request", 400) return } recv.Receive(user, pass, b, r.URL.Query()) }