Skip to content
Web application server for Perl6
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
author
benchmark/basic
eg
lib/HTTP/Server
t
.gitignore
.travis.yml
LICENSE
META6.json
README.md

README.md

Build Status

NAME

HTTP::Server::Tiny - a simple HTTP server for Perl6

SYNOPSIS

use HTTP::Server::Tiny;

my $port = 8080;

# Only listen for connections from the local host
# if you want this to be accessible from another
# host then change this to '0.0.0.0'
my $host = '127.0.0.1';

HTTP::Server::Tiny.new(:$host , :$port).run(sub ($env) {
    my $channel = Channel.new;
    start {
        for 1..100 {
            $channel.send(($_ ~ "\n").Str.encode('utf-8'));
        }
        $channel.close;
    };
    return 200, ['Content-Type' => 'text/plain'], $channel
});

DESCRIPTION

HTTP::Server::Tiny is a standalone HTTP/1.1 web server for perl6.

METHODS

  • HTTP::Server::Tiny.new($host, $port)

Create new instance.

  • $server.run(Callable $app, Promise :$control-promise)

Run http server with P6W app. The named parameter control-promise if provided, can be kept to quit the server loop, which may be useful if the server is run asynchronously to the main thread of execution in an application.

If the optional named parameter control-promise is provided with a Promise then the server loop will be quit when the promise is kept.

VERSIONING RULE

This module respects Semantic versioning

TODO

  • Support timeout

COPYRIGHT AND LICENSE

Copyright 2015, 2016 Tokuhiro Matsuno tokuhirom@gmail.com

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

You can’t perform that action at this time.