本文整理汇总了Python中requests.models.Response.headers['content-length']方法的典型用法代码示例。如果您正苦于以下问题:Python Response.headers['content-length']方法的具体用法?Python Response.headers['content-length']怎么用?Python Response.headers['content-length']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类requests.models.Response
的用法示例。
在下文中一共展示了Response.headers['content-length']方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_GET_request
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import headers['content-length'] [as 别名]
def test_GET_request(self):
request = DummyRequest(
path='/proxy/bar/remote/path/@@view',
params={'foo': 'bar'},
headers={'X-BRIDGE-ORIGIN': 'foo',
'X-BRIDGE-AC': 'john.doe'})
response = Response()
response.status_code = 200
response.raw = StringIO('the response data')
response.headers['content-length'] = 17
self.expect(self.requests.request(
'get',
'http://127.0.0.1:9080/bar/remote/path/@@view',
params={'foo': 'bar'},
headers={'X-BRIDGE-ORIGIN': 'foo',
'X-BRIDGE-AC': 'john.doe'})).result(
response)
self.mocker.replay()
proxy = queryAdapter(request, IProxy)
response = proxy()
self.assertTrue(IResponse.providedBy(response))
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.body, 'the response data')
示例2: return_response
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import headers['content-length'] [as 别名]
def return_response(self, method, path, data, headers, response):
req_data = None
if method == 'POST' and path == '/':
req_data = urlparse.parse_qs(to_str(data))
action = req_data.get('Action')[0]
if req_data:
if action == 'DescribeStackResources':
if response.status_code < 300:
response_dict = xmltodict.parse(response.content)['DescribeStackResourcesResponse']
resources = response_dict['DescribeStackResourcesResult']['StackResources']
if not resources:
# Check if stack exists
stack_name = req_data.get('StackName')[0]
cloudformation_client = aws_stack.connect_to_service('cloudformation')
try:
cloudformation_client.describe_stacks(StackName=stack_name)
except Exception:
return error_response('Stack with id %s does not exist' % stack_name, code=404)
if action == 'DescribeStackResource':
if response.status_code >= 500:
# fix an error in moto where it fails with 500 if the stack does not exist
return error_response('Stack resource does not exist', code=404)
if action == 'ListStackResources':
response_dict = xmltodict.parse(response.content, force_list=('member'))['ListStackResourcesResponse']
resources = response_dict['ListStackResourcesResult']['StackResourceSummaries']
if resources:
sqs_client = aws_stack.connect_to_service('sqs')
content_str = content_str_original = to_str(response.content)
new_response = Response()
new_response.status_code = response.status_code
new_response.headers = response.headers
for resource in resources['member']:
if resource['ResourceType'] == 'AWS::SQS::Queue':
try:
queue_name = resource['PhysicalResourceId']
queue_url = sqs_client.get_queue_url(QueueName=queue_name)['QueueUrl']
except Exception:
stack_name = req_data.get('StackName')[0]
return error_response('Stack with id %s does not exist' % stack_name, code=404)
content_str = re.sub(resource['PhysicalResourceId'], queue_url, content_str)
new_response._content = content_str
if content_str_original != new_response._content:
# if changes have been made, return patched response
new_response.headers['content-length'] = len(new_response._content)
return new_response
elif action in ('CreateStack', 'UpdateStack'):
if response.status_code >= 400:
return response
# run the actual deployment
template = template_deployer.template_to_json(req_data.get('TemplateBody')[0])
template_deployer.deploy_template(template, req_data.get('StackName')[0])
示例3: return_response
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import headers['content-length'] [as 别名]
def return_response(self, method, path, data, headers, response, request_handler):
if method == 'POST' and path == '/':
req_data = urlparse.parse_qs(to_str(data))
action = req_data.get('Action', [None])[0]
event_type = None
queue_url = None
if action == 'CreateQueue':
event_type = event_publisher.EVENT_SQS_CREATE_QUEUE
response_data = xmltodict.parse(response.content)
if 'CreateQueueResponse' in response_data:
queue_url = response_data['CreateQueueResponse']['CreateQueueResult']['QueueUrl']
elif action == 'DeleteQueue':
event_type = event_publisher.EVENT_SQS_DELETE_QUEUE
queue_url = req_data.get('QueueUrl', [None])[0]
if event_type and queue_url:
event_publisher.fire_event(event_type, payload={'u': event_publisher.get_hash(queue_url)})
# patch the response and return the correct endpoint URLs
if action in ('CreateQueue', 'GetQueueUrl', 'ListQueues'):
content_str = content_str_original = to_str(response.content)
new_response = Response()
new_response.status_code = response.status_code
new_response.headers = response.headers
if config.USE_SSL and '<QueueUrl>http://' in content_str:
# return https://... if we're supposed to use SSL
content_str = re.sub(r'<QueueUrl>\s*http://', r'<QueueUrl>https://', content_str)
# expose external hostname:port
external_port = get_external_port(headers, request_handler)
content_str = re.sub(r'<QueueUrl>\s*([a-z]+)://[^<]*:([0-9]+)/([^<]*)\s*</QueueUrl>',
r'<QueueUrl>\1://%s:%s/\3</QueueUrl>' % (HOSTNAME_EXTERNAL, external_port), content_str)
new_response._content = content_str
if content_str_original != new_response._content:
# if changes have been made, return patched response
new_response.headers['content-length'] = len(new_response._content)
return new_response
# Since the following 2 API calls are not implemented in ElasticMQ, we're mocking them
# and letting them to return an empty response
if action == 'TagQueue':
new_response = Response()
new_response.status_code = 200
new_response._content = (
'<?xml version="1.0"?>'
'<TagQueueResponse>'
'<ResponseMetadata>' # noqa: W291
'<RequestId>{}</RequestId>' # noqa: W291
'</ResponseMetadata>' # noqa: W291
'</TagQueueResponse>'
).format(uuid.uuid4())
return new_response
elif action == 'ListQueueTags':
new_response = Response()
new_response.status_code = 200
new_response._content = (
'<?xml version="1.0"?>'
'<ListQueueTagsResponse xmlns="{}">'
'<ListQueueTagsResult/>' # noqa: W291
'<ResponseMetadata>' # noqa: W291
'<RequestId>{}</RequestId>' # noqa: W291
'</ResponseMetadata>' # noqa: W291
'</ListQueueTagsResponse>'
).format(XMLNS_SQS, uuid.uuid4())
return new_response