On Friday, 18 September 2020 at 12:39:43 UTC, Steven Schveighoffer wrote:
On 9/17/20 8:07 PM, wjoe wrote:
[...]

See the code here: https://github.com/vibe-d/vibe.d/blob/ebebfa827f568cc9bced4bec2b66edc043a8adf7/inet/vibe/inet/webform.d#L311

[...]

No, not at the moment. Which is why I was saying, it could be an enhancement request to vibe.

[...]

All the data is processed before the accessor to the form data or the file data. It HAS to be this way, as the data is still on the incoming network socket.

[...]

Yes

[...]

Again, enhancement request needed. The code currently is hard-coded to write to disk.

[...]

If you had 1000 requests being processed simultaneously, and each of those requests provided 10MB files, then you now need potentially 10GB of RAM to hold those requests. This doesn't scale when the application is unknown to vibe.

But again, solved with an enhancement that allows you to process the data in your code. I'll file the enhancement request for you, as I think it's a nice addition.

[...]

Agreed. In my case, it was an actual copy, as the location of the stored data was on a different filesystem than the temporary files.

[...]

Yep, it's a waste in that case.

[...]

Agreed.

[...]

In D, I'm not sure what the other frameworks do. I believe there are others if you search on code.dlang.org, you should be able to find some.

[...]

web development sucks in general ;) Yet, we all still do it.

-Steve

I was a little tired yesterday when I read the replies. After a couple hours of sleep and reading them again it makes a lot more sense to me.

Also your suggestion about a direct call to vibe.inet.webform.parseFormData with a specific handler for files and form data is a lot better than access via byte[].

Thanks for your help. Very much appreciated :)

Reply via email to