HTTPRequest: improved HTTP upload API