| Alex Vakulenko | 31a6379 | 2015-02-03 12:44:57 -0800 | [diff] [blame] | 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. |
| Alex Vakulenko | 0f6413a | 2015-09-21 11:06:58 -0700 | [diff] [blame] | 42 | The data is sent over D-Bus as a file descriptor representing |
| 43 | the read end of a pipe. |
| Alex Vakulenko | 31a6379 | 2015-02-03 12:44:57 -0800 | [diff] [blame] | 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"/> |
| Alex Vakulenko | 0f6413a | 2015-09-21 11:06:58 -0700 | [diff] [blame] | 49 | <arg name="body" type="h" direction="in"/> |
| Alex Vakulenko | 31a6379 | 2015-02-03 12:44:57 -0800 | [diff] [blame] | 50 | <annotation name="org.chromium.DBus.Method.Kind" value="normal"/> |
| 51 | </method> |
| 52 | </interface> |
| 53 | </node> |