diff --git a/src/pages/api/erettsegi.ts b/src/pages/api/erettsegi.ts index 9aba86b..91964d6 100644 --- a/src/pages/api/erettsegi.ts +++ b/src/pages/api/erettsegi.ts @@ -74,9 +74,9 @@ export default function handler(req: NextApiRequest, res: NextApiResponse) { case 'inf': case 'infoism': case 'digkult': - flZipUrl = `${baseUrl}${prefix}${forras}_${shortev}${honap}_${feladat}.zip` + flZipUrl = `${proxiedUrl}${prefix}${forras}_${shortev}${honap}_${feladat}.zip` flPdfUrl = `${proxiedUrl}${prefix}_${shortev}${honap}_${feladat}.pdf` - utZipUrl = `${baseUrl}${prefix}${megoldas}_${shortev}${honap}_${utmutato}.zip` + utZipUrl = `${proxiedUrl}${prefix}${megoldas}_${shortev}${honap}_${utmutato}.zip` utPdfUrl = `${proxiedUrl}${prefix}_${shortev}${honap}_${utmutato}.pdf` break default: diff --git a/src/pages/api/proxy.ts b/src/pages/api/proxy.ts index 827b8b8..ca1fd52 100644 --- a/src/pages/api/proxy.ts +++ b/src/pages/api/proxy.ts @@ -21,16 +21,18 @@ export default async function handler( try { const response = await fetch(link, { method: 'GET' }) + const contentType = response.headers.get('content-type') - if (response.headers.get('content-type') !== 'application/pdf') { - return res.status(400).json({ error: 'Érvénytelen link' }) + if (contentType) { + const filename = link.split('/').pop() ?? 'download' + res.setHeader('Content-Disposition', `attachment; filename="${filename}"`) + res.setHeader('Content-Type', contentType) } if (response.ok) { - res.setHeader('Content-Type', 'application/pdf') const arrayBuffer: ArrayBuffer = await response.arrayBuffer() - const pdfBuffer: Buffer = Buffer.from(arrayBuffer) - res.send(pdfBuffer) + const buffer: Buffer = Buffer.from(arrayBuffer) + res.send(buffer) } else { res .status(response.status)