feat: add support for custom wakatime api domain (#620)

* feat: add support for custom wakatime api domain

* Update src/fetchers/wakatime-fetcher.js

* Update src/fetchers/wakatime-fetcher.js

Co-authored-by: 춤추는망고 <ensia96@gmail.com>

Co-authored-by: Nathan Chu <63111210+nthnchu@users.noreply.github.com>
Co-authored-by: 춤추는망고 <ensia96@gmail.com>
This commit is contained in:
Nathan Chu 2021-01-27 02:11:21 -05:00 committed by GitHub
parent 72f94ad77b
commit c1a88baad4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View File

@ -25,6 +25,7 @@ module.exports = async (req, res) => {
custom_title,
locale,
layout,
api_domain,
} = req.query;
res.setHeader("Content-Type", "image/svg+xml");
@ -34,7 +35,7 @@ module.exports = async (req, res) => {
}
try {
const last7Days = await fetchLast7Days({ username });
const last7Days = await fetchLast7Days({ username, api_domain });
let cacheSeconds = clampValue(
parseInt(cache_seconds || CONSTANTS.TWO_HOURS, 10),

View File

@ -1,14 +1,16 @@
const axios = require("axios");
const fetchLast7Days = async ({ username }) => {
const fetchLast7Days = async ({ username, api_domain }) => {
try {
const { data } = await axios.get(
`https://wakatime.com/api/v1/users/${username}/stats/last_7_days?is_including_today=true`,
`https://${
api_domain ? api_domain.replace(/[^a-z-.0-9]/gi, "") : "wakatime.com"
}/api/v1/users/${username}/stats/last_7_days?is_including_today=true`,
);
return data.data;
} catch (err) {
if (err.response.status === 404) {
if (err.response.status < 200 || err.response.status > 299) {
throw new Error(
"Wakatime user not found, make sure you have a wakatime profile",
);