(value: Optional[str])
| 123 | |
| 124 | |
| 125 | def _parse_retry_after(value: Optional[str]) -> Optional[float]: |
| 126 | if not value: |
| 127 | return None |
| 128 | try: |
| 129 | return max(float(value), 0.0) |
| 130 | except ValueError: |
| 131 | try: |
| 132 | retry_at = parsedate_to_datetime(value) |
| 133 | return max((retry_at.timestamp() - time.time()), 0.0) |
| 134 | except (TypeError, ValueError, OverflowError): |
| 135 | return None |