本文整理汇总了Python中rbtools.api.request.HttpRequest.encode_multipart_formdata方法的典型用法代码示例。如果您正苦于以下问题:Python HttpRequest.encode_multipart_formdata方法的具体用法?Python HttpRequest.encode_multipart_formdata怎么用?Python HttpRequest.encode_multipart_formdata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rbtools.api.request.HttpRequest
的用法示例。
在下文中一共展示了HttpRequest.encode_multipart_formdata方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_post_form_data
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import encode_multipart_formdata [as 别名]
def test_post_form_data(self):
"""Test the multipart form data generation."""
request = HttpRequest('/', 'POST')
request.add_field('foo', 'bar')
request.add_field('bar', 42)
request.add_field('err', 'must-be-deleted')
request.add_field('name', 'somestring')
request.del_field('err')
ctype, content = request.encode_multipart_formdata()
m = re.match('^multipart/form-data; boundary=(.*)$', ctype)
self.assertFalse(m is None)
fields = [l.strip() for l in content.split('--' + m.group(1))][1:-1]
d = {}
for f in fields:
lst = f.split('\r\n\r\n')
self.assertEquals(len(lst), 2)
k, v = lst
m = re.match('Content-Disposition: form-data; name="(.*?)"$', k)
self.assertFalse(m is None)
d[m.group(1)] = v
self.assertEquals(d, {'foo': 'bar', 'bar': '42', 'name': 'somestring'})
示例2: test_post_form_data
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import encode_multipart_formdata [as 别名]
def test_post_form_data(self):
"""Testing the multipart form data generation."""
request = HttpRequest('/', 'POST')
request.add_field('foo', 'bar')
request.add_field('bar', 42)
request.add_field('err', 'must-be-deleted')
request.add_field('name', 'somestring')
request.del_field('err')
ctype, content = request.encode_multipart_formdata()
d = self._get_fields_as_dict(ctype, content)
self.assertEqual(
d, {b'foo': b'bar', b'bar': b'42', b'name': b'somestring'})
示例3: test_post_unicode_data
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import encode_multipart_formdata [as 别名]
def test_post_unicode_data(self):
"""Testing the encoding of multipart form data with unicode and binary
field data
"""
konnichiwa = '\u3053\u3093\u306b\u3061\u306f'
request = HttpRequest('/', 'POST')
request.add_field('foo', konnichiwa)
request.add_field('bar', konnichiwa.encode('utf-8'))
request.add_field('baz', b'\xff')
ctype, content = request.encode_multipart_formdata()
fields = self._get_fields_as_dict(ctype, content)
self.assertTrue('foo' in fields)
self.assertEqual(fields['foo'], konnichiwa.encode('utf-8'))
self.assertEqual(fields['bar'], konnichiwa.encode('utf-8'))
self.assertEqual(fields['baz'], b'\xff')
示例4: HttpRequestTests
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import encode_multipart_formdata [as 别名]
class HttpRequestTests(TestCase):
def setUp(self):
self.request = HttpRequest('/')
def test_default_values(self):
"""Testing the default values."""
self.assertEqual(self.request.url, '/')
self.assertEqual(self.request.method, 'GET')
content_type, content = self.request.encode_multipart_formdata()
self.assertTrue(content_type is None)
self.assertTrue(content is None)
def test_post_form_data(self):
"""Testing the multipart form data generation."""
request = HttpRequest('/', 'POST')
request.add_field('foo', 'bar')
request.add_field('bar', 42)
request.add_field('err', 'must-be-deleted')
request.add_field('name', 'somestring')
request.del_field('err')
ctype, content = request.encode_multipart_formdata()
m = re.match(b'^multipart/form-data; boundary=(.*)$', ctype)
self.assertFalse(m is None)
fields = [l.strip() for l in content.split(b'--' + m.group(1))][1:-1]
d = {}
disposition_re = re.compile(
b'Content-Disposition: form-data; name="(.*?)"$')
for f in fields:
lst = f.split(b'\r\n\r\n')
self.assertEqual(len(lst), 2)
k, v = lst
m = disposition_re.match(k)
self.assertFalse(m is None)
d[m.group(1)] = v
self.assertEqual(
d, {b'foo': b'bar', b'bar': b'42', b'name': b'somestring'})
示例5: HttpRequestTests
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import encode_multipart_formdata [as 别名]
class HttpRequestTests(TestCase):
def setUp(self):
self.request = HttpRequest('/')
def test_default_values(self):
"""Testing the default values."""
self.assertEqual(self.request.url, '/')
self.assertEqual(self.request.method, 'GET')
content_type, content = self.request.encode_multipart_formdata()
self.assertTrue(content_type is None)
self.assertTrue(content is None)
def _get_fields_as_dict(self, ctype, content):
"""Extract the fields of a HTTP multipart request as a dictionary."""
m = re.match(b'^multipart/form-data; boundary=(.*)$', ctype)
self.assertFalse(m is None)
fields = [l.strip() for l in content.split(b'--' + m.group(1))][1:-1]
d = {}
disposition_re = re.compile(
b'Content-Disposition: form-data; name="(.*?)"$')
for f in fields:
lst = f.split(b'\r\n\r\n')
self.assertEqual(len(lst), 2)
k, v = lst
m = disposition_re.match(k)
self.assertFalse(m is None)
d[m.group(1)] = v
return d
def test_post_form_data(self):
"""Testing the multipart form data generation."""
request = HttpRequest('/', 'POST')
request.add_field('foo', 'bar')
request.add_field('bar', 42)
request.add_field('err', 'must-be-deleted')
request.add_field('name', 'somestring')
request.del_field('err')
ctype, content = request.encode_multipart_formdata()
d = self._get_fields_as_dict(ctype, content)
self.assertEqual(
d, {b'foo': b'bar', b'bar': b'42', b'name': b'somestring'})
def test_post_unicode_data(self):
"""Testing the encoding of multipart form data with unicode and binary
field data
"""
konnichiwa = '\u3053\u3093\u306b\u3061\u306f'
request = HttpRequest('/', 'POST')
request.add_field('foo', konnichiwa)
request.add_field('bar', konnichiwa.encode('utf-8'))
request.add_field('baz', b'\xff')
ctype, content = request.encode_multipart_formdata()
fields = self._get_fields_as_dict(ctype, content)
self.assertTrue('foo' in fields)
self.assertEqual(fields['foo'], konnichiwa.encode('utf-8'))
self.assertEqual(fields['bar'], konnichiwa.encode('utf-8'))
self.assertEqual(fields['baz'], b'\xff')