firebase / firebase/firebase-admin-node
[FR] Include raw HTTPS responses in errors
- Langage dominant
- TypeScript
- Étoiles
- 1.7k
- Forks
- 419
- Merge moyen
- 3 j 10 h
- PR mergées (30 j)
- 16
Description
**Is your feature request related to a problem? Please describe.**
I am converting APNs tokens to Firebase registration tokens ("FRTs") on-the-fly in a backend push service. Many converted FRTs fail with the error `messaging/invalid-argument`, with no clues of what's going on. Through some fairly time consuming debugging using the Google API Explorer I was able to get some more details on what was happening, but it's a frustrating process.
**Describe the solution you'd like**
Provide the raw HTTPS response in the thrown `FirebaseMessagingError`. The python SDK [has this](https://firebase.google.com/docs/reference/admin/python/firebase_admin.exceptions), so I think it makes sense that the Node one would too. It would be especially helpful in cases like this where the error code doesn't make much sense.
**Describe alternatives you've considered**
The only real option to attain more info would be to use the REST API directly, but that feels a little over the top.
**Additional context**
There's definitely a possibility that the server or app is misconfigured somehow. Fixing the error is not the point here, though!
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Start by tracing FirebaseMessagingError and the messaging/invalid-argument path in the Node.js SDK, then compare the Python SDK exception reference linked in the issue. Check how HTTPS responses are currently handled and identify the tests covering Firebase Messaging errors. Done means thrown errors expose the raw HTTPS response without obscuring the existing error code or message.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- firebase, nodejs, typescript
- Domaine
- api, backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100