Esempio n. 1
0
 async def _async_put(self, request):
     headers = self.getheaders(request)
     data = {'method': request.method,
             'headers': headers,
             'pulsar': self.pulsar_info(request),
             'args': MultiValueDict(),
             'files': MultiValueDict()}
     request.cache.response_data = data
     await request.data_and_files(stream=partial(self.stream, request))
     data['args'] = dict(data['args'])
     data['files'] = dict(data['files'])
     return Json(data).http_response(request)
Esempio n. 2
0
 def testConstructor(self):
     m = MultiValueDict()
     self.assertEqual(len(m), 0)
     #
     m = MultiValueDict({'bla': 3})
     self.assertEqual(len(m), 1)
     self.assertEqual(m['bla'], 3)
     #
     m = MultiValueDict({'bla': (3, 78), 'foo': 'ciao'})
     self.assertEqual(len(m), 2)
     self.assertEqual(m['bla'], [3, 78])
     self.assertEqual(m['foo'], 'ciao')
     #
     m = MultiValueDict({'bla': [3, 78], 'foo': (v for v in (1, 2))})
     self.assertEqual(m['bla'], [3, 78])
     self.assertEqual(m['foo'], [1, 2])
Esempio n. 3
0
    def info_data(self, request, **params):
        headers = self.getheaders(request)
        data = {
            'method': request.method,
            'headers': headers,
            'pulsar': self.pulsar_info(request)
        }
        if request.method in ENCODE_URL_METHODS:
            data['args'] = dict(request.url_data)
        else:
            args, files = request.data_and_files()
            jfiles = MultiValueDict()
            if files:
                for name, parts in files.lists():
                    for part in parts:
                        try:
                            part = part.string()
                        except UnicodeError:
                            part = part.base64()
                        jfiles[name] = part
            if isinstance(args, MultiValueDict):
                args = dict(args)

            data.update((('args', args), ('files', dict(jfiles))))
        data.update(params)
        return data
Esempio n. 4
0
 def testset(self):
     m = MultiValueDict()
     m['bla'] = 5
     m['bla'] = 89
     self.assertEqual(m['bla'], [5, 89])
     m['foo'] = 'pippo'
     self.assertEqual(m['foo'], 'pippo')
     return m
Esempio n. 5
0
 def info_data(self, request, **params):
     headers = self.getheaders(request)
     data = {'method': request.method, 'headers': headers}
     if request.method in ENCODE_URL_METHODS:
         data['args'] = dict(request.url_data)
     else:
         args, files = yield request.data_and_files()
         jfiles = MultiValueDict()
         for name, parts in files.lists():
             for part in parts:
                 try:
                     part = part.string()
                 except UnicodeError:
                     part = part.base64()
                 jfiles[name] = part
         data.update((('args', dict(args)), ('files', dict(jfiles))))
     data.update(params)
     yield data
Esempio n. 6
0
def query_dict(query_string, encoding='utf-8'):
    if query_string:
        return dict(MultiValueDict(_gen_query(query_string, encoding)).items())
    else:
        return {}
Esempio n. 7
0
 def testextra(self):
     m = MultiValueDict()
     m.setdefault('bla','foo')
     self.assertEqual(m['bla'],'foo')
     m['bla'] = 'ciao'
     self.assertEqual(m['bla'],['foo','ciao'])
Esempio n. 8
0
 def __init__(self, environ, options, stream):
     self.environ = environ
     self.options = options
     self.stream = stream
     self.result = (MultiValueDict(), MultiValueDict())
Esempio n. 9
0
 def test_to_dict(self):
     m = MultiValueDict((('id', 1), ('id', 2)))
     self.assertEqual(len(m), 1)
     self.assertEqual(m['id'], [1, 2])
     d = dict(m)
     self.assertEqual(d, {'id': [1, 2]})
Esempio n. 10
0
 def testextra(self):
     m = MultiValueDict()
     m.setdefault('bla', 'foo')
     self.assertEqual(m['bla'], 'foo')
     m['bla'] = 'ciao'
     self.assertEqual(m['bla'], ['foo', 'ciao'])
Esempio n. 11
0
 def __init__(self, environ, options, stream):
     self.environ = environ
     self.options = options
     self.stream = stream
     self.limit = environ['pulsar.cfg'].stream_buffer
     self.result = (MultiValueDict(), MultiValueDict())