CenterForDigitalHumanities / CenterForDigitalHumanities/rerum_server_nodejs

`Content-Type` Header Processing

Ouverte
#175 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
JavaScript
Étoiles
3
Forks
6
Merge moyen
1 h 25 min
PR mergées (30 j)
3

Description

The bug is that RERUM will create an empty object in the following scenario.

![image](https://github.com/CenterForDigitalHumanities/rerum_server_nodejs/assets/3287006/0d15ac98-c984-4875-b256-6fdb090bed13)

> Note: If you do not omit the 'Content-Type' header from this request, RERUM correctly responds with a 400 and a good message.

When a request to `/create` (and likely others) happens and the request does not contain "Content-Type: application/json" but the body is a valid string or empty, RERUM processes the request and creates an empty object in the database. It responds 201 with that empty object as JSON in the body, and client applications receive the 201 with the empty object.

When a request to /create, any of the update-y endpoints, or /query comes in, it MUST contain the 'Content-Type' header, the value for the header has to a supported JSON type (application/json), the body MUST NOT be empty and MUST contain valid JSON with at least on key:value pair.

If any of these conditions are not met, RERUM should respond 400 - Bad Request with as detailed of a message as is useful.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Suivez les gestionnaires de requêtes pour /create, les endpoints update-y et /query, puis examinez comment Content-Type et les corps des requêtes sont analysés. Vérifiez le comportement avec des requêtes auxquelles l’en-tête manque, qui utilisent des types JSON non pris en charge ou qui contiennent des corps vides ou invalides ; le travail est considéré comme terminé lorsque chaque cas invalide renvoie 400 avec un message utile et que les requêtes JSON valides continuent de réussir sans créer d’objets vides.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
api, backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.