yt-dlx
Version:
Effortless Audio-Video Downloader And Streamer!
253 lines • 9.98 kB
JavaScript
"use strict";
// import YouTubeDLX from "..";
// import express, { Request, Response } from "express";
// import * as path from "path";
// import { Readable } from "stream";
// const Test_Server = express();
// Test_Server.use(express.json());
// async function handleYouTubeDLXRequest<T extends object>(
// promiseFn: (options: any) => Promise<T>,
// options: any,
// res: Response,
// streamHandler?: (streamData: Readable, res: Response) => void,
// metadataHandler?: (metadata: any, res: Response) => void,
// ) {
// try {
// const result = await promiseFn(options);
// if (options.stream && streamHandler && "stream" in result && result.stream instanceof Readable) {
// streamHandler(result.stream, res);
// } else if (options.metadata && metadataHandler && "metadata" in result) {
// metadataHandler(result.metadata, res);
// } else {
// res.json(result);
// }
// } catch (error) {
// res.status(500).json({ error: error instanceof Error ? error.message : "An unknown error occurred" });
// }
// }
// Test_Server.get("/api/Account/HomeFeed", async (req: Request, res: Response) => {
// const options = { cookies: req.query.YouTubeDLX_COOKIES, verbose: req.query.verbose, sort: req.query.sort };
// await handleYouTubeDLXRequest(YouTubeDLX.Account.HomeFeed, options, res);
// });
// Test_Server.get("/api/Account/SubscriptionsFeed", async (req: Request, res: Response) => {
// const options = { cookies: req.query.YouTubeDLX_COOKIES, verbose: req.query.verbose };
// await handleYouTubeDLXRequest(YouTubeDLX.Account.SubscriptionsFeed, options, res);
// });
// Test_Server.get("/api/Account/UnseenNotifications", async (req: Request, res: Response) => {
// const options = { cookies: req.query.YouTubeDLX_COOKIES, verbose: req.query.verbose };
// await handleYouTubeDLXRequest(YouTubeDLX.Account.UnseenNotifications, options, res);
// });
// Test_Server.get("/api/Account/History", async (req: Request, res: Response) => {
// const options = { cookies: req.query.YouTubeDLX_COOKIES, verbose: req.query.verbose, sort: req.query.sort };
// await handleYouTubeDLXRequest(YouTubeDLX.Account.History, options, res);
// });
// Test_Server.get("/api/Search/Channel/Single", async (req: Request, res: Response) => {
// const options = { channelLink: req.query.channelLink };
// await handleYouTubeDLXRequest(YouTubeDLX.Search.Channel.Single, options, res);
// });
// Test_Server.get("/api/Search/Channel/Multiple", async (req: Request, res: Response) => {
// const options = { query: req.query.query };
// await handleYouTubeDLXRequest(YouTubeDLX.Search.Channel.Multiple, options, res);
// });
// Test_Server.get("/api/Search/Video/Single", async (req: Request, res: Response) => {
// const options = { videoLink: req.query.videoLink };
// await handleYouTubeDLXRequest(YouTubeDLX.Search.Video.Single, options, res);
// });
// Test_Server.get("/api/Search/Video/Multiple", async (req: Request, res: Response) => {
// const options = { query: req.query.query };
// await handleYouTubeDLXRequest(YouTubeDLX.Search.Video.Multiple, options, res);
// });
// Test_Server.get("/api/Search/Playlist/Single", async (req: Request, res: Response) => {
// const options = { playlistLink: req.query.playlistLink };
// await handleYouTubeDLXRequest(YouTubeDLX.Search.Playlist.Single, options, res);
// });
// Test_Server.get("/api/Search/Playlist/Multiple", async (req: Request, res: Response) => {
// const options = { playlistLink: req.query.query };
// await handleYouTubeDLXRequest(YouTubeDLX.Search.Playlist.Multiple, options, res);
// });
// Test_Server.get("/api/Misc/System/Help", async (req: Request, res: Response) => {
// try {
// const helpUrl = await YouTubeDLX.Misc.System.Help();
// res.json({ helpUrl });
// } catch (error) {
// res.status(500).json({ error: error instanceof Error ? error.message : "An unknown error occurred" });
// }
// });
// Test_Server.get("/api/Misc/Video/Extract", async (req: Request, res: Response) => {
// const options = { query: req.query.query, verbose: req.query.verbose, useTor: req.query.useTor };
// await handleYouTubeDLXRequest(YouTubeDLX.Misc.Video.Extract, options, res);
// });
// Test_Server.get("/api/Misc/Video/Formats", async (req: Request, res: Response) => {
// const options = { query: req.query.query, verbose: req.query.verbose };
// await handleYouTubeDLXRequest(YouTubeDLX.Misc.Video.Formats, options, res);
// });
// Test_Server.get("/api/Misc/Video/Comments", async (req: Request, res: Response) => {
// const options = { query: req.query.query, verbose: req.query.verbose };
// await handleYouTubeDLXRequest(YouTubeDLX.Misc.Video.Comments, options, res);
// });
// Test_Server.get("/api/Misc/Video/Transcript", async (req: Request, res: Response) => {
// const options = { videoLink: req.query.videoLink, verbose: req.query.verbose };
// await handleYouTubeDLXRequest(YouTubeDLX.Misc.Video.Transcript, options, res);
// });
// Test_Server.get("/api/Misc/Video/Related", async (req: Request, res: Response) => {
// const options = { videoId: req.query.videoId };
// await handleYouTubeDLXRequest(YouTubeDLX.Misc.Video.Related, options, res);
// });
// Test_Server.get("/api/Video/Custom", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// resolution: req.query.resolution,
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Video.Custom,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Video/Highest", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Video.Highest,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Video/Lowest", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Video.Lowest,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Audio/Custom", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// resolution: req.query.resolution,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Audio.Custom,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Audio/Highest", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Audio.Highest,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Audio/Lowest", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Audio.Lowest,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Audio_Video/Custom", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// resolution: req.query.resolution,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Audio_Video.Custom,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Audio_Video/Highest", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Audio_Video.Highest,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.get("/api/Audio_Video/Lowest", async (req: Request, res: Response) => {
// const options = {
// query: req.query.query,
// output: req.query.output || path.resolve(process.cwd(), "./output"),
// filter: req.query.filter,
// stream: req.query.stream,
// verbose: req.query.verbose,
// metadata: req.query.metadata,
// };
// await handleYouTubeDLXRequest(
// YouTubeDLX.Audio_Video.Lowest,
// options,
// res,
// (streamData, res) => streamData.pipe(res),
// (metadata, res) => res.json(metadata),
// );
// });
// Test_Server.listen(3000, () => console.log(`Server running on port 3000`));
//# sourceMappingURL=express.spec.js.map