diff options
Diffstat (limited to 'api/src')
-rw-r--r-- | api/src/middlewares/TestClient.ts | 3 | ||||
-rw-r--r-- | api/src/routes/gifs/search.ts | 4 | ||||
-rw-r--r-- | api/src/routes/gifs/trending-gifs.ts | 4 | ||||
-rw-r--r-- | api/src/routes/gifs/trending.ts | 5 |
4 files changed, 16 insertions, 0 deletions
diff --git a/api/src/middlewares/TestClient.ts b/api/src/middlewares/TestClient.ts index 7db35285..b718bdab 100644 --- a/api/src/middlewares/TestClient.ts +++ b/api/src/middlewares/TestClient.ts @@ -2,9 +2,11 @@ import express, { Request, Response, Application } from "express"; import fs from "fs"; import path from "path"; import fetch, { Response as FetchResponse } from "node-fetch"; +import ProxyAgent from 'proxy-agent'; import { Config } from "@fosscord/util"; export default function TestClient(app: Application) { + const agent = new ProxyAgent(); const assetCache = new Map<string, { response: FetchResponse; buffer: Buffer }>(); const indexHTML = fs.readFileSync(path.join(__dirname, "..", "..", "client_test", "index.html"), { encoding: "utf8" }); @@ -31,6 +33,7 @@ export default function TestClient(app: Application) { const cache = assetCache.get(req.params.file); if (!cache) { response = await fetch(`https://discord.com/assets/${req.params.file}`, { + agent, // @ts-ignore headers: { ...req.headers diff --git a/api/src/routes/gifs/search.ts b/api/src/routes/gifs/search.ts index 45b3ddca..9ad7a592 100644 --- a/api/src/routes/gifs/search.ts +++ b/api/src/routes/gifs/search.ts @@ -1,5 +1,6 @@ import { Router, Response, Request } from "express"; import fetch from "node-fetch"; +import ProxyAgent from 'proxy-agent'; import { route } from "@fosscord/api"; import { getGifApiKey, parseGifResult } from "./trending"; @@ -10,8 +11,11 @@ router.get("/", route({}), async (req: Request, res: Response) => { const { q, media_format, locale } = req.query; const apiKey = getGifApiKey(); + + const agent = new ProxyAgent(); const response = await fetch(`https://g.tenor.com/v1/search?q=${q}&media_format=${media_format}&locale=${locale}&key=${apiKey}`, { + agent, method: "get", headers: { "Content-Type": "application/json" } }); diff --git a/api/src/routes/gifs/trending-gifs.ts b/api/src/routes/gifs/trending-gifs.ts index b5f87222..6d97bf7c 100644 --- a/api/src/routes/gifs/trending-gifs.ts +++ b/api/src/routes/gifs/trending-gifs.ts @@ -1,5 +1,6 @@ import { Router, Response, Request } from "express"; import fetch from "node-fetch"; +import ProxyAgent from 'proxy-agent'; import { route } from "@fosscord/api"; import { getGifApiKey, parseGifResult } from "./trending"; @@ -10,8 +11,11 @@ router.get("/", route({}), async (req: Request, res: Response) => { const { media_format, locale } = req.query; const apiKey = getGifApiKey(); + + const agent = new ProxyAgent(); const response = await fetch(`https://g.tenor.com/v1/trending?media_format=${media_format}&locale=${locale}&key=${apiKey}`, { + agent, method: "get", headers: { "Content-Type": "application/json" } }); diff --git a/api/src/routes/gifs/trending.ts b/api/src/routes/gifs/trending.ts index 7ee9337e..c81b4c08 100644 --- a/api/src/routes/gifs/trending.ts +++ b/api/src/routes/gifs/trending.ts @@ -1,5 +1,6 @@ import { Router, Response, Request } from "express"; import fetch from "node-fetch"; +import ProxyAgent from 'proxy-agent'; import { route } from "@fosscord/api"; import { Config } from "@fosscord/util"; import { HTTPError } from "lambert-server"; @@ -33,13 +34,17 @@ router.get("/", route({}), async (req: Request, res: Response) => { const { media_format, locale } = req.query; const apiKey = getGifApiKey(); + + const agent = new ProxyAgent(); const [responseSource, trendGifSource] = await Promise.all([ fetch(`https://g.tenor.com/v1/categories?locale=${locale}&key=${apiKey}`, { + agent, method: "get", headers: { "Content-Type": "application/json" } }), fetch(`https://g.tenor.com/v1/trending?locale=${locale}&key=${apiKey}`, { + agent, method: "get", headers: { "Content-Type": "application/json" } }) |