Sends a new HTTP request to the handler. Parameters: - request_info - request metadata. Due to limitation of base::Callback on the number of parameters, we have to collapse a couple of distinct parameters into a larger struct, containing: - (s) protocol_handler_id - ID of the protocol handler. - (s) request_handler_id - ID of the registered request handler. - (s) request_id - unique ID of this request within the protocol handler. - (s) url - The request URL (e.g. "/path/object"). - (s) method - Request method (e.g. "GET", "POST", ...). - headers - Request headers (key-value pairs) - params - an array of request parameters which could be either URL params (specified after "?" in the request URL), or form fields in a POST request. Elements have the following structure: - (b) true = form field, false = URL param - (s) field_name - (s) field_value - files - Information about uploaded files. The data is an array of FileInfo structures containing the following fields: - (i) file_id - (s) field_name - (s) file_name - (s) content_type - (s) transfer_encoding The actual contents of the file is obtained by calling GetFileData() on the request object - body - Raw unparsed request data. Could be empty for POST requests that have form data/uploaded files already parsed into form_fields/files parameters. The data is sent over D-Bus as a file descriptor representing the read end of a pipe.