feat(rewriter): add redirect(), get_cookie(), add_cookie() methods to rule engine (#36)
Some checks are pending
Cadoles/bouncer/pipeline/pr-develop Build started...
Some checks are pending
Cadoles/bouncer/pipeline/pr-develop Build started...
This commit is contained in:
@ -38,6 +38,33 @@ Supprimer un ou plusieurs entêtes HTTP dont le nom correspond au patron `patter
|
||||
|
||||
Le patron est défini par une chaîne comprenant un ou plusieurs caractères `*`, signifiant un ou plusieurs caractères arbitraires.
|
||||
|
||||
##### `get_cookie(ctx, name string) Cookie`
|
||||
|
||||
Récupère un cookie depuis la requête/réponse (en fonction du contexte d'utilisation).
|
||||
Retourne `nil` si le cookie n'existe pas.
|
||||
|
||||
**Cookie**
|
||||
|
||||
```js
|
||||
// Plus d'informations sur https://pkg.go.dev/net/http#Cookie
|
||||
{
|
||||
name: "string", // Nom du cookie
|
||||
value: "string", // Valeur associée au cookie
|
||||
path: "string", // Chemin associé au cookie (présent uniquement dans un contexte de réponse)
|
||||
domain: "string", // Domaine associé au cookie (présent uniquement dans un contexte de réponse)
|
||||
expires: "string", // Date d'expiration du cookie (présent uniquement dans un contexte de réponse)
|
||||
max_age: "string", // Age maximum du cookie (présent uniquement dans un contexte de réponse)
|
||||
secure: "boolean", // Le cookie doit-il être présent uniquement en HTTPS ? (présent uniquement dans un contexte de réponse)
|
||||
http_only: "boolean", // Le cookie est il accessible en Javascript ? (présent uniquement dans un contexte de réponse)
|
||||
same_site: "int" // Voir https://pkg.go.dev/net/http#SameSite (présent uniquement dans un contexte de réponse)
|
||||
}
|
||||
```
|
||||
|
||||
##### `set_cookie(ctx, cookie Cookie)`
|
||||
|
||||
Définit un cookie sur la requête/réponse (en fonction du contexte d'utilisation).
|
||||
Voir la méthode `get_cookie()` pour voir les attributs potentiels.
|
||||
|
||||
#### Requête
|
||||
|
||||
##### `set_host(ctx, host string)`
|
||||
@ -48,6 +75,12 @@ Modifier la valeur de l'entête `Host` de la requête.
|
||||
|
||||
Modifier l'URL du serveur cible.
|
||||
|
||||
##### `redirect(ctx, statusCode int, url string)`
|
||||
|
||||
Interrompt la requête et retourne une redirection HTTP au client.
|
||||
|
||||
Le code HTTP utilisé doit être supérieur ou égale à `300` et inférieur à `400` (non inclus).
|
||||
|
||||
#### Réponse
|
||||
|
||||
_Pas de fonctions spécifiques._
|
||||
@ -72,7 +105,7 @@ L'URL originale, avant réécriture du `Host` par Bouncer.
|
||||
},
|
||||
host: "string", // Nom d'hôte (<domaine>:<port>) de l'URL
|
||||
path: "string", // Chemin de l'URL (format assaini)
|
||||
rawPath: "string", // Chemin de l'URL (format brut)
|
||||
raw_path: "string", // Chemin de l'URL (format brut)
|
||||
raw_query: "string", // Variables d'URL (format brut)
|
||||
fragment : "string", // Fragment d'URL (format assaini)
|
||||
raw_fragment : "string" // Fragment d'URL (format brut)
|
||||
@ -96,7 +129,7 @@ La requête en cours de traitement.
|
||||
},
|
||||
host: "string", // Nom d'hôte (<domaine>:<port>) de l'URL
|
||||
path: "string", // Chemin de l'URL (format assaini)
|
||||
rawPath: "string", // Chemin de l'URL (format brut)
|
||||
raw_path: "string", // Chemin de l'URL (format brut)
|
||||
raw_query: "string", // Variables d'URL (format brut)
|
||||
fragment : "string", // Fragment d'URL (format assaini)
|
||||
raw_fragment : "string" // Fragment d'URL (format brut)
|
||||
|
Reference in New Issue
Block a user