MCPcopy Create free account
hub / github.com/s3tools/s3cmd / send_request

Method send_request

S3/CloudFront.py:529–564  ·  view source on GitHub ↗
(self, op_name, dist_id = None, request_id = None, body = None, headers = None, retries = None)

Source from the content-addressed store, hash-verified

527 ## --------------------------------------------------
528
529 def send_request(self, op_name, dist_id = None, request_id = None, body = None, headers = None, retries = None):
530 if retries is None:
531 retries = self.config.max_retries
532 if headers is None:
533 headers = SortedDict(ignore_case = True)
534 operation = self.operations[op_name]
535 if body:
536 headers['content-type'] = 'text/plain'
537 request = self.create_request(operation, dist_id, request_id, headers)
538 conn = self.get_connection()
539 debug("send_request(): %s %s" % (request['method'], request['resource']))
540 conn.c.request(request['method'], request['resource'], body, request['headers'])
541 http_response = conn.c.getresponse()
542 response = {}
543 response["status"] = http_response.status
544 response["reason"] = http_response.reason
545 response["headers"] = convertHeaderTupleListToDict(http_response.getheaders())
546 response["data"] = http_response.read()
547 ConnMan.put(conn)
548
549 debug("CloudFront: response: %r" % response)
550
551 if response["status"] >= 500:
552 e = CloudFrontError(response)
553 if retries:
554 warning(u"Retrying failed request: %s (%s)" % (op_name, e))
555 warning("Waiting %d sec..." % self._fail_wait(retries))
556 time.sleep(self._fail_wait(retries))
557 return self.send_request(op_name, dist_id, body = body, retries = retries - 1)
558 else:
559 raise e
560
561 if response["status"] < 200 or response["status"] > 299:
562 raise CloudFrontError(response)
563
564 return response
565
566 def create_request(self, operation, dist_id = None, request_id = None, headers = None):
567 resource = cloudfront_resource + (

Callers 9

GetListMethod · 0.95
CreateDistributionMethod · 0.95
DeleteDistributionMethod · 0.95
GetDistInfoMethod · 0.95
GetDistConfigMethod · 0.95
SetDistConfigMethod · 0.95
InvalidateObjectsMethod · 0.95
GetInvalListMethod · 0.95
GetInvalInfoMethod · 0.95

Calls 7

create_requestMethod · 0.95
get_connectionMethod · 0.95
_fail_waitMethod · 0.95
SortedDictClass · 0.90
CloudFrontErrorClass · 0.85
putMethod · 0.80

Tested by

no test coverage detected