fix portainer offline containers count

pull/25/head
Ben Phelps 2 years ago
parent 6df52660f0
commit 7647d8eb4e

@ -25,7 +25,7 @@ export default function Portainer({ service }) {
return await res.json(); return await res.json();
}; };
const { data: containersData, error: containersError } = useSWR(buildApiUrl(`docker/containers/json`), fetcher); const { data: containersData, error: containersError } = useSWR(buildApiUrl(`docker/containers/json?all=1`), fetcher);
if (containersError) { if (containersError) {
return <Widget error="Portainer API Error" />; return <Widget error="Portainer API Error" />;

@ -26,10 +26,7 @@ export default async function handler(req, res) {
rejectUnauthorized: false, rejectUnauthorized: false,
}); });
const [status, data] = await httpsRequest({ const [status, contentType, data] = await httpsRequest(url, {
hostname: url.hostname,
path: url.pathname,
port: url.port,
agent: httpsAgent, agent: httpsAgent,
method: req.method, method: req.method,
headers: headers, headers: headers,
@ -41,12 +38,10 @@ export default async function handler(req, res) {
}), }),
}); });
res.setHeader("Content-Type", contentType);
return res.status(status).send(data); return res.status(status).send(data);
} else { } else {
const [status, data] = await httpRequest({ const [status, contentType, data] = await httpRequest(url, {
hostname: url.hostname,
path: url.pathname,
port: url.port,
method: req.method, method: req.method,
headers: headers, headers: headers,
body: body:
@ -57,6 +52,7 @@ export default async function handler(req, res) {
}), }),
}); });
res.setHeader("Content-Type", contentType);
return res.status(status).send(data); return res.status(status).send(data);
} }
} }

@ -1,9 +1,9 @@
import https from "https"; import https from "https";
import http from "http"; import http from "http";
export function httpsRequest(params) { export function httpsRequest(url, params) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var request = https.request(params, function (response) { var request = https.request(url, params, function (response) {
let data = ""; let data = "";
response.on("data", (chunk) => { response.on("data", (chunk) => {
@ -11,7 +11,7 @@ export function httpsRequest(params) {
}); });
response.on("end", () => { response.on("end", () => {
resolve([response.statusCode, data]); resolve([response.statusCode, response.headers["content-type"], data]);
}); });
}); });
@ -23,9 +23,9 @@ export function httpsRequest(params) {
}); });
} }
export function httpRequest(params) { export function httpRequest(url, params) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var request = http.request(params, function (response) { var request = http.request(url, params, function (response) {
let data = ""; let data = "";
response.on("data", (chunk) => { response.on("data", (chunk) => {
@ -33,7 +33,7 @@ export function httpRequest(params) {
}); });
response.on("end", () => { response.on("end", () => {
resolve([response.statusCode, data]); resolve([response.statusCode, response.headers["content-type"], data]);
}); });
}); });

Loading…
Cancel
Save