generate-link.ts 832 B

12345678910111213141516171819202122232425262728
  1. import type { APIRoute } from 'astro';
  2. import { generateShortLink } from '../../utils/shortlink';
  3. export const POST: APIRoute = async ({ request }) => {
  4. try {
  5. const { url } = await request.json();
  6. if (!url) {
  7. return new Response(JSON.stringify({ error: 'URL is required' }), {
  8. status: 400,
  9. headers: { 'Content-Type': 'application/json' }
  10. });
  11. }
  12. const shortLink = await generateShortLink(url);
  13. return new Response(JSON.stringify({ shortLink }), {
  14. status: 200,
  15. headers: { 'Content-Type': 'application/json' }
  16. });
  17. } catch (error) {
  18. console.error('Error generating short link:', error);
  19. return new Response(JSON.stringify({ error: 'Failed to generate short link' }), {
  20. status: 500,
  21. headers: { 'Content-Type': 'application/json' }
  22. });
  23. }
  24. };