Skip to content

Commit

Permalink
fix(datasource-sql): add proxy configuration when computing ssl (#740)
Browse files Browse the repository at this point in the history
  • Loading branch information
Scra3 authored Jun 20, 2023
1 parent 39df03c commit 3ca8a5d
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions packages/datasource-sql/src/connection/connection-options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,17 @@ export default class ConnectionOptions {
return this.uri?.pathname?.slice(1) || this.sequelizeOptions.database;
}

private get plainConnectionOptions(): PlainConnectionOptions {
const options = { ...this.sequelizeOptions } as PlainConnectionOptions;

if (this.uri) options.uri = this.uri.toString();
if (this.proxyOptions) options.proxySocks = this.proxyOptions;
options.dialect = this.dialect;
options.sslMode = this.sslMode;

return options;
}

constructor(options: PlainConnectionOptionsOrUri, logger?: Logger) {
this.logger = logger;

Expand Down Expand Up @@ -115,11 +126,7 @@ export default class ConnectionOptions {
}

async buildPreprocessedOptions(): Promise<PlainConnectionOptions> {
const options = { ...this.sequelizeOptions } as PlainConnectionOptions;

if (this.uri) options.uri = this.uri.toString();
if (this.proxyOptions) options.proxySocks = this.proxyOptions;
options.dialect = this.dialect;
const options = this.plainConnectionOptions;
options.sslMode = await this.computeSslMode();

return options;
Expand Down Expand Up @@ -244,11 +251,7 @@ export default class ConnectionOptions {
try {
// eslint-disable-next-line no-await-in-loop
sequelize = await connect(
new ConnectionOptions({
uri: this.uri?.toString(),
sslMode,
...this.sequelizeOptions,
}),
new ConnectionOptions({ ...this.plainConnectionOptions, sslMode }),
);

return sslMode;
Expand Down

0 comments on commit 3ca8a5d

Please sign in to comment.