OutgoingBody finish content length errors
When the written body is less than the content length, the only error code that fits is internal-error.
But when the written body is more than the content length, perhaps it would make sense to use the existing HTTP-request-body-size(option<u64>) error code which is meant to be for when the body is too long? Alternatively should this also be internal-error?
Then, for both of these, it would be nice to have a proper error code instead of making it an internal error. Perhaps a dedicated HTTP-request-body-content-length-invalid(option<u64>)?
When the written size is less than the content length, HTTP-{request,response}-body-size(option<u64>) is the correct variant to return throw from outgoing-body.finish. The outgoing-body will have to return the correct request/response variant of the error there based on what it was created from.
We need to add documentation to the error-code cases, and this information should be there, and made more explicit in the docs for outgoing-body.finish.
When the written size is less than the content length, HTTP-{request,response}-body-size(option
) is the correct variant to return throw from outgoing-body.finish.
Note this is not the case for Wasmtime currently - which throws an internal-error here instead.
Thanks - @elliottt can you work on fixing that?
This was landed in Wasmtime in https://github.com/bytecodealliance/wasmtime/pull/7591, so is only pending as a documentation update at this point that the error has been extended to apply to sizes less than the expected content length.