
+1 for the idea.
+2 for using a custom data type: it's *much* easier to read.
Cheers,
On Tue, Feb 12, 2013 at 1:06 PM, Michael Snoyman
I'd like to make an addition to the WAI protocol: a field in the Request data type to track the request body size. I would like this to be:
requestBodyLength :: Maybe Word64
I think the choice of Word64 makes sense without further explanation. The perhaps surprising part is the use of `Maybe`. The reason for this is that in the case of a chunked request body, there's no way to know the size of the request body from the headers alone. So the logic for populating this field would go something like:
If content-length is supplied by the user, parse it and populate the field with Just content-length. If the request is chunked, populate with Nothing. Otherwise, there is a zero-sized request body, and populate with Just 0.
One other idea would be to create a special datatype such as `data RequestBodyLength = ChunkedBody | KnownLength Word64`, but I don't believe it really adds much above the `Maybe Word64`.
Any thoughts on this proposal?
Note: This is related to Yesod issue: https://github.com/yesodweb/yesod/issues/468
-- You received this message because you are subscribed to the Google Groups "Yesod Web Framework" group. To unsubscribe from this group and stop receiving emails from it, send an email to yesodweb+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
-- Felipe.