App-Ikachan

 view release on metacpan or  search on metacpan

bin/ikachan  view on Meta::CPAN


my $code = sub {
    my $req = Plack::Request->new(shift);
    my $method = $req->method;
    my $path   = $req->path;

    if ($method eq 'POST' && ! $is_connect) {
        my $html = q{<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>ikachan</title>
    <head>
    <body>
        can not connect to irc server
    </body>
</html>};
        my $res = Plack::Response->new(503);
        $res->content_type('text/html; charset=utf-8');
        $res->content_length(length $html);
        $res->body($html);
        return $res->finalize;
    }

    if ($method eq 'GET') {
        if ($path eq '/channel_list') {
            my $list = [ keys %{ $join_channels } ];
            return rendar(200, join("\n", @$list));
        } elsif ($path eq '/') {
            my $base = $req->base;
            my $logo = get_logo();
            my $css = get_css();
            my $html =<<HTML;
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>ikachan</title>
        <style>
            ${css}

        </style>
    <head>
    <body>
        <div class="container">
        <div class="row"><div class="span12">
        <h1>

bin/ikachan  view on Meta::CPAN

                <input type="submit" value="post" class="btn" />
            </form>
        </section>
        </div>
        </div>
    </body>
</html>
HTML

            my $res = Plack::Response->new(200);
            $res->content_type('text/html; charset=utf-8');
            $res->content_length(length $html);
            $res->body($html);
            return $res->finalize;
        }
    } elsif ($method eq 'POST') {
        my $channel = $req->param('channel');

        if ($path eq '/join') {
            return rendar(403, "joinned channel: $channel") if $join_channels->{$channel};
            my $channel_keyword = $req->param('channel_keyword');



( run in 0.264 second using v1.01-cache-2.11-cpan-4d50c553e7e )