@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.
- package/dist/default/cjs/index.cjs +17 -13
- package/dist/default/esm/index.mjs +17 -13
- package/dist/default/index.d.ts +6 -1
- package/package.json +1 -1
|
@@ -1736,17 +1736,21 @@ var CustomLogger = class {
|
|
|
1736
1736
|
}
|
|
1737
1737
|
};
|
|
1738
1738
|
var logger = new CustomLogger("default");
|
|
1739
|
-
var logMiddleware = (
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
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/
|
|
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(
|
|
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 = (
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
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/
|
|
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(
|
|
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
|
});
|
package/dist/default/index.d.ts
CHANGED
|
@@ -13664,7 +13664,12 @@ declare class CustomLogger {
|
|
|
13664
13664
|
}
|
|
13665
13665
|
declare const logger: CustomLogger;
|
|
13666
13666
|
|
|
13667
|
-
|
|
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;
|