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