[Catalyst] Setting file handle as the response body generates warnings.

John Napiorkowski jjn1056 at yahoo.com
Tue Nov 26 01:54:01 GMT 2013


We should probably document what it means by $c->response->body can accept =
a file handle. =A0Like plack specifies the interface it must deal with. =A0=
Anyone up to that?

This FH in body thing is something I've been thinking about a lot lately, i=
n regards to when Catalyst is running under an event loop for example, shou=
ld Catalyst stream the Filehandle a non blocking manner. =A0But it would be=
 great to document this. =A0Also, I am thinking setting the default size wh=
en its missing could really belong to middleware. =A0Plack has some default=
 middleware that does this:

https://metacpan.org/source/MIYAGAWA/Plack-1.0030/lib/Plack/Middleware/Cont=
entLength.pm


the means it works looks like this

https://metacpan.org/source/MIYAGAWA/Plack-1.0030/lib/Plack/Util.pm#L68


There's a few things in Catalyst.pm that could profitable just use Plack::M=
iddleware counterparts.

just a thought.

johnnap



On Thursday, November 21, 2013 9:20 AM, neil.lunn <neil at mylunn.id.au> wrote:
 =

On 22/11/2013 12:33 AM, Bill Moseley wrote:


>
>
>
>
>On Wed, Nov 20, 2013 at 11:32 PM, neil.lunn <neil at mylunn.id.au> wrote:
>
>
>>
This approach may work for you is the compressed data is actually in a scal=
ar and not too large. And not too small. YMMV.
>>
>>my $z =3D read_file "product.json.gz";
>>
>>my $io =3D IO::Scalar->new( \$z );
>>$io->seek( -4, 2 );
>>$io->read( my $buf, 4);
>>
>>my $uncompressed_size =3D unpack( 'V', $buf );
>
>
>
>
>This indeed does work in my tests. =A0 Thanks for all the help, Neil. =A0 =
I really appreciate the time you spent on this.
>
>
No prob. Part of my thing on list reponses is that there is a seed for othe=
rs to learn from what was discussed. =

I do wonder if there is a sane way to test for an in memory file
    handle and give a more appropriate warning, but that is for further
    discussion.



>
>
>
-- =

>Bill Moseley
>moseley at hank.org =

>
>
>_______________________________________________
List: Catalyst at lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin=
/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/=
catalyst at lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/


________________________________
 =

   This email is free from viruses and malware because avast! Antivirus pro=
tection is active.  =



_______________________________________________
List: Catalyst at lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20131125/ed897=
d39/attachment.htm


More information about the Catalyst mailing list