@ikenxuan/amagi 4.4.7 → 4.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1736,17 +1736,21 @@ var CustomLogger = class {
1736
1736
  }
1737
1737
  };
1738
1738
  var logger = new CustomLogger("default");
1739
- var logMiddleware = (req, res, next) => {
1740
- const startTime = Date.now();
1741
- const url = req.url;
1742
- const method = req.method;
1743
- const clientIP = req.headers["x-forwarded-for"] || req.socket.remoteAddress;
1744
- res.on("finish", () => {
1745
- const responseTime = Date.now() - startTime;
1746
- const statusCode = res.statusCode;
1747
- logger.info(`[${method}] ${url} (Status: ${statusCode}, Time: ${responseTime}ms, Client: ${clientIP})`);
1748
- });
1749
- next();
1739
+ var logMiddleware = (pathsToLog) => {
1740
+ return (req, res, next) => {
1741
+ if (!pathsToLog || pathsToLog.some((path) => req.url.startsWith(path))) {
1742
+ const startTime = Date.now();
1743
+ const url = req.url;
1744
+ const method = req.method;
1745
+ const clientIP = req.headers["x-forwarded-for"] || req.socket.remoteAddress;
1746
+ res.on("finish", () => {
1747
+ const responseTime = Date.now() - startTime;
1748
+ const statusCode = res.statusCode;
1749
+ logger.info(`[${method}] ${url} (Status: ${statusCode}, Time: ${responseTime}ms, Client: ${clientIP})`);
1750
+ });
1751
+ }
1752
+ next();
1753
+ };
1750
1754
  };
1751
1755
  var Networks = class {
1752
1756
  url;
@@ -1935,10 +1939,10 @@ var amagi = class {
1935
1939
  app.get("/docs", (_req, res) => {
1936
1940
  res.redirect(301, "https://amagi.apifox.cn");
1937
1941
  });
1938
- app.use("/api/kuaishou", registerKuaishouRoutes(this.kuaishou));
1942
+ app.use(logMiddleware(["/api/douyin", "/api/bilibili", "/api/kuaishou"]));
1939
1943
  app.use("/api/douyin", registerDouyinRoutes(this.douyin));
1940
1944
  app.use("/api/bilibili", registerBilibiliRoutes(this.bilibili));
1941
- app.use(logMiddleware);
1945
+ app.use("/api/kuaishou", registerKuaishouRoutes(this.kuaishou));
1942
1946
  app.listen(port, "::", () => {
1943
1947
  logger.mark(`Amagi server listening on ${logger.green(`http://localhost:${port}`)} ${logger.yellow("API docs: https://amagi.apifox.cn ")}`);
1944
1948
  });
@@ -1724,17 +1724,21 @@ var CustomLogger = class {
1724
1724
  }
1725
1725
  };
1726
1726
  var logger = new CustomLogger("default");
1727
- var logMiddleware = (req, res, next) => {
1728
- const startTime = Date.now();
1729
- const url = req.url;
1730
- const method = req.method;
1731
- const clientIP = req.headers["x-forwarded-for"] || req.socket.remoteAddress;
1732
- res.on("finish", () => {
1733
- const responseTime = Date.now() - startTime;
1734
- const statusCode = res.statusCode;
1735
- logger.info(`[${method}] ${url} (Status: ${statusCode}, Time: ${responseTime}ms, Client: ${clientIP})`);
1736
- });
1737
- next();
1727
+ var logMiddleware = (pathsToLog) => {
1728
+ return (req, res, next) => {
1729
+ if (!pathsToLog || pathsToLog.some((path) => req.url.startsWith(path))) {
1730
+ const startTime = Date.now();
1731
+ const url = req.url;
1732
+ const method = req.method;
1733
+ const clientIP = req.headers["x-forwarded-for"] || req.socket.remoteAddress;
1734
+ res.on("finish", () => {
1735
+ const responseTime = Date.now() - startTime;
1736
+ const statusCode = res.statusCode;
1737
+ logger.info(`[${method}] ${url} (Status: ${statusCode}, Time: ${responseTime}ms, Client: ${clientIP})`);
1738
+ });
1739
+ }
1740
+ next();
1741
+ };
1738
1742
  };
1739
1743
  var Networks = class {
1740
1744
  url;
@@ -1923,10 +1927,10 @@ var amagi = class {
1923
1927
  app.get("/docs", (_req, res) => {
1924
1928
  res.redirect(301, "https://amagi.apifox.cn");
1925
1929
  });
1926
- app.use("/api/kuaishou", registerKuaishouRoutes(this.kuaishou));
1930
+ app.use(logMiddleware(["/api/douyin", "/api/bilibili", "/api/kuaishou"]));
1927
1931
  app.use("/api/douyin", registerDouyinRoutes(this.douyin));
1928
1932
  app.use("/api/bilibili", registerBilibiliRoutes(this.bilibili));
1929
- app.use(logMiddleware);
1933
+ app.use("/api/kuaishou", registerKuaishouRoutes(this.kuaishou));
1930
1934
  app.listen(port, "::", () => {
1931
1935
  logger.mark(`Amagi server listening on ${logger.green(`http://localhost:${port}`)} ${logger.yellow("API docs: https://amagi.apifox.cn ")}`);
1932
1936
  });
@@ -13664,7 +13664,12 @@ declare class CustomLogger {
13664
13664
  }
13665
13665
  declare const logger: CustomLogger;
13666
13666
 
13667
- declare const logMiddleware: RequestHandler;
13667
+ /**
13668
+ * 创建一个日志中间件,用于记录特定请求的详细信息
13669
+ * @param pathsToLog 指定需要记录日志的请求路径数组如果未提供,则记录所有请求的日志
13670
+ * @returns
13671
+ */
13672
+ declare const logMiddleware: (pathsToLog?: string[]) => RequestHandler;
13668
13673
 
13669
13674
  interface HeadersObject {
13670
13675
  [key: string]: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikenxuan/amagi",
3
- "version": "4.4.7",
3
+ "version": "4.4.8",
4
4
  "description": "抖音、B站的 web 端相关数据接口基于 Node.js 的实现",
5
5
  "keywords": [
6
6
  "douyin",