Instead of piping streams, do the work ourselves so we can fsync() in PUT and PATCH