1from twisted.internet.task import react
2from twisted.internet.defer import inlineCallbacks
3
4import treq
5
6
7@inlineCallbacks
8def main(reactor):
9    print('List of tuples')
10    resp = yield treq.get('https://httpbin.org/get',
11                          params=[('foo', 'bar'), ('baz', 'bax')])
12    content = yield resp.text()
13    print(content)
14
15    print('Single value dictionary')
16    resp = yield treq.get('https://httpbin.org/get',
17                          params={'foo': 'bar', 'baz': 'bax'})
18    content = yield resp.text()
19    print(content)
20
21    print('Multi value dictionary')
22    resp = yield treq.get('https://httpbin.org/get',
23                          params={'foo': ['bar', 'baz', 'bax']})
24    content = yield resp.text()
25    print(content)
26
27    print('Mixed value dictionary')
28    resp = yield treq.get('https://httpbin.org/get',
29                          params={'foo': ['bar', 'baz'], 'bax': 'quux'})
30    content = yield resp.text()
31    print(content)
32
33    print('Preserved query parameters')
34    resp = yield treq.get('https://httpbin.org/get?foo=bar',
35                          params={'baz': 'bax'})
36    content = yield resp.text()
37    print(content)
38
39react(main, [])
40