mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2025-01-10 07:57:23 +03:00
querylog: timeout revert
This commit is contained in:
parent
c43053e7d2
commit
e695fd9885
1 changed files with 4 additions and 23 deletions
|
@ -99,33 +99,14 @@ func (l *queryLog) handleQueryLog(w http.ResponseWriter, r *http.Request) {
|
||||||
_ = aghhttp.WriteJSONResponse(w, r, resp)
|
_ = aghhttp.WriteJSONResponse(w, r, resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
// exportChunkSize is a size of one search-flush iteration for query log export.
|
||||||
// exportChunkSize is a size of one search-flush iteration for query log
|
|
||||||
// export.
|
|
||||||
//
|
//
|
||||||
// TODO(a.meshkov): Consider making configurable.
|
// TODO(a.meshkov): Consider making configurable.
|
||||||
exportChunkSize = 500
|
const exportChunkSize = 500
|
||||||
|
|
||||||
// exportLogTimeout is a write timeout for query log export request.
|
|
||||||
//
|
|
||||||
// TODO(a.meshkov): Consider making configurable.
|
|
||||||
exportLogTimeout = 2 * time.Minute
|
|
||||||
)
|
|
||||||
|
|
||||||
// handleQueryLogExport is the handler for the GET /control/querylog/export
|
// handleQueryLogExport is the handler for the GET /control/querylog/export
|
||||||
// HTTP API.
|
// HTTP API.
|
||||||
func (l *queryLog) handleQueryLogExport(w http.ResponseWriter, r *http.Request) {
|
func (l *queryLog) handleQueryLogExport(w http.ResponseWriter, r *http.Request) {
|
||||||
rc := http.NewResponseController(w)
|
|
||||||
|
|
||||||
// Set a deadline for this request. Note that it could be more than server
|
|
||||||
// write timeout.
|
|
||||||
err := rc.SetWriteDeadline(time.Now().Add(exportLogTimeout))
|
|
||||||
if err != nil {
|
|
||||||
aghhttp.Error(r, w, http.StatusInternalServerError, "set timeout: %s", err)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
searchCriteria, err := parseSearchCriteria(r.URL.Query())
|
searchCriteria, err := parseSearchCriteria(r.URL.Query())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
aghhttp.Error(r, w, http.StatusBadRequest, "parsing params: %s", err)
|
aghhttp.Error(r, w, http.StatusBadRequest, "parsing params: %s", err)
|
||||||
|
|
Loading…
Reference in a new issue