本文整理汇总了Python中rbtools.api.request.HttpRequest类的典型用法代码示例。如果您正苦于以下问题:Python HttpRequest类的具体用法?Python HttpRequest怎么用?Python HttpRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了HttpRequest类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: _update
def _update(resource, data=None, query_args={}, *args, **kwargs):
"""Generate a PUT request on a resource.
Unlike other methods, any additional query args must be passed in
using the 'query_args' parameter, since kwargs is used for the
fields which will be sent.
Review Board expects ``extra_data`` fields to be sent as
``extra_data.field_name``, which cannot be passed as a raw literal in
Python. Fields like this would have to be added to a dict and splatted.
However, this function also accepts keyword arguments of the form
``extra_data__field_name``, which will be rewritten to fields of the form
``extra_data.field_name``.
"""
request = HttpRequest(resource._links['update']['href'], method='PUT',
query_args=query_args)
if data is None:
data = {}
kwargs.update(data)
for name, value in _preprocess_fields(kwargs):
request.add_field(name, value)
return request
开发者ID:torcolvin,项目名称:rbtools,代码行数:26,代码来源:resource.py
示例2: upload_attachment
def upload_attachment(self, filename, content, caption=None, **kwargs):
"""Uploads a new attachment.
The content argument should contain the body of the file to be
uploaded, in string format.
"""
request = HttpRequest(self._url, method="POST", query_args=kwargs)
request.add_file("path", filename, content)
if caption:
request.add_field("caption", caption)
return request
开发者ID:RiverMeadow,项目名称:rbtools,代码行数:13,代码来源:resource.py
示例3: upload_screenshot
def upload_screenshot(self, filename, content, caption=None, **kwargs):
"""Uploads a new screenshot.
The content argument should contain the body of the screenshot
to be uploaded, in string format.
"""
request = HttpRequest(self.url, method='POST', query_args=kwargs)
request.add_file('path', filename, content)
if caption:
request.add_field('caption', caption)
return request
开发者ID:cvanes,项目名称:rbtools,代码行数:13,代码来源:resource.py
示例4: _update
def _update(resource, data={}, query_args={}, *args, **kwargs):
"""Generate a PUT request on a resource.
Unlike other methods, any additional query args must be passed in
using the 'query_args' parameter, since kwargs is used for the
fields which will be sent.
"""
request = HttpRequest(resource._links['update']['href'], method='PUT',
query_args=query_args)
data.update(kwargs)
for name, value in data.iteritems():
request.add_field(name, value)
return request
开发者ID:cvanes,项目名称:rbtools,代码行数:16,代码来源:resource.py
示例5: _update
def _update(resource, data=None, query_args={}, *args, **kwargs):
"""Generate a PUT request on a resource.
Unlike other methods, any additional query args must be passed in
using the 'query_args' parameter, since kwargs is used for the
fields which will be sent.
"""
request = HttpRequest(resource._links["update"]["href"], method="PUT", query_args=query_args)
if data is None:
data = {}
kwargs.update(data)
for name, value in kwargs.iteritems():
request.add_field(name, value)
return request
开发者ID:RiverMeadow,项目名称:rbtools,代码行数:18,代码来源:resource.py
示例6: create_empty
def create_empty(self, base_commit_id=None, **kwargs):
"""Create an empty DiffSet that commits can be added to.
Args:
base_commit_id (unicode, optional):
The base commit ID of the diff.
**kwargs (dict):
Keyword arguments to encode into the querystring of the request
URL.
Returns:
DiffItemResource:
The created resource.
"""
request = HttpRequest(self._url, method=b'POST', query_args=kwargs)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
return request
开发者ID:reviewboard,项目名称:rbtools,代码行数:20,代码来源:resource.py
示例7: upload_diff
def upload_diff(self, diff, parent_diff=None, base_dir=None, base_commit_id=None, **kwargs):
"""Uploads a new diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
request = HttpRequest(self._url, method="POST", query_args=kwargs)
request.add_file("path", "diff", diff)
if parent_diff:
request.add_file("parent_diff_path", "parent_diff", parent_diff)
if base_dir:
request.add_field("basedir", base_dir)
if base_commit_id:
request.add_field("base_commit_id", base_commit_id)
return request
开发者ID:RiverMeadow,项目名称:rbtools,代码行数:19,代码来源:resource.py
示例8: finalize_commit_series
def finalize_commit_series(self, cumulative_diff, validation_info,
parent_diff=None):
"""Finalize a commit series.
Args:
cumulative_diff (bytes):
The cumulative diff of the entire commit series.
validation_info (unicode):
The validation information returned by validatin the last
commit in the series with the
:py:class:`ValidateDiffCommitResource`.
parent_diff (bytes, optional):
An optional parent diff.
This will be the same parent diff uploaded with each commit.
Returns:
DiffItemResource:
The finalized diff resource.
"""
if not isinstance(cumulative_diff, bytes):
raise TypeError('cumulative_diff must be byte string, not %s'
% type(cumulative_diff))
if parent_diff is not None and not isinstance(parent_diff, bytes):
raise TypeError('parent_diff must be byte string, not %s'
% type(cumulative_diff))
request = HttpRequest(self.links['self']['href'],
method='PUT')
request.add_field('finalize_commit_series', True)
request.add_file('cumulative_diff', 'cumulative_diff',
cumulative_diff)
request.add_field('validation_info', validation_info)
if parent_diff is not None:
request.add_file('parent_diff', 'parent_diff', parent_diff)
return request
开发者ID:reviewboard,项目名称:rbtools,代码行数:42,代码来源:resource.py
示例9: prepare_upload_diff_request
def prepare_upload_diff_request(self, diff, parent_diff=None,
base_dir=None, base_commit_id=None,
**kwargs):
"""Create a request that can be used to upload a diff.
The diff and parent_diff arguments should be strings containing the
diff output.
"""
request = HttpRequest(self._url, method='POST', query_args=kwargs)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field('basedir', base_dir)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
return request
开发者ID:torcolvin,项目名称:rbtools,代码行数:21,代码来源:resource.py
示例10: validate_diff
def validate_diff(self, repository, diff, parent_diff=None,
base_dir=None, **kwargs):
"""Validates a diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
# TODO: This method should be unified with upload_diff() method of
# DiffListResource, since they both perform the same operation.
request = HttpRequest(self._url, method='POST', query_args=kwargs)
request.add_field('repository', repository)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field('basedir', base_dir)
return request
开发者ID:kristi,项目名称:rbtools,代码行数:21,代码来源:resource.py
示例11: upload_diff
def upload_diff(self, diff, parent_diff=None, base_dir=None,
base_commit_id=None, **kwargs):
"""Uploads a new diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
# TODO: This method should be unified with validate_diff() method of
# ValidateDiffResource, since they both perform the same operation.
request = HttpRequest(self._url, method='POST', query_args=kwargs)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field("basedir", base_dir)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
return request
开发者ID:kristi,项目名称:rbtools,代码行数:22,代码来源:resource.py
示例12: test_post_unicode_data
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,代码行数:19,代码来源:tests.py
示例13: upload_diff
def upload_diff(self, diff, parent_diff=None, base_dir=None, **kwargs):
"""Uploads a new diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
request = HttpRequest(self.url, method='POST', query_args=kwargs)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field("basedir", base_dir)
return request
开发者ID:cvanes,项目名称:rbtools,代码行数:16,代码来源:resource.py
示例14: HttpRequestTests
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,代码行数:42,代码来源:tests.py
示例15: setUp
def setUp(self):
self.request = HttpRequest('/')
开发者ID:clach04,项目名称:rbtools,代码行数:2,代码来源:tests.py
示例16: get_diff_data
def get_diff_data(self, **kwargs):
"""Retrieves the actual raw diff data for the file."""
request = HttpRequest(self.url, query_args=kwargs)
request.headers['Accept'] = \
'application/vnd.reviewboard.org.diff.data+json'
return request
开发者ID:cvanes,项目名称:rbtools,代码行数:6,代码来源:resource.py
示例17: get_patch
def get_patch(self, **kwargs):
"""Retrieves the actual diff file contents."""
request = HttpRequest(self.url, query_args=kwargs)
request.headers['Accept'] = 'text/x-patch'
return request
开发者ID:cvanes,项目名称:rbtools,代码行数:5,代码来源:resource.py
示例18: validate_commit
def validate_commit(self, repository, diff, commit_id, parent_id,
parent_diff=None, base_commit_id=None,
validation_info=None, **kwargs):
"""Validate the diff for a commit.
Args:
repository (unicode):
The name of the repository.
diff (bytes):
The contents of the diff to validate.
commit_id (unicode):
The ID of the commit being validated.
parent_id (unicode):
The ID of the parent commit.
parent_diff (bytes, optional):
The contents of the parent diff.
base_commit_id (unicode, optional):
The base commit ID.
validation_info (unicode, optional):
Validation information from a previous call to this resource.
**kwargs (dict):
Keyword arguments used to build the querystring.
Returns:
ValidateDiffCommitResource:
The validation result.
"""
request = HttpRequest(self._url, method=b'POST', query_args=kwargs)
request.add_file('diff', 'diff', diff)
request.add_field('repository', repository)
request.add_field('commit_id', commit_id)
request.add_field('parent_id', parent_id)
if parent_diff:
request.add_file('parent_diff', 'parent_diff', parent_diff)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
if validation_info:
request.add_field('validation_info', validation_info)
return request
开发者ID:reviewboard,项目名称:rbtools,代码行数:50,代码来源:resource.py
示例19: upload_commit
def upload_commit(self, validation_info, diff, commit_id, parent_id,
author_name, author_email, author_date, commit_message,
committer_name=None, committer_email=None,
committer_date=None, parent_diff=None, **kwargs):
"""Upload a commit.
Args:
validation_info (unicode):
The validation info, or ``None`` if this is the first commit in
a series.
diff (bytes):
The diff contents.
commit_id (unicode):
The ID of the commit being uploaded.
parent_id (unicode):
The ID of the parent commit.
author_name (unicode):
The name of the author.
author_email (unicode):
The e-mail address of the author.
author_date (unicode):
The date and time the commit was authored in ISO 8601 format.
committer_name (unicode, optional):
The name of the committer (if applicable).
committer_email (unicode, optional):
The e-mail address of the committer (if applicable).
committer_date (unicode, optional):
The date and time the commit was committed in ISO 8601 format
(if applicable).
parent_diff (bytes, optional):
The contents of the parent diff.
**kwargs (dict):
Keyword argument used to build the querystring for the request
URL.
Returns:
DraftDiffCommitItemResource:
The created resource.
Raises:
rbtools.api.errors.APIError:
An error occurred while uploading the commit.
"""
request = HttpRequest(self._url, method=b'POST', query_args=kwargs)
request.add_file('diff', 'diff', diff)
request.add_field('commit_id', commit_id)
request.add_field('parent_id', parent_id)
request.add_field('commit_message', commit_message)
request.add_field('author_name', author_name)
request.add_field('author_email', author_email)
request.add_field('author_date', author_date)
if validation_info:
request.add_field('validation_info', validation_info)
if committer_name and committer_email and committer_date:
request.add_field('committer_name', committer_name)
request.add_field('committer_email', committer_email)
request.add_field('committer_date', committer_date)
elif committer_name or committer_email or committer_name:
logging.warning(
'Either all or none of committer_name, committer_email, and '
'committer_date must be provided to upload_commit. None of '
'these fields will be submitted.'
)
if parent_diff:
request.add_file('parent_diff', 'parent_diff', parent_diff)
return request
开发者ID:reviewboard,项目名称:rbtools,代码行数:82,代码来源:resource.py
示例20: test_post_form_data
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,代码行数:26,代码来源:tests.py
注:本文中的rbtools.api.request.HttpRequest类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论