Handle cookies on redirection (#3589)

* feat: Set and send cookies on redirection (louislam#3587).

* feat: Make proxy agents handle cookies

* Merge package-lock.json

* Merge package-lock.json

* Fix lint

---------

Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
This commit is contained in:
dakriy 2023-11-29 01:25:33 -08:00 committed by GitHub
parent b8bd17ddbd
commit 80efe9b831
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 69 additions and 15 deletions

View file

@ -1,4 +1,3 @@
const https = require("https");
const dayjs = require("dayjs");
const axios = require("axios");
const { Prometheus } = require("../prometheus");
@ -23,6 +22,8 @@ const jsonata = require("jsonata");
const jwt = require("jsonwebtoken");
const crypto = require("crypto");
const { UptimeCalculator } = require("../uptime-calculator");
const { CookieJar } = require("tough-cookie");
const { HttpsCookieAgent } = require("http-cookie-agent/http");
const rootCertificates = rootCertificatesFingerprints();
@ -507,7 +508,12 @@ class Monitor extends BeanModel {
}
if (!options.httpsAgent) {
options.httpsAgent = new https.Agent(httpsAgentOptions);
let jar = new CookieJar();
let httpsCookieAgentOptions = {
...httpsAgentOptions,
cookies: { jar }
};
options.httpsAgent = new HttpsCookieAgent(httpsCookieAgentOptions);
}
if (this.auth_method === "mtls") {