| 412 | |
| 413 | # Add COOP, COEP, CORP, and no-caching headers |
| 414 | def end_headers(self): |
| 415 | self.send_header('Accept-Ranges', 'bytes') |
| 416 | self.send_header('Access-Control-Allow-Origin', '*') |
| 417 | self.send_header('Cross-Origin-Opener-Policy', 'same-origin') |
| 418 | self.send_header('Cross-Origin-Embedder-Policy', 'require-corp') |
| 419 | self.send_header('Cross-Origin-Resource-Policy', 'cross-origin') |
| 420 | |
| 421 | self.send_header('Cache-Control', 'no-cache, no-store, must-revalidate, private, max-age=0') |
| 422 | self.send_header('Expires', '0') |
| 423 | self.send_header('Pragma', 'no-cache') |
| 424 | self.send_header('Vary', '*') # Safari insists on caching if this header is not present in addition to the above |
| 425 | |
| 426 | return SimpleHTTPRequestHandler.end_headers(self) |
| 427 | |
| 428 | def do_POST(self): # noqa: DC04 |
| 429 | urlinfo = urlparse(self.path) |