[Seaside] WAStreamingResponse or WAComboResponse for a single callback?
Sven Van Caekenberghe
sven at stfx.eu
Fri Jan 6 23:22:01 UTC 2017
What is large for you ?
I think it is not easy to prevent Seaside from taking everything into memory.
Zinc can do what you want, using a ZnStreamingEntity plugged into a ZnResponse, if that is an option for you (you could run an extra server in the same image on a different port, or you could play with prefixes).
Have a look at ZnStaticFileServerDelegate>>#responseForFile:fromRequest:
This method does more than just plain serving the file, but you should be able to see what you want.
> On 6 Jan 2017, at 20:41, Jupiter Jones <jupiter.jones at mail.com> wrote:
> Hi Petr,
> Thanks for the link, however, it’s large downloads via the image I’m looking to solve.
> I know it’s not ideal to serve large files via the image, however, in this case I need to accommodate them.
> I’ll keep looking.
> Thanks again for your response.
>> On 6 Jan 2017, at 11:48 am, Petr Fischer <petr.fischer at me.com> wrote:
>> Some blog post about large uploads:
>>> Hi Seasiders,
>>> I have a callback that downloads a file which works perfectly until the file size becomes to large and it runs out of memory.
>>> My response method looks like this:
>>> attachmentWithFileName: target name;
>>> contentType: target mimeType;
>>> readOnlyFileDo: [ :file |
>>> [ file atEnd ]
>>> whileFalse: [
>>> | byteArray |
>>> byteArray := ByteArray new.
>>> file read: 4096 into: byteArray.
>>> response stream nextPutAll: byteArray.
>>> response flush ] ]
>>> I can see that a WABufferedResponse does nothing with #flush so I’m wanting to use either the WAComboResponse or the WAStreamingResponse for this callback. However, I can’t see how to configure a single response to use either of these classes.
>>> From what I can see, it looks like the response is configured in the server adaptor. Since this single download callback is the only request that needs to stream it’s response, is there a way to use a WACombeResponse or a WAStreaming response for one particular callback?
>>> Any advice would be greatly appreciated.
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside