import type { NextApiRequest, NextApiResponse } from 'next'; import { createRideBusClient, parseRequest, RideBusError } from '@/lib/ridebus'; const ridebus = createRideBusClient(); export default async function departures( req: NextApiRequest, res: NextApiResponse ) { res.setHeader('Cache-Control', 'no-store'); if (req.method !== 'GET') { res.setHeader('Allow', 'GET'); return res.status(405).json({ error: 'method_not_allowed' }); } try { return res.status(200).json(await ridebus.get(parseRequest(req.query))); } catch (error) { const status = error instanceof RideBusError ? error.status : 502; // Never forward upstream responses or configuration details to the browser. return res.status(status).json({ error: 'departures_unavailable' }); } }