refactor multipart requests to use multipart-stream