896c8bb9e5
Unified application CI and deployment / static-checks (push) Successful in 6s
Remote development preview source sync / sync-source (push) Successful in 7s
Unified application CI and deployment / static-checks (pull_request) Successful in 5s
python CI and deployment / static-checks (pull_request) Successful in 3s
Unified application CI and deployment / verify-and-release (push) Has been skipped
Unified application CI and deployment / verify-and-release (pull_request) Has been skipped
python CI and deployment / verify-and-deploy (pull_request) Has been skipped
15 lines
708 B
TypeScript
15 lines
708 B
TypeScript
import { readFile } from 'node:fs/promises';
|
|
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
|
|
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
if (process.env.PREVIEW_MODE !== 'true') return res.status(404).end();
|
|
if (req.method !== 'GET' && req.method !== 'HEAD') return res.status(405).end();
|
|
res.setHeader('Cache-Control', 'no-store');
|
|
try {
|
|
const status = JSON.parse(await readFile('/preview-status/status.json', 'utf8'));
|
|
return req.method === 'HEAD' ? res.status(200).end() : res.status(200).json({ ...status, mode: 'development' });
|
|
} catch {
|
|
return res.status(503).json({ error: 'Preview source has not synchronized yet' });
|
|
}
|
|
}
|