- Notifications
You must be signed in to change notification settings - Fork0
manakai/wanage
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Wanage and Warabe - APIs for server-side Web applications
Wanage andWarabe are lightweight protocol-wrapper API layers for building server-side Web applications.
+------+ +------+ +------+ +------+ +------+|Your |<->|Warabe|<->|Wanage|<---->|HTTP |<---->|HTTP || App.| +------+ | | CGI |server| HTTP |client|| |<------------>| | PSGI | | | |+------+ +------+ +------+ +------+App. Common Generic TCP/HTTPspecific Web app. HTTP protocollogic operations interpret. handling
As shown in the figure, Warabe is an optional component build on top of Wanage.
They arenot Web application frameworks (WAFs). They only provide abstraction for interpretation of HTTP requests and construction of HTTP responses in the level enough to create Web applications by just understanding how HTTP works, without learning bulk of WAF-specific APIs. They does not define how you organize your Web application. They can be used in conjection with a random Perl WAF, as long as it does not prevent you from accessing raw HTTP requests and/or responses, if desired.
Latest version of these modules are available in the Git repository: <https://github.com/manakai/wanage>.
There are no longer snapshot release version tarballs for Wanage and Warabe. You can just add the repository as a Git submodule of your Git repository, if your application is using Git.
These modules require Perl 5.14.2 or later.
In addition, they require a few non-core Perl modules:Exporter::Lite;Path::Class;List::Ish (in themodules/perl-ooutils
submodule);Web::Encoding and other modules from the <https://github.com/manakai/perl-web-url> repository);Web::URL and other modules from the <https://github.com/manakai/perl-web-encodings> repository).
They also require a Perl promise implementation (e.g.Promise from the <https://github.com/manakai/perl-promise> repository) if you would like to use promise-related features.
Optional modules such asWarabe::App::Role::*
might require additional Perl modules; see relevant documentations and source codes of those modules.
Wakaba <wakaba@suikawiki.org>.
This repository was originally located at <https://github.com/wakaba/wanage>, which has been transferred to the manaki project on November 16, 2021.
Copyright 2012-2021 Wakaba <wakaba@suikawiki.org>.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.