1<?xml version="1.0" encoding="UTF-8" ?> 2 3<node name="/org/chromium/WebServer/RequestHandler" 4 xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> 5 <interface name="org.chromium.WebServer.RequestHandler"> 6 <!-- Methods --> 7 <method name="ProcessRequest"> 8 <tp:docstring> 9 Sends a new HTTP request to the handler. 10 Parameters: 11 - request_info - request metadata. Due to limitation of base::Callback 12 on the number of parameters, we have to collapse a couple 13 of distinct parameters into a larger struct, containing: 14 - (s) protocol_handler_id - ID of the protocol handler. 15 - (s) request_handler_id - ID of the registered request 16 handler. 17 - (s) request_id - unique ID of this request within the 18 protocol handler. 19 - (s) url - The request URL (e.g. "/path/object"). 20 - (s) method - Request method (e.g. "GET", "POST", ...). 21 - headers - Request headers (key-value pairs) 22 - params - an array of request parameters which could be either 23 URL params (specified after "?" in the request URL), or 24 form fields in a POST request. Elements have the following 25 structure: 26 - (b) true = form field, false = URL param 27 - (s) field_name 28 - (s) field_value 29 - files - Information about uploaded files. 30 The data is an array of FileInfo structures containing the 31 following fields: 32 - (i) file_id 33 - (s) field_name 34 - (s) file_name 35 - (s) content_type 36 - (s) transfer_encoding 37 The actual contents of the file is obtained by calling 38 GetFileData() on the request object 39 - body - Raw unparsed request data. Could be empty for POST requests 40 that have form data/uploaded files already parsed into 41 form_fields/files parameters. 42 The data is sent over D-Bus as a file descriptor representing 43 the read end of a pipe. 44 </tp:docstring> 45 <arg name="request_info" type="(sssss)" direction="in"/> 46 <arg name="headers" type="a(ss)" direction="in"/> 47 <arg name="params" type="a(bss)" direction="in"/> 48 <arg name="files" type="a(issss)" direction="in"/> 49 <arg name="body" type="h" direction="in"/> 50 <annotation name="org.chromium.DBus.Method.Kind" value="normal"/> 51 </method> 52 </interface> 53</node> 54