Skip to content

API Exit Preview

API Exit Preview

Documentation technique

Type de ressource : Route Astro (Endpoint API)
Fichier source : src/pages/api/exit-preview.ts
Statut : Actif

1. Vue d’ensemble

1.1. Description

Endpoint API pour désactiver le mode preview Sanity. Supprime le cookie sanity-preview et redirige vers la page /welcome. Utilisé pour quitter le mode preview.

1.2. Objectif

  • Désactiver le mode preview
  • Supprimer le cookie sanity-preview
  • Rediriger vers la page welcome

1.3. Caractéristiques

Propriété Valeur
URL publique /api/exit-preview
Mode de rendu SSR
Type Endpoint API (Redirect)
Méthode HTTP GET
Authentification requise Non
Cache No-store

2. Architecture et flux

[Requête utilisateur]
│
▼
[Endpoint /api/exit-preview]
│ • Suppression du cookie sanity-preview
▼
[Redirect (307)]
│
▼
[Page /welcome]
│ • Rendu avec perspective published

2.2. Composants impliqués

Composant Rôle Couche
api/exit-preview.ts Définition de l’endpoint L2 (Astro)
Pages avec preview Consommatrices du cookie L2 (Astro)

3. Implémentation

3.1. Code de l’endpoint

import type { APIRoute } from 'astro';
export const prerender = false;
export const GET: APIRoute = async ({ cookies, redirect }) => {
// Suppression du cookie de preview
cookies.delete('sanity-preview', {
path: '/',
});
return redirect('/welcome', 307);
};

4. Données et requêtes GROQ

Aucune requête GROQ n’est utilisée dans cet endpoint.

5. Paramètres et validation

5.1. Query strings

Aucune query string n’est utilisée.

5.2. Gestion des erreurs

Code HTTP Condition Réponse
307 Succès Redirect vers /welcome

6. Stratégie de cache

6.1. En-têtes de cache

Mode Cache-Control Rationale
API (redirect) Non configuré À configurer (no-store recommandé)

6.2. Implémentation dans l’endpoint

Non implémenté - pas de headers de cache explicites.

7. SEO et métadonnées

Non applicable (endpoint API).

8. Composants UI utilisés

Aucun composant UI n’est utilisé (endpoint API).

9. Sécurité

9.1. Accès et authentification

Condition Comportement
Accès public Endpoint accessible sans authentification

9.2. Validation des entrées

Non applicable (pas de paramètres d’entrée).

9.3. En-têtes de sécurité

Non implémenté dans cet endpoint (à configurer via Middleware Cloudflare).

10. Débogage et troubleshooting

10.1. Problèmes courants

Symptôme Cause probable Solution
Cookie non supprimé Erreur de configuration Vérifier les options du cookie

10.2. Logs et monitoring

Terminal window
# Logs de développement
npm run dev
# Logs Cloudflare (production)
wrangler tail

10.3. Tests manuels

Terminal window
# Test de l'endpoint en local
curl -I http://localhost:4321/api/exit-preview

11. Bonnes pratiques

11.1. Architecture

  • ✅ Suppression sécurisée du cookie
  • ✅ Redirect 307 (temporary)

11.2. Performance

  • ✅ Pas de traitement lourd

11.3. Maintenance

  • ✅ Vérifier que le cookie est bien supprimé

12. Évolutions et roadmap

12.1. Améliorations planifiées

  • Configuration des headers de cache (no-store)

12.2. Limitations connues

  • ❌ Headers de cache non configurés

13. Ressources liées

  • Documentation Astro : Endpoints
  • Fichiers concernés :
    • src/pages/api/exit-preview.ts
    • src/pages/api/preview.ts

14. Historique des modifications

Date Version Description Auteur
2026-09-15 1.0 Création initiale Devin
Switch to normal mode

Contents