当前位置: 首页>>代码示例>>Python>>正文


Python HttpRequest.encode_multipart_formdata方法代码示例

本文整理汇总了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'})
开发者ID:anthonypt87,项目名称:rbtools,代码行数:28,代码来源:tests.py

示例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'})
开发者ID:clach04,项目名称:rbtools,代码行数:17,代码来源:tests.py

示例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')
开发者ID:clach04,项目名称:rbtools,代码行数:21,代码来源:tests.py

示例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'})
开发者ID:elatt,项目名称:rbtools,代码行数:44,代码来源:tests.py

示例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')
开发者ID:clach04,项目名称:rbtools,代码行数:71,代码来源:tests.py


注:本文中的rbtools.api.request.HttpRequest.encode_multipart_formdata方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。