It looks like gulp-buffer should be able to fix your issue:
Install gulp-buffer and add it to your gulpfile, after that insert the buffer between your zip call and the request.
gulp.task( 'zip-upload', function() {
return gulp.src( '**/*', { cwd: 'out/', cwdbase: true } )
.pipe( zip( 'file.zip' ) )
.pipe( buffer() )
.pipe( request.put( 'https://myurl.com' ) );
});