Skip to content

Commit 78ccee3

Browse files
committed
#265 optional ssl params, wip on rejectUnauthorized
1 parent 3a25656 commit 78ccee3

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

src/client.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -748,9 +748,10 @@ export type ClientListenersParams = {
748748
}
749749

750750
export interface SSLConnectionParams {
751-
key: string
752-
cert: string
751+
key?: string
752+
cert?: string
753753
ca?: string
754+
rejectUnauthorized?: boolean
754755
}
755756

756757
export type AddressResolverParams =
@@ -770,7 +771,7 @@ export interface ClientParams {
770771
frameMax?: number
771772
heartbeat?: number
772773
listeners?: ClientListenersParams
773-
ssl?: SSLConnectionParams
774+
ssl?: SSLConnectionParams | boolean
774775
bufferSizeSettings?: BufferSizeSettings
775776
socketTimeout?: number
776777
addressResolver?: AddressResolverParams

src/connection.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,14 @@ import {
3939
} from "./util"
4040
import { Version, checkServerDeclaredVersions, getClientSupportedVersions } from "./versions"
4141
import { WaitingResponse } from "./waiting_response"
42-
import { ClientListenersParams, ClientParams, ClosingParams, QueryOffsetParams, StoreOffsetParams } from "./client"
42+
import {
43+
ClientListenersParams,
44+
ClientParams,
45+
ClosingParams,
46+
QueryOffsetParams,
47+
SSLConnectionParams,
48+
StoreOffsetParams,
49+
} from "./client"
4350
import { QueryPublisherResponse } from "./responses/query_publisher_response"
4451
import { QueryPublisherRequest } from "./requests/query_publisher_request"
4552
import { StoreOffsetRequest } from "./requests/store_offset_request"
@@ -134,10 +141,7 @@ export class Connection {
134141

135142
private createSocket() {
136143
const socket = this.params.ssl
137-
? tls.connect(this.params.port, this.params.hostname, {
138-
...this.params.ssl,
139-
rejectUnauthorized: false,
140-
})
144+
? tls.connect(this.params.port, this.params.hostname, buildSSLParams(this.params.ssl))
141145
: new Socket().connect(this.params.port, this.params.hostname)
142146
if (this.params.socketTimeout) socket.setTimeout(this.params.socketTimeout)
143147
return socket
@@ -634,3 +638,12 @@ export function partition<T>(arr: T[], predicate: (t: T) => boolean): [T[], T[]]
634638
function isSameStream({ metadataInfo }: { metadataInfo: MetadataInfo }): (e: ListenerEntry) => boolean {
635639
return (e) => e.stream === metadataInfo.stream
636640
}
641+
642+
function buildSSLParams(ssl: SSLConnectionParams | boolean) {
643+
if (ssl === true) return {}
644+
645+
return {
646+
...ssl,
647+
// rejectUnauthorized: false,
648+
}
649+
}

0 commit comments

Comments
 (0)