Overview

Response Basic

Example of Response Basic

Source Code

<?pas
uses System.Net;

// This example demonstrates various ways to control the HTTP response.

var mode := WebRequest.QueryField['mode'];

if mode = 'json' then begin
   // Shortcut: Sets ContentType to 'application/json' and serializes the object
   // Using JSON.Serialize with an anonymous record
   var data := JSON.Serialize(record
      status := 'success';
      message := 'Hello from JSON';
   end);
   WebResponse.SetContentJSON(data);
   
end else if mode = 'error' then begin
   // Shortcut: Sets status code and plain text body
   WebResponse.SetStatusPlainText(403, 'Access Denied - You do not have permission');
   
end else if mode = 'raw_json' then begin
   // Shortcut: Sets status code and raw JSON string
   WebResponse.SetStatusJSON(201, '{"id": 123, "status": "created"}');
   
end else if mode = 'redirect' then begin
   // Shortcut: Performs an HTTP redirect
   WebResponse.SetStatusRedirect(302, '/index.dws');
   
end else begin
   // Manual response handling
   WebResponse.ContentType := 'text/html';
   Print(#'
      <h3>Response Control Demo</h3>
      <ul>
        <li><a href="?mode=json">JSON Shortcut (SetContentJSON)</a></li>
        <li><a href="?mode=error">Plain Text Status (SetStatusPlainText)</a></li>
        <li><a href="?mode=raw_json">JSON Status (SetStatusJSON)</a></li>
        <li><a href="?mode=redirect">Redirect (SetStatusRedirect)</a></li>
      </ul>
   ');
end;
?>

Result

<h3>Response Control Demo</h3>
<ul>
  <li><a href="?mode=json">JSON Shortcut (SetContentJSON)</a></li>
  <li><a href="?mode=error">Plain Text Status (SetStatusPlainText)</a></li>
  <li><a href="?mode=raw_json">JSON Status (SetStatusJSON)</a></li>
  <li><a href="?mode=redirect">Redirect (SetStatusRedirect)</a></li>
</ul>
On this page