Class: Context

Context(request, response)

Contexte d'exécution d'une action.

Constructor

new Context(request, response)

Parameters:
Name Type Description
request Request

la requête Express

response Response

la réponse Express

Source:
Fires:

Members

(static) error :Error

Erreur qui peut être mise par un contrôleur, mais à priori affectée lors d'un appel de context.next(error)
Sa présence court-circuite les contrôleurs suivants.
Utile par exemple pour un listener beforeTransport (par ex pour ajouter status ou content-type si ça manque)

Type:
  • Error
Default Value:
  • undefined
Source:

(static) next :function

Méthode pour passer à l'action suivante (affecté et géré par le middleware de Controllers)
Un contrôleur appelle en général context.next(error, data) lorsqu'il a fini.
Si error, lassi gère (court-circuite les contrôleurs suivant et envoie la réponse, qui sera par défaut une erreur 500 en plain/text).
Sans erreur, les data renvoyés par tous les contrôleurs sont mergés et lassi envoie la réponse.

Type:
  • function
Source:

(static) skipNext :boolean

Booléen qui peut être mis par un contrôleur pour court-circuiter les contrôleurs suivants.
À priori, ça devrait plutôt être fait en passant une erreur à context.next(), ou en la mettant dans context.error,
mais on laisse cette possibilité.

Type:
  • boolean
Default Value:
  • undefined
Source:

(static) transport :string

À priori affecté après le passage de tous les contrôleurs, d'après le content-type, mais un contrôleur
qui veut traiter lui-même la réponse via context.response (l'objet response d'express) peut le faire en
affectant context.transport = 'done' pour indiquer à lassi de ne plus s'occuper de la réponse.

Type:
  • string
Default Value:
  • undefined
Source:

get

Les paramètres passés en get, alias vers request.query

Source:
See:

method

La méthode http utilisée (en minuscules)

Source:

post

Les paramètres passés en post, alias vers request.body
http://expressjs.com/api.html#req.body

Source:

request

La requête Express

Source:
See:

response

La réponse Express

Source:
See:

session

La session

Source:

setCookie :function

Alias de response.cookie

Type:
  • function
Source:
See:

Methods

accessDenied(messageopt)

Provoque la génération d'un access denied (403)

Parameters:
Name Type Attributes Description
message string <optional>

Le message éventuel (sera "access denied" si non fourni)

Source:

fieldError(field, message)

Renvoie en json un message d'erreur attaché à un champ
L'objet envoyé sera de la forme {field: 'le nom du champ passé (ou absent)', message: 'le message', success: false}

Parameters:
Name Type Description
field string | null

le nom du champ en erreur

message

Le message d'erreur

Source:

getCookie(name) → {string|undefined}

Retourne la valeur du cookie (qui était dans la requête), lit simplement request.cookies

Parameters:
Name Type Description
name string
Source:
See:
Returns:

undefined si le cookie n'existe pas, chaine vide si c'est sa valeur

Type
string | undefined

hasGet() → {Boolean}

Détermine si la requête comporte des arguments Get

Source:
Returns:

vrai si c'est le cas.

Type
Boolean

hasPost() → {Boolean}

Détermine si la requête comporte des arguments Post

Source:
Returns:

vrai si c'est le cas.

Type
Boolean

Retourne un header de la requete

Parameters:
Name Type Attributes Description
name string

Le header que l'on cherche

defaultValue string <optional>

Valeur à retourner si le header name n'existe pas

Source:
Returns:
Type
string | undefined

html(data)

Renvoie une réponse de type HTML.

Parameters:
Name Type Description
data object

données

Source:

isGet() → {Boolean}

Détermine si la requête est de type Get

Source:
Returns:

vrai si c'est le cas.

Type
Boolean

isPost() → {Boolean}

Détermine si la requête est de type Post

Source:
Returns:

vrai si c'est le cas.

Type
Boolean

json(data)

Renvoie une réponse de type JSON.

Parameters:
Name Type Description
data object

Les données (attention à renvoyer une liste de propriétés,
un array est transformé en objet, un string devient la propriété content
et les autres types primitifs sont ignorés)

Source:

jsonP(data)

Renvoie une réponse de type jsonP (du code js)
Appelle la fonction précisée dans context.$callbackName, ou passée en get avec ?callback=...
ou à défaut "callback"

Parameters:
Name Type Description
data object

Les données à passer en paramètre à la fct de callback,
attention à ne pas envoyer de références circulaires

Source:

notFound(messageopt)

Provoque la génération d'un not found (404)

Parameters:
Name Type Attributes Description
message string <optional>

Le message éventuel (sera "not found" si non fourni)

Source:

plain(text)

Renvoie une réponse en text/plain

Parameters:
Name Type Description
text string
Source:

raw(text)

Renvoie une réponse raw

Parameters:
Name Type Description
text string
Source:

redirect(path, codeopt, disableAutoCacheControlopt)

Provoque une redirection.

Parameters:
Name Type Attributes Default Description
path String

Le chemin de la redirection

code Integer <optional>
302

Le code de redirection à utiliser (301 pour une redirection permanente)

disableAutoCacheControl boolean <optional>

Passer true pour que cette fct n'ajoute pas de header cache-control (sinon elle ajoute du noCache sur les code≠301)

Source:

rest(data)

Envoi data (cloné) en json en ajoutant une propriété success mise à true

Parameters:
Name Type Description
data

Les données à envoyer en json

Source:

restKo(data)

envoie data en json, avec toujours succes:false et message (ajouté si non fourni)
Si data est une Error, ça l'écrira en console.error (en ne passant que le message en json, sans la stack)
Pour éviter ce console.error, il suffit donc d'appeler cette fonction avec error.message plutôt que error
Cette méthode ne gère pas de niveau d'erreur, pour le faire l'appelant devra passer un objet {message, level}
(ou {message, errorLevel} ou {message, priority} ou ce qui lui plaît davantage)

Parameters:
Name Type Description
data String | Error | Object
Source:

setHeader(name, value)

Ajoute un header à la réponse

Parameters:
Name Type Description
name
value
Source:

setNoCache()

Ajoute un header Cache-Control pour empêcher la mise en cache de la réponse

Source:

setPublicCache(maxAgeopt)

Ajoute un header pour mise en cache (par un proxy ou le navigateur)

Parameters:
Name Type Attributes Default Description
maxAge string <optional>
1d

Sans unité c'est des secondes

Source:

setStatus(status)

Fixe le status (code http de la réponse)

Parameters:
Name Type Description
status number
Source: