File size: 704 Bytes
31d949e 65d87c5 30f44e6 65d87c5 30f44e6 31d949e 65d87c5 30f44e6 65d87c5 30f44e6 31d949e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import { NextApiRequest, NextApiResponse } from "next";
import { load } from 'cheerio';
import axios from 'axios';
import { HFRes } from "@/types";
async function get_file_list(base: string, dir: string) {
const html = (
await axios.get(base + "/" + dir)
).data;
const $ = load(html);
const res = $("[data-target=ViewerIndexTreeList]").attr(
"data-props"
) as string;
return JSON.parse(res) as HFRes;
}
export default async function handler(
request: NextApiRequest,
response: NextApiResponse
) {
const repo = request.query['repo'] as string;
const path = request.query['path'] as string;
return response.status(200).json(await get_file_list(
repo,
path,
));
}
|