Un flash n’a pas accès au réseau directement : il demande à l’application d’envoyer ses requêtes
avec flash.net. L’application applique alors des règles strictes, identiques pour tous les flashs.
Envoyer une requête
const response = await flash.net.get('https://api.exemple.fr/factures');
if (!response.ok) {
flash.ui.toast('Service indisponible', { level: 'error' });
return;
}
const factures = response.json();
await flash.net.post('https://api.exemple.fr/paiements', { facture: 42, montant: 18450 });
Un statut d’erreur (4xx, 5xx) est une réponse normale : vérifiez response.ok. Une
exception n’est levée que si la requête n’a pas pu aboutir (réseau, délai, règle non respectée).
Les règles
- Domaines déclarés uniquement. Les domaines sont fixés à la publication et font partie de la signature : toute autre adresse est refusée.
- HTTPS seulement, sur le port 443.
- Aucun cookie, et les en-têtes sensibles (
Authorization,Cookie…) sont refusés. - Redirections non suivies : le flash reçoit la réponse 3xx et décide.
- Réponses limitées à 5 Mio. Délai réglable de 1 à 120 secondes (
timeoutMs).
Ces règles protègent l’utilisateur : un flash ne peut ni l’espionner, ni envoyer ses données
à un serveur qu’il n’a pas déclaré. Les domaines d’un flash sont affichés sur sa fiche publique.
Envoyer des fichiers
Un fichier choisi par l’utilisateur (composant file) est désigné par son identifiant.
Joignez-le avec flash.net.form :
const { values } = await screen.next('envoyer');
await flash.net.post(
'https://api.exemple.fr/justificatifs',
flash.net.form({ dossier: '2026-117' }, { piece: values.justificatif.fileId }),
);