You are right. I was being stupid. I looked at it in a hurry and
indeed this is wrong. I think I fixed it in trunk. Please check it is
fixed all-right.

massimo

On Nov 18, 4:06 pm, Clayton <[email protected]> wrote:
> Ok, thanks for that. However, when I call response.stream(myfilename,
> request=request), it seems to stream it in 64K chunks, and tracing the
> code confirms it as far as I can see.
>
> I'm confused because despite passing in chunk_size as a parameter, it
> had no effect on the streaming. Also I'm not understanding the
> documentation then:
>
> >> response.stream(file, chunk_size): when a controller returns it, web2py 
> >> streams the file content back to the client in blocks of size chunk_size.
>
> Does that mean that if file is a filename, then chunk_size is ignored?
> Why wouldn't it be passed in to the stream_file_or_304_or_206 call?
>
> Finally, the documentation doesn't seem entirely clear that if
> "request" is not passed in as a parameter, it won't stream correctly
> (or at least that's my experience... it always restarted from the
> beginning ignoring the http header range).
>
> Thanks,
>
> Clayton
>
> On Nov 18, 4:41 pm, mdipierro <[email protected]> wrote:
>
> > Not a bug.
>
> > chunk_size applies when you are returning a file-like object that
> > needs to be streamed. If you return a string, it is not streamed.
>
> > Massimo
>
> > On Nov 18, 3:04 pm, Clayton <[email protected]> wrote:
>
> > > The chunk_size seems to be ignored in response.stream
>
> > >     def stream(
> > >         self,
> > >         stream,
> > >         chunk_size = DEFAULT_CHUNK_SIZE,
> > >         request=None,
> > >         ):
> > >         """
> > >         if a controller function::
>
> > >             return response.stream(file, 100)
>
> > >         the file content will be streamed at 100 bytes at the time
> > >         """
>
> > >         if isinstance(stream, (str, unicode)):
> > >             stream_file_or_304_or_206(stream, request=request,
> > >                                       headers=self.headers) <<<< NOT
> > > PASSED IN TO stream_file_or_304_206!!
>
> > > Thanks,
>
> > > Clayton
>
>

Reply via email to