PhabricatorAPI.DataRequest

Data requests

class PhabricatorAPI
struct DataRequest {
string[string] data;
bool urlEncode;
string encoded;
string[] raw;
KeyValue[] function(string[] input) urlFunction;
string[string] temporal;
}

Members

Structs

KeyValue
struct KeyValue

Key/Value pair

Examples

1 auto req = DataRequest();
2 req.encode();
3 assert(req.encoded == "");
4 req.urlEncode = true;
5 try
6 {
7     req.encode();
8     assert(false);
9 }
10 catch (PhabricatorAPIException e)
11 {
12     assert(e.msg == "URL encoded but no values");
13 }
14 
15 req.raw ~= "test";
16 try
17 {
18     req.encode();
19     assert(false);
20 }
21 catch (PhabricatorAPIException e)
22 {
23     assert(e.msg == "URL encoded but no values");
24 }
25 
26 DataRequest.KeyValue[] function(string[]) fxn =
27     function DataRequest.KeyValue[](string[] state)
28 {
29     DataRequest.KeyValue[] objs;
30     foreach (obj; state)
31     {
32         auto test = DataRequest.KeyValue();
33         test.key = "test";
34         test.value = obj;
35         objs ~= test;
36     }
37 
38     return objs;
39 };
40 
41 req.urlFunction = fxn;
42 req.encode();
43 assert(req.encoded == "test=test");
44 req.raw ~= "test2";
45 req.encode();
46 assert(req.encoded == "test=test&test=test2");

Meta