Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Web-Programmierung / Cro 101 / Exercises / Eine zweite Route
Lösung: Eine zweite Route
Hier ist eine mögliche Lösung der Aufgabe.
Code
use Cro::HTTP::Router;
use Cro::HTTP::Server;
my $application = route {
get -> 'hello' {
content 'text/plain', 'Hello from Cro!';
}
get -> 'bye' {
content 'text/plain', 'Goodbye!';
}
}
my $server = Cro::HTTP::Server.new(
:host('127.0.0.1'),
:port(8080),
:application($application),
);
$server.start;
say 'Listening on http://127.0.0.1:8080 — press Ctrl-C to stop';
react {
whenever signal(SIGINT) {
$server.stop;
done;
}
}🦋 Du findest den Quellcode in der Datei second-route.raku.
Ausgabe
Goodbye!Kommentare
Ein
route-Block darf beliebig viele Routen enthalten; jedesgetbearbeitet einen Pfad.Cro ordnet den Anfragepfad der richtigen Route zu,
/hellound/byeliefern also ihre eigenen Antworten.Wie auf der Theorieseite kehrt
.startsofort zurück, der abschließendereact-Block hält das Programm also am Leben, bis Sie Strg-C drücken —whenever signal(SIGINT)hält dann den Server an und beendet die Reaktion.