Files
aws/demos/hotplug/main.adb
Pascal Obry 7554d5a8ac Add support for Realm for hotplug modules.
The Realm was hardcoded to be "aws". It is now a parameter and
can be changed.

Update the hotplug demo to use the realm "awsdemo" and document
how to generate the corresponding key.

TN: eng/toolchain/aws#109
2026-01-09 23:19:58 +01:00

82 lines
2.7 KiB
Ada

------------------------------------------------------------------------------
-- Ada Web Server --
-- --
-- Copyright (C) 2000-2026, AdaCore --
-- --
-- This is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the --
-- Free Software Foundation; either version 3, or (at your option) any --
-- later version. This software is distributed in the hope that it will --
-- be useful, but WITHOUT ANY WARRANTY; without even the implied warranty --
-- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public License --
-- distributed with this software; see file COPYING3. If not, go --
-- to http://www.gnu.org/licenses for a complete copy of the license. --
------------------------------------------------------------------------------
-- How to run this demo ?
--
-- On the server side:
-- $ main
--
-- On the same computer, or another one:
-- $ hotplug <main_hostname>
--
-- On the client side:
-- * launch your Web Browser (this should work with any browser)
-- * enter the URL : http://<servername>:1234/
--
-- You can ask for whatever URI
-- http://<servername>:1234/abc
--
-- If you can ask for whatever URI containing string "AWS" the hotplug server
-- will be triggered:
-- http://<servername>:1234/AWS_hotplug_is_great
--
-- For creating the password for this demo, the realm is "awsdemo",
-- so the security string in hotplug_module.ini has been generated
-- with:
--
-- $ aws_password hp_demo pwd awsdemo
with Ada.Text_IO;
with AWS.Server.Hotplug;
with AWS.Server.Log;
with Hotplug_CB;
procedure Main is
use Ada;
WS : aliased AWS.Server.HTTP;
begin
Text_IO.Put_Line ("AWS " & AWS.Version);
Text_IO.Put_Line ("Kill me when you want me to stop...");
AWS.Server.Start
(WS, "Main",
Admin_URI => "/Admin-Page",
Port => 1234,
Max_Connection => 3,
Callback => Hotplug_CB.Main'Access);
AWS.Server.Log.Start (WS);
AWS.Server.Log.Start_Error (WS);
AWS.Server.Hotplug.Activate
(WS'Unchecked_Access, 2222, "hotplug_module.ini");
AWS.Server.Wait;
exception
when others =>
Text_IO.Put_Line ("Main error...");
AWS.Server.Hotplug.Shutdown;
AWS.Server.Shutdown (WS);
end Main;