Je pensais que cela pourrait être utile pour les autres. Savoir utiliser les expressions régulières est utile, les enfants. Restez à l'école.
Édition: Je l'ai transformé en une fonction pratique!
let specificStatusCodeMappings = {
'1000': 'Fermeture normale',
'1001': 'Départ',
'1002': 'Erreur de protocole',
'1003': 'Données non prises en charge',
'1004': '(Pour le futur)',
'1005': 'Aucun statut reçu',
'1006': 'Fermeture anormale',
'1007': 'Données de charge utile de trame non valides',
'1008': 'Violation de politique',
'1009': 'Message trop long',
'1010': 'Extension manquante',
'1011': 'Erreur interne',
'1012': 'Redémarrage du service',
'1013': 'Réessayez plus tard',
'1014': 'Passerelle incorrecte',
'1015': 'Poignée de main TLS'
};
function getStatusCodeString(code) {
if (code >= 0 && code <= 999) {
return '(Inutilisé)';
} else if (code >= 1016) {
if (code <= 1999) {
return '(Pour standard WebSocket)';
} else if (code <= 2999) {
return '(Pour les extensions WebSocket)';
} else if (code <= 3999) {
return '(Pour les bibliothèques et les frameworks)';
} else if (code <= 4999) {
return '(Pour les applications)';
}
}
if (typeof(specificStatusCodeMappings[code]) !== 'undefined') {
return specificStatusCodeMappings[code];
}
return '(Inconnu)';
}
Utilisation:
getStatusCodeString(1006); //'Fermeture anormale'
{
'0-999': '(Inutilisé)',
'1016-1999': '(Pour standard WebSocket)',
'2000-2999': '(Pour les extensions WebSocket)',
'3000-3999': '(Pour les bibliothèques et les frameworks)',
'4000-4999': '(Pour les applications)'
}
{
'1000': 'Fermeture normale',
'1001': 'Départ',
'1002': 'Erreur de protocole',
'1003': 'Données non prises en charge',
'1004': '(Pour le futur)',
'1005': 'Aucun statut reçu',
'1006': 'Fermeture anormale',
'1007': 'Données de charge utile de trame non valides',
'1008': 'Violation de politique',
'1009': 'Message trop long',
'1010': 'Extension manquante',
'1011': 'Erreur interne',
'1012': 'Redémarrage du service',
'1013': 'Réessayez plus tard',
'1014': 'Passerelle incorrecte',
'1015': 'Poignée de main TLS'
}
Source (avec de légères modifications pour la concision): https://developer.mozilla.org/fr/docs/Web/API/CloseEvent#Codes_de_statut