Unverified Commit c1a88baa authored by Nathan Chu's avatar Nathan Chu Committed by GitHub
Browse files

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: default avatar춤추는망고 <ensia96@gmail.com>

Co-authored-by: default avatarNathan Chu <63111210+nthnchu@users.noreply.github.com>
Co-authored-by: default avatar춤추는망고 <ensia96@gmail.com>
parent 72f94ad7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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),
+5 −3
Original line number Diff line number Diff line
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",
      );