node-firewalla
Version:
Package to talk your firewalla box & API
41 lines (40 loc) • 1.14 kB
JavaScript
import fetch from "node-fetch";
export class Networker {
baseUrl;
authToken;
baseHeaders = {};
constructor(baseUrl) {
this.baseUrl = baseUrl;
}
setAuth(token) {
this.authToken = token;
}
addHeader(key, value) {
this.baseHeaders[key] = value;
}
async authPostRelative(endpoint, body) {
return this.authPost(this.baseUrl + endpoint, body);
}
async authPost(url, body) {
return fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${this.authToken}`,
"Content-Type": "application/json",
...this.baseHeaders,
},
body: JSON.stringify(body)
}).then(r => r.json());
}
async authGetRelative(endpoint) {
return this.authGet(this.baseUrl + endpoint);
}
async authGet(url) {
return fetch(url, {
headers: {
"Authorization": `Bearer ${this.authToken}`,
...this.baseHeaders,
},
}).then(r => r.json());
}
}