feat(nhentai): add random abstraction

このコミットが含まれているのは:
sinkaroid 2022-06-08 14:52:34 +07:00
コミット 0758b406e3
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: A7DF4E245FDD8159
2個のファイルの変更30行の追加0行の削除

28
src/controller/nhentai/nhentaiRandom.ts ノーマルファイル
ファイルの表示

@ -0,0 +1,28 @@
import { scrapeContent } from "../../scraper/nhentai/nhentaiGetController";
import c from "../../utils/options";
import { logger } from "../../utils/logger";
import { mock } from "../../utils/modifier";
import { getIdRandomNhentai } from "../../utils/modifier";
export async function randomNhentai(req: any, res: any, next: any) {
try {
let actualAPI;
if (!await mock(c.NHENTAI)) actualAPI = c.NHENTAI_IP;
else actualAPI = c.NHENTAI;
const id = await getIdRandomNhentai();
const url = `${actualAPI}/api/gallery/${id}`;
const data = await scrapeContent(url);
logger.info({
path: req.path,
query: req.query,
method: req.method,
ip: req.ip,
useragent: req.get("User-Agent")
});
return res.json(data);
} catch (err: any) {
next(Error(err.message));
}
}

ファイルの表示

@ -11,6 +11,7 @@ import { getSimplyhentai } from "../controller/simply-hentai/simply-hentaiGet";
import { getNhentai } from "../controller/nhentai/nhentaiGet";
import { searchNhentai } from "../controller/nhentai/nhentaiSearch";
import { relatedNhentai } from "../controller/nhentai/nhentaiRelated";
import { randomNhentai } from "../controller/nhentai/nhentaiRandom";
import { slow, limiter } from "../utils/limit-options";
function scrapeRoutes() {
@ -27,6 +28,7 @@ function scrapeRoutes() {
router.get("/nhentai/get", slow, limiter, getNhentai);
router.get("/nhentai/search", slow, limiter, searchNhentai);
router.get("/nhentai/related", slow, limiter, relatedNhentai);
router.get("/nhentai/random", slow, limiter, randomNhentai);
return router;
}