Skip to content

Commit

Permalink
Update how the node SDK handles self signed requests
Browse files Browse the repository at this point in the history
The NODE_TLS_REJECT_UNAUTHORIZED env variable will disable SSL checks
for all requests. This PR changes the node SDK to only disable SSL
checks for Appwrite related requests by passing an option to axios.
  • Loading branch information
stnguyen90 committed Oct 6, 2023
1 parent 2069238 commit fe8c8db
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions templates/node/lib/client.js.twig
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const os = require('os');
const URL = require('url').URL;
const https = require("https");
const axios = require('axios');
const FormData = require('form-data');
const {{spec.title | caseUcfirst}}Exception = require('./exception.js');
Expand Down Expand Up @@ -81,11 +82,6 @@ class Client {
}

async call(method, path = '', headers = {}, params = {}, responseType = 'json') {
if(this.selfSigned) { // Allow self signed requests
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
}


headers = Object.assign({}, this.headers, headers);

let contentType = headers['content-type'].toLowerCase();
Expand Down Expand Up @@ -125,6 +121,10 @@ class Client {
json: (contentType.startsWith('application/json')),
responseType: responseType
};
if (this.selfSigned) {
// Allow self signed requests
options.httpsAgent = new https.Agent({ rejectUnauthorized: false });
}
try {
let response = await axios(options);
return response.data;
Expand Down

0 comments on commit fe8c8db

Please sign in to comment.