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" }
})
|