update packages
handle formData properly

we can't start request when formData exists
otherwise we get a pipe error, have to let
formData be streamed first, then it will start
the request.