Sobes.tech
Senior

Proszę zaimplementować kod zgodnie z komentarzem w index.ts:18 Komentarz brzmi: Implementuj metodę POST z autoryzacją i obsługą błędów, ciało zgodne z interfejsem MessagesBody Zastąp komentarz własną implementacją. Optymalizuj pod kątem szybkości. Nie badaj ani nie sprawdzaj nadmiernie swojej pracy poza tym, co jest absolutnie konieczne do zaimplementowania komentarza. Po zakończeniu usuń komentarz.

sobes.tech AI

Odpowiedź od AI

typescript import { NextApiRequest, NextApiResponse } from 'next';

interface MessagesBody { message: string; userId: string; }

export default async function handler(req: NextApiRequest, res: NextApiResponse) { if (req.method !== 'POST') { res.status(405).json({ error: 'Method Not Allowed' }); return; }

// Простая проверка авторизации через заголовок Authorization const authHeader = req.headers.authorization; if (!authHeader || authHeader !== 'Bearer your-secret-token') { res.status(401).json({ error: 'Unauthorized' }); return; }

try { const body: MessagesBody = req.body;

// Проверка минимальных требований к телу запроса
if (!body || typeof body.message !== 'string' || typeof body.userId !== 'string') {
  res.status(400).json({ error: 'Invalid request body' });
  return;
}

// Здесь можно добавить логику обработки сообщения

res.status(200).json({ success: true, received: body });

} catch (error) { res.status(500).json({ error: 'Internal Server Error' }); } }