Backing up a little, chunked encoding should not be necessary for this scenario. Chunked encoding is usually used when servers are replying to clients and the server does not know the content length up front.
I’m not super familiar with Zephyr, but looks like you’d use the payload callback. In that function you’d have a loop reading parts of the file (however large can fit in memory) and then use the socket send
function to write that part to the socket. You can invoke send
multiple times to get the entire contents in a single POST request without any special encoding.