WebResponse - Exemples
| WebResponse = class static (TObject) | Interface de WebResponse | Exemples de WebResponse |
Réponses simples, status et message texte
WebResponse.SetStatusPlainText(200, 'Ok'); // résultat ok
WebResponse.SetStatusPlainText(404, 'Not found'); // page non trouvée
WebResponse.SetStatusPlainText(404, 'Not found'); // page non trouvée
Redirection temporaire (à préférer à la redirection permanente, qui ne pardonne pas en cas de bug)
WebResponse.StatusCode := 302;
WebResponse.Header['Location'] := 'https://where.to/redirect';
WebResponse.Header['Location'] := 'https://where.to/redirect';
Exemple type de réponse avec vérification de validité des parametres et gestion des droits de l'utilisateur
Function VerifyParams : Boolean;
begin
Result := WebRequest.QueryField['ID'].ToIntegerDef(0) > 0;
end;
if CurrentUserHasAccessTo('Magic') then begin // seulement les admins
if VerifyParams then begin
// traitement fonctionnel ici, le code 200 sera renvoyé par défaut si pas d'erreurs, le 500 en cas d'exception avec le texte de l'exception automatiquement dans la réponse par défaut gérée par le système.
end else WebResponse.StatusCode := 400; // Bad Request on peut aussi en plus faire un message contextualisant l'erreur dans la réponse
end else WebResponse.StatusCode := 403; // on renvoit le code Forbiddenn
begin
Result := WebRequest.QueryField['ID'].ToIntegerDef(0) > 0;
end;
if CurrentUserHasAccessTo('Magic') then begin // seulement les admins
if VerifyParams then begin
// traitement fonctionnel ici, le code 200 sera renvoyé par défaut si pas d'erreurs, le 500 en cas d'exception avec le texte de l'exception automatiquement dans la réponse par défaut gérée par le système.
end else WebResponse.StatusCode := 400; // Bad Request on peut aussi en plus faire un message contextualisant l'erreur dans la réponse
end else WebResponse.StatusCode := 403; // on renvoit le code Forbiddenn