Plack (software) - Plack (software)
Autor (es) original (is) | Tatsuhiko Miyagawa |
---|---|
Desenvolvedor (s) | Tatsuhiko Miyagawa, Tokuhiro Matsuno, Jesse Luehrs, Tomas Doran, Graham Knop e outros. |
Escrito em | Perl |
Licença | Licença Perl (Licença Artística v2 + GNU General Public License v1) |
Local na rede Internet | plackperl |
Plack é uma estrutura de programação de aplicativos da Web Perl inspirada em Rack para Ruby e WSGI para Python , e é o projeto por trás da especificação PSGI usada por outras estruturas, como Catalyst e Dancer . Plack permite o teste de aplicações web Perl sem um servidor web ativo.
Plackup é um utilitário de linha de comando para executar aplicativos PSGI a partir da linha de comando.
PSGI
PSGI ou Perl Web Server Gateway Interface é uma interface entre servidores web e aplicativos web e estruturas escritas na linguagem de programação Perl que permite escrever aplicações portáteis que podem ser executadas como servidores autônomos ou usando CGI , FastCGI , mod_perl , et al. Ele é inspirado na Web Server Gateway Interface para Python , Rack para Ruby e JSGI para JavaScript . Um aplicativo PSGI é uma sub-rotina Perl que aceita argumentos como uma única referência de hash e retorna uma referência a uma matriz de três elementos: um código de status HTTP , uma referência a uma matriz de cabeçalhos HTTP e uma referência a uma matriz de linhas do corpo HTTP ( geralmente um documento HTML gerado ) ou um objeto semelhante a filehandle .
Back-ends suportados
Em março de 2010, o Plack oferece suporte aos seguintes back-ends de servidor:
- CGI
- SCGI
- FastCGI
- mod_perl no Apache 1.3 e 2.0
- Servidor HTTP autônomo incluído no Plack
- HTTP :: Servidor :: Simples
- Corona
- Homem das Estrelas
- Twiggy
- AnyEvent :: HTTPD
- AnyEvent :: ReverseHTTP
Exemplos
Usando o servidor HTTP autônomo padrão:
$ plackup app.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/
Executando como um daemon FastCGI ouvindo em um soquete Unix , pronto para ser usado por qualquer servidor Web com suporte FastCGI :
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi
FastCGI: manager (pid 3336): initialized
FastCGI: manager (pid 3336): server (pid 3337) started
FastCGI: server (pid 3337): initialized
Um aplicativo Hello World funcional executado como uma linha :
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["Hello, world!"]] }'
HTTP::Server::PSGI: Accepting connections at http://0:5000/
O comando acima inicia um servidor HTTP escutando na porta 5000 de cada interface local ( endereço IP ) e retorna esta resposta 200 OK para cada solicitação HTTP :
HTTP/1.0 200 OK
Date: Fri, 19 Mar 2010 23:34:10 GMT
Server: HTTP::Server::PSGI
Content-Type: text/plain
Content-Length: 13
Hello, world!
Referências
links externos