From 2d2781bbdcb7eb5ca78e1c202a0036ad16778dac Mon Sep 17 00:00:00 2001 From: Varun Raj Date: Wed, 4 Sep 2024 19:56:31 +0530 Subject: [PATCH] fix: proxy default header fix Signed-off-by: Varun Raj --- src/helpers/user.helper.ts | 2 +- src/pages/api/immich-proxy/asset/video/[id].ts | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/helpers/user.helper.ts b/src/helpers/user.helper.ts index 2d86ef3..fe805fd 100644 --- a/src/helpers/user.helper.ts +++ b/src/helpers/user.helper.ts @@ -9,7 +9,7 @@ export const getUserHeaders = (user: IUser, otherHeaders?: { 'x-api-key'?: string; 'Authorization'?: string } = { - 'Content-Type': 'application/octet-stream', + 'Content-Type': 'application/json', } if (user.isUsingAPIKey) { headers['x-api-key'] = ENV.IMMICH_API_KEY diff --git a/src/pages/api/immich-proxy/asset/video/[id].ts b/src/pages/api/immich-proxy/asset/video/[id].ts index 66c475d..bdc5031 100644 --- a/src/pages/api/immich-proxy/asset/video/[id].ts +++ b/src/pages/api/immich-proxy/asset/video/[id].ts @@ -1,6 +1,8 @@ // pages/api/proxy.js import { ENV } from '@/config/environment'; +import { getCurrentUser } from '@/handlers/serverUtils/user.utils'; +import { getUserHeaders } from '@/helpers/user.helper'; import { NextApiRequest, NextApiResponse } from 'next' export const config = { @@ -17,14 +19,17 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const { id } = req.query; const targetUrl = `${ENV.IMMICH_URL}/api/assets/${id}/original`; + const user = await getCurrentUser(req); + if (!user) { + return res.status(403).json({ message: 'Unauthorized' }) + } try { // Forward the request to the target API const response = await fetch(targetUrl, { method: 'GET', - headers: { + headers: getUserHeaders(user, { 'Content-Type': 'application/octet-stream', - 'x-api-key': ENV.IMMICH_API_KEY, - }, + }), }) if (!response.ok) {