graphql: add query timeout (#26116)

This PR adds a 60 second timeout to graphql queries.
This commit is contained in:
Ahmet Avci
2022-11-08 13:14:14 +01:00
committed by GitHub
parent 913973436b
commit ee9ff06469
+6 -1
View File
@@ -17,8 +17,10 @@
package graphql
import (
"context"
"encoding/json"
"net/http"
"time"
"github.com/ethereum/go-ethereum/eth/filters"
"github.com/ethereum/go-ethereum/internal/ethapi"
@@ -41,7 +43,10 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
return
}
response := h.Schema.Exec(r.Context(), params.Query, params.OperationName, params.Variables)
ctx, cancel := context.WithTimeout(r.Context(), 60*time.Second)
defer cancel()
response := h.Schema.Exec(ctx, params.Query, params.OperationName, params.Variables)
responseJSON, err := json.Marshal(response)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)