mirror of
https://github.com/joelwmale/webhook-action.git
synced 2026-09-06 17:46:16 +08:00
add ability to call self-signed or invalid certificate clients
This commit is contained in:
+9
-3
@@ -1,14 +1,15 @@
|
||||
const fetch = require('node-fetch');
|
||||
var https = require('https');
|
||||
|
||||
class Http {
|
||||
make(url: string, headers: string|null, body: string|null): Promise<any> {
|
||||
make(url: string, headers: string | null, body: string | null, ignoreCertificate: boolean | null): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
fetch(url, this.getOptions('post', headers, body))
|
||||
fetch(url, this.getOptions('post', headers, body, ignoreCertificate))
|
||||
.then((res: Response) => resolve(res));
|
||||
});
|
||||
}
|
||||
|
||||
getOptions(method: string, headers: string|null, body: string|null) {
|
||||
getOptions(method: string, headers: string | null, body: string | null, ignoreCertificate: boolean | null) {
|
||||
const options: any = {
|
||||
headers: headers ? JSON.parse(headers) : {},
|
||||
method
|
||||
@@ -19,6 +20,11 @@ class Http {
|
||||
options.body = body;
|
||||
}
|
||||
|
||||
if (ignoreCertificate) {
|
||||
// ignore the certificate by not rejecting authorized servers
|
||||
options.agent = new https.Agent({ rejectUnauthorized: false });
|
||||
}
|
||||
|
||||
// set these headers
|
||||
options.headers['content-type'] = 'application/json';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user