LimitCopy copies from the provided io.ReadCloser to dst up to the specified
limit. If the source exceeds the limit, it returns an error. It returns the
number of bytes copied or an error if any issues occur during copying.
LimitRead reads from the provided io.ReadCloser up to the specified limit.
If the body exceeds the limit, it returns an error. It returns the read
bytes or an error if any issues occur during reading.