From 57a5994e12f0f38610114570e750bf07672db0a9 Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Mon, 1 May 2023 14:51:54 -0700 Subject: [PATCH] add the ability to read in cert --- languageserver/src/client.ts | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/languageserver/src/client.ts b/languageserver/src/client.ts index de54554..965ce16 100644 --- a/languageserver/src/client.ts +++ b/languageserver/src/client.ts @@ -1,8 +1,28 @@ import {Octokit} from "@octokit/rest"; +import { Agent } from "node:https"; +import { readFileSync } from "fs"; export function getClient(token: string, userAgent?: string): Octokit { - return new Octokit({ - auth: token, - userAgent: userAgent || `GitHub Actions Language Server` - }); + const selfSignedCertPath = process.env.NODE_EXTRA_CA_CERTS; + + // if NODE_EXTRA_CA_CERTS is set then use the self-signed cert to make the request + if (selfSignedCertPath) { + const httpsAgent = new Agent({ + ca: readFileSync(selfSignedCertPath) + }); + + return new Octokit({ + auth: token, + userAgent: userAgent || `GitHub Actions Language Server`, + request: { + agent: httpsAgent + }, + }); + + } else { + return new Octokit({ + auth: token, + userAgent: userAgent || `GitHub Actions Language Server` + }); + } }