summary refs log tree commit diff
path: root/api/src
diff options
context:
space:
mode:
Diffstat (limited to 'api/src')
-rw-r--r--api/src/middlewares/TestClient.ts3
-rw-r--r--api/src/routes/gifs/search.ts4
-rw-r--r--api/src/routes/gifs/trending-gifs.ts4
-rw-r--r--api/src/routes/gifs/trending.ts5
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" }
 		})