estava olhando o codigo do WWW::Request para perl6 https://github.com/supernovus/perl6-www-app/blob/master/lib/WWW/Request.pm6
quando encontrei o seguinte trecho: > elsif %env<psgi.input> { > ## There is no standard for this, it can be a Str(ing), Array or IO > object. > my $input = %env<psgi.input>; entretanto a especificacao PSGI diz > The input stream in psgi.input is an IO::Handle-like object which streams the > raw HTTP POST or PUT data. If it is a file handle then it MUST be opened in > binary mode. The input stream MUST respond to read and MAY implement seek. > The built-in filehandle or IO::Handle based objects should work fine > everywhere. Application developers SHOULD NOT inspect the type or class of > the stream, but instead just call read to duck type. http://search.cpan.org/~miyagawa/PSGI-1.03/PSGI.pod#The_Input_Stream Confesso que não entendi o que fizeram no WWW::Request -- se "psgi.input is an IO::Handle-like object" qual a razão para testar se é um Array ou String? Isso pode depender de outro componente? Uma outra duvida, agora de perl6 $input.slurp; no caso de input ser um IO isto é lazy ou eager? pergunto pois se eu tiver um upload muito grande, por exemplo, a criação do objeto request vai ser muito custosa e vai trancar o meu processamento nesse ponto. Se eu não fosse utilizar o body por alguma razão (posso querer analisar o header primeiro e descartar sob algum criterio) eu só vou fazer depois do upload ser inteiramente lido e num possivel ataque de exaustão de recursos posso ter dor de cabeça (a menos que eu intercepte com um middleware plack - mas isso me limita um pouco nas possibilidades). Estava pensando em alugar um servidor na linode e brincar de perl6 pra web usando alguma coisa leve. Att Tiago -- Tiago B. Peczenyj Linux User #405772 http://pacman.blog.br =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer