diff options
author | Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> | 2021-10-09 14:46:59 +0200 |
---|---|---|
committer | Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> | 2021-10-09 14:46:59 +0200 |
commit | d5cdc9198cd6a03a94f1e92b664044ccff5f7aaf (patch) | |
tree | 4e9cba1401fd83fd36d803af0f950f508855ee65 /api/src/routes/channels | |
parent | Merge branch 'master' of http://github.com/fosscord/fosscord-server (diff) | |
download | server-d5cdc9198cd6a03a94f1e92b664044ccff5f7aaf.tar.xz |
:art: cdn now also works without setting a public endpoint
Diffstat (limited to 'api/src/routes/channels')
-rw-r--r-- | api/src/routes/channels/#channel_id/messages/index.ts | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts index 1f856b80..4ec31417 100644 --- a/api/src/routes/channels/#channel_id/messages/index.ts +++ b/api/src/routes/channels/#channel_id/messages/index.ts @@ -103,6 +103,7 @@ router.get("/", async (req: Request, res: Response) => { } const messages = await Message.find(query); + const endpoint = Config.get().cdn.endpointPublic; return res.json( messages.map((x) => { @@ -115,7 +116,9 @@ router.get("/", async (req: Request, res: Response) => { // @ts-ignore if (!x.author) x.author = { discriminator: "0000", username: "Deleted User", public_flags: "0", avatar: null }; x.attachments?.forEach((x) => { - x.proxy_url = `${Config.get().cdn.endpointPublic || "http://localhost:3003"}${new URL(x.proxy_url).pathname}`; + // dynamically set attachment proxy_url in case the endpoint changed + const uri = x.proxy_url.startsWith("http") ? x.proxy_url : `https://example.org${x.proxy_url}`; + x.proxy_url = `${endpoint == null ? "http://localhost:3003" : endpoint}${new URL(uri).pathname}`; }); return x; |