blob: dcf51ea9975286174776a3ea1663f88095695168 [file] [log] [blame]
Alex Vakulenko31a63792015-02-03 12:44:57 -08001<?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 Vakulenko0f6413a2015-09-21 11:06:58 -070042 The data is sent over D-Bus as a file descriptor representing
43 the read end of a pipe.
Alex Vakulenko31a63792015-02-03 12:44:57 -080044 </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 Vakulenko0f6413a2015-09-21 11:06:58 -070049 <arg name="body" type="h" direction="in"/>
Alex Vakulenko31a63792015-02-03 12:44:57 -080050 <annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
51 </method>
52 </interface>
53</node>