Skip to content

Commit 0e39b26

Browse files
authored
Merge pull request #2838 from murgatroid99/grpc-js_node_12_fix
grpc-js: Use util.promisify instead of fs/promises for Node 12 compatibility
2 parents dce2272 + e907d19 commit 0e39b26

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

packages/grpc-js/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@grpc/grpc-js",
3-
"version": "1.12.1",
3+
"version": "1.12.2",
44
"description": "gRPC Library for Node - pure JS implementation",
55
"homepage": "https://grpc.io/",
66
"repository": "https://github.com/grpc/grpc-node/tree/master/packages/grpc-js",

packages/grpc-js/src/certificate-provider.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*
1616
*/
1717

18-
import * as fs from 'fs/promises';
18+
import * as fs from 'fs';
1919
import * as logging from './logging';
2020
import { LogVerbosity } from './constants';
21+
import { promisify } from 'util';
2122

2223
const TRACER_NAME = 'certificate_provider';
2324

@@ -56,6 +57,8 @@ export interface FileWatcherCertificateProviderConfig {
5657
refreshIntervalMs: number;
5758
}
5859

60+
const readFilePromise = promisify(fs.readFile);
61+
5962
export class FileWatcherCertificateProvider implements CertificateProvider {
6063
private refreshTimer: NodeJS.Timeout | null = null;
6164
private fileResultPromise: Promise<[PromiseSettledResult<Buffer>, PromiseSettledResult<Buffer>, PromiseSettledResult<Buffer>]> | null = null;
@@ -82,9 +85,9 @@ export class FileWatcherCertificateProvider implements CertificateProvider {
8285
return;
8386
}
8487
this.fileResultPromise = Promise.allSettled([
85-
this.config.certificateFile ? fs.readFile(this.config.certificateFile) : Promise.reject<Buffer>(),
86-
this.config.privateKeyFile ? fs.readFile(this.config.privateKeyFile) : Promise.reject<Buffer>(),
87-
this.config.caCertificateFile ? fs.readFile(this.config.caCertificateFile) : Promise.reject<Buffer>()
88+
this.config.certificateFile ? readFilePromise(this.config.certificateFile) : Promise.reject<Buffer>(),
89+
this.config.privateKeyFile ? readFilePromise(this.config.privateKeyFile) : Promise.reject<Buffer>(),
90+
this.config.caCertificateFile ? readFilePromise(this.config.caCertificateFile) : Promise.reject<Buffer>()
8891
]);
8992
this.fileResultPromise.then(([certificateResult, privateKeyResult, caCertificateResult]) => {
9093
if (!this.refreshTimer) {

0 commit comments

Comments
 (0)