From 3e68cf2a1cfab8cb8cc7969c915fba5535c7d827 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 4 Dec 2022 22:55:05 +0800 Subject: [PATCH] Specify `Accept-Encoding` for axios request (Fix #2253) --- server/model/monitor.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/model/monitor.js b/server/model/monitor.js index 6b59a6b22..b6123382a 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -267,17 +267,22 @@ class Monitor extends BeanModel { log.debug("monitor", `[${this.name}] Prepare Options for axios`); + // Axios Options const options = { url: this.url, method: (this.method || "get").toLowerCase(), ...(this.body ? { data: JSON.parse(this.body) } : {}), timeout: this.interval * 1000 * 0.8, headers: { + // Fix #2253 + // Read more: https://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with-outstanding-read-data-remaining + "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "User-Agent": "Uptime-Kuma/" + version, ...(this.headers ? JSON.parse(this.headers) : {}), ...(basicAuthHeader), }, + decompress: true, maxRedirects: this.maxredirects, validateStatus: (status) => { return checkStatusCode(status, this.getAcceptedStatuscodes());