mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 10:28:22 +00:00
improve parsing
This commit is contained in:
+16
-12
@@ -35,17 +35,10 @@ export const initDbConnection = ({
|
|||||||
// Parse out ?sslmode=... from the connection URI if its not equal to "disable" and dbRootCert is defined
|
// Parse out ?sslmode=... from the connection URI if its not equal to "disable" and dbRootCert is defined
|
||||||
let modifiedDbConnectionUri = dbConnectionUri;
|
let modifiedDbConnectionUri = dbConnectionUri;
|
||||||
if (dbRootCert) {
|
if (dbRootCert) {
|
||||||
const parts = dbConnectionUri.split("?");
|
const url = new URL(dbConnectionUri);
|
||||||
const baseUrl = parts[0];
|
if (url.searchParams.has("sslmode") && url.searchParams.get("sslmode") !== "disable") {
|
||||||
const queryString = parts.length > 1 ? parts[1] : "";
|
url.searchParams.delete("sslmode");
|
||||||
|
modifiedDbConnectionUri = url.toString();
|
||||||
if (queryString) {
|
|
||||||
const params = new URLSearchParams(queryString);
|
|
||||||
if (params.has("sslmode") && params.get("sslmode") !== "disable") {
|
|
||||||
params.delete("sslmode");
|
|
||||||
const newQueryString = params.toString();
|
|
||||||
modifiedDbConnectionUri = baseUrl + (newQueryString ? `?${newQueryString}` : "");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,10 +69,21 @@ export const initDbConnection = ({
|
|||||||
|
|
||||||
readReplicaDbs = readReplicas.map((el) => {
|
readReplicaDbs = readReplicas.map((el) => {
|
||||||
const replicaDbCertificate = el.dbRootCert || dbRootCert;
|
const replicaDbCertificate = el.dbRootCert || dbRootCert;
|
||||||
|
|
||||||
|
// Parse out ?sslmode=... from the connection URI if its not equal to "disable" and dbRootCert is defined
|
||||||
|
let modifiedReadReplicaDbConnectionUri = el.dbConnectionUri;
|
||||||
|
if (replicaDbCertificate) {
|
||||||
|
const url = new URL(el.dbConnectionUri);
|
||||||
|
if (url.searchParams.has("sslmode") && url.searchParams.get("sslmode") !== "disable") {
|
||||||
|
url.searchParams.delete("sslmode");
|
||||||
|
modifiedReadReplicaDbConnectionUri = url.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return knex({
|
return knex({
|
||||||
client: "pg",
|
client: "pg",
|
||||||
connection: {
|
connection: {
|
||||||
connectionString: el.dbConnectionUri,
|
connectionString: modifiedReadReplicaDbConnectionUri,
|
||||||
ssl: replicaDbCertificate
|
ssl: replicaDbCertificate
|
||||||
? {
|
? {
|
||||||
rejectUnauthorized: true,
|
rejectUnauthorized: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user