Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Tīmekļa programmēšana / Cro pamati / Exercises / Otrs maršruts
Risinājums: Otrs maršruts
Šeit ir iespējams risinājums uzdevumam.
Kods
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;
}
}🦋 Atrodiet programmu failā second-route.raku.
Izvade
Goodbye!Komentāri
routebloks var saturēt tik maršrutu, cik vien vēlaties; katrsgetapstrādā vienu ceļu.Cro pieprasījuma ceļu saskaņo ar pareizo maršrutu, tāpēc
/helloun/byeatgriež katrs savu atbildi.Tāpat kā teorijas lappusē,
.startatgriežas uzreiz, tāpēc noslēdzošaisreactbloks programmu tur pie dzīvības, līdz nospiežat Ctrl-C —whenever signal(SIGINT)tad aptur serveri un izbeidz reakciju.