Mark Stosberg writes: > On Sun, 28 Dec 2008 21:59:02 -0700 > Bradley C Bailey <[email protected]> wrote: > > > Hello, > > > > I run my application under CGI::Application::Server during testing, and > > recently began sending files with CGI::Application::Plugin::Stream. > > > > However, they do not seem compatible since CAP::Stream directly prints > > to STDOUT, and CA::Server runs under CGI_APP_RETURN_ONLY and expects the > > application to return the content. So CAP::Stream prints the content > > before CA::Server can print the proper HTTP stuff. > > > > I attached a simple patch for a workaround, hopefully it goes through. > > I am not sure this is the best solution though. > > > > Comments? > > My first instinct was to try to solve this from the other direction. > Can ::Server be modified to allow streaming? > > Streaming is usually used for large files, the kind you may not want > to try to fit all in memory at once. > > On the other hand, your approach could also be considered reasonable. > If the user has requested the "return only" behavior through the > environment, shouldn't the Stream plugin comply? > > I'm interested in the opinions of others as well. >
I haven't had any time to see how hard it would be to modify CA::Server to support streaming and I don't forsee time freeing up any time soon. That said, it does seem like it'd be nice to avoid loading large files into memory. On the other hand, I agree that this patch seems unsurprising, doing what's been requested. On the gripping hand, the right choice might come down to the app's ultimate use: in a development setting slurping the entire file's probably ok but it might not scale in a production environment. g. ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################
