Skip to content

Latest commit

 

History

History
48 lines (41 loc) · 3.09 KB

Response.md

File metadata and controls

48 lines (41 loc) · 3.09 KB

Response

Response est un object instancié pour chaque requête, il encapsule l'objet ServerResponse.

Sommaire

Propriétés de Response

propriétés type definition
rawResponse ServerResponse Objet réponse émis par le serveur http (librairie nodejs).
code response.code(status: number): Response Fonction qui définit le status de la réponse.
status number Status de la réponse.
info response.code(info: string): Response Fonction qui définit l'information de la réponse.
information string | undefined La propriété information si définie, ajoutera un en-tête Info qui sert à spécifier une information présise pour mieux identifier le résultat due la réponse. Personnellement j'encourage l'utilisation de ce champs.
send response.send(data?: any): void La fonction send définit la propriété data et throw l'objet Response pour qu'ils soient interceptés dans la suite du cycle d'éxecution.
sendFile response.sendFile(path: string): void La fonction sendFile définit la propriété file, ajoute les en-têtes appropriés et throw l'objet Response pour qu'il soit intercepté dans la suite du cycle d'éxecution.
download response.download(path: string, name?: string): void La fonction download définit la propriété file, ajoute les en-têtes appropriés et throw l'objet Response pour qu'il soit intercepté dans la suite du cycle d'éxecution.
redirect response.redirect(path: string): void La fonction redirect ajoute les en-têtes appropriés et throw l'objet Response pour qu'il soit intercepté dans la suite du cycle d'éxecution.
setHeaders response.setHeaders(headers: Record<string, string | string[]>): Response Permet d'ajouter des headers à la réponse.
setHeader response.setHeader(index: string, value: string | string[]): Response Permet d'ajouter un header à la réponse.
headers Record<string, string | string[]> Headers de la réponse.
data unknown Données envoyées.
file string | undefined Path du fichier envoyé.
isSend boolean Si true, une réponse a déjà été envoyé.

Répondre est une erreur

Quand les fonctions send, sendFile, redirect et download sont appelées, elles créent une exception qui permet de stopper court au processus pour enchaîner sur le reste du cycle de vie de la request. Cependant, celà peut poser problème si vous appelez l'une de ces fonctions dans un try catch.

duplo
.declareRoute("GET", "/user/{id}")
// hook, extract, process, checker, cut...
.handler((floor, response) => {
    try{
        response.code(200).info("bien se passé").send();

        throw "bebou";
    }
    catch(error){
        // error === response;

        if(error instanceof Response) throw error;
    }
});

Retour vers le Sommaire.