(self, request, response, fn, *args, **kwargs)
| 1648 | return None |
| 1649 | |
| 1650 | def _http_403_handler(self, request, response, fn, *args, **kwargs): |
| 1651 | if 'data' in response and len(response['data']) > 0: |
| 1652 | failureCode = getTextFromXml(response['data'], 'Code') |
| 1653 | if failureCode == 'AccessDenied': |
| 1654 | # traditional HTTP 403 |
| 1655 | message = getTextFromXml(response['data'], 'Message') |
| 1656 | if message == 'AWS authentication requires a valid Date or x-amz-date header': # message from an Eucalyptus walrus server |
| 1657 | if not request.use_signature_v2() and not self.fallback_to_signature_v2: # have not tried with v2 yet |
| 1658 | debug(u'Falling back to signature v2') |
| 1659 | self.fallback_to_signature_v2 = True |
| 1660 | return fn(*args, **kwargs) |
| 1661 | |
| 1662 | raise S3Error(response) |
| 1663 | |
| 1664 | def update_region_inner_request(self, request): |
| 1665 | """Get and update region for the request if needed. |
no test coverage detected