Make HTTP servers (with PSGI support) easily with Perl 6
Branch: master
Clone or download
supernovus Merge pull request #38 from JJ/master
Update from changes in upstream API
Latest commit 8742272 Dec 17, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples replace @*INC by use lib post-curli Dec 1, 2015
lib/HTTP Changes to new interface Dec 16, 2017
t replace @*INC by use lib post-curli Dec 1, 2015
.gitignore More for ignore file Dec 16, 2017
.travis.yml enable tests with zef Aug 11, 2017
META6.json Add mandatory "perl" META field Oct 26, 2016
README.md Added Travis CI build support Jul 22, 2015

README.md

HTTP::Easy

Build Status

Introduction

Perl 6 libraries to make HTTP servers easily.

This was inspired by HTTP::Server::Simple, but has a very different internal API, and extended functionality. It's been designed to work well with my own Web::App and SCGI libraries. Also see my HTTP::Client library if you are looking for an HTTP client rather than an HTTP server.

HTTP::Easy

A role to build HTTP daemon classes with. This provides the framework for parsing HTTP connections.

HTTP::Easy::PSGI

A class implementing HTTP::Easy. This builds a PSGI environment, and passes it onto a handler. The handler must return a PSGI response:

  [ $status, @headers, @body ]

This can be used as an engine in the Web::App library.

Example

  use HTTP::Easy::PSGI;
  my $http = HTTP::Easy::PSGI.new(:port(8080));
  
  my $app = sub (%env)
  {
    my $name = %env<QUERY_STRING> || "World";
    return [ 200, [ 'Content-Type' => 'text/plain' ], [ "Hello $name" ] ];
  }

  $http.handle($app);

Requirements

  • HTTP::Status

TODO

  • Implement HTTP/1.1 features such as Transfer-Encoding, etc.

Author

Timothy Totten, supernovus on #perl6, https://github.com/supernovus/

License

Artistic License 2.0