Cro::HTTP と Text::CSV をバンドルした mutsu 0.21.0 が出た。
こんな感じで、簡単に HTTP server が起動できる。熱い。
use Cro::HTTP::Router;
use Cro::HTTP::Server;
my $application = route {
get -> {
content 'text/plain', "Hello, world from mutsu!\n";
}
get -> 'greet', $name {
content 'text/plain', "Hello, $name!\n";
}
};
my Cro::Service $service = Cro::HTTP::Server.new(
:host<localhost>, :port<20000>, :$application
);
$service.start;
say "Started server at http://localhost:20000/";
react {
whenever signal(SIGINT) {
$service.stop;
exit;
}
}
Cro::HTTP の動作には諸々の非同期関連がうまく動く必要があって。。。 非同期周りはもともと結構挙動が怪しかったので、claude ぶんまわしまくって 2週間ぐらいかかってしまった。
そうこうしてるうちに Text::CSV まで bundle されている。
Published: 2026-08-13(Thu) 15:12