| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 77b5fff commit 5f89c97
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1048,6 +1048,11 @@ def _main(args=None): | |||
| 1048 | 1048 | '(default: %(default)s)') | |
| 1049 | 1049 | parser.add_argument('--cors', action='store_true', | |
| 1050 | 1050 | help='Enable Access-Control-Allow-Origin: * header') | |
| 1051 | + parser.add_argument('-H', '--header', nargs=2, action='append', | ||
| 1052 | + # metavar='HEADER VALUE', | ||
| 1053 | + metavar=('HEADER', 'VALUE'), | ||
| 1054 | + help='Add a custom response header ' | ||
| 1055 | + '(can be used multiple times)') | ||
| 1051 | 1056 | args = parser.parse_args(args) | |
| 1052 | 1057 | ||
| 1053 | 1058 | if not args.tls_cert and args.tls_key: | |
@@ -1085,7 +1090,12 @@ class HTTPSDualStackServer(DualStackServerMixin, ThreadingHTTPSServer): | |||
| 1085 | 1090 | pass | |
| 1086 | 1091 | ||
| 1087 | 1092 | ServerClass = HTTPSDualStackServer if args.tls_cert else HTTPDualStackServer | |
| 1088 | - response_headers = {'Access-Control-Allow-Origin': '*'} if args.cors else None | ||
| 1093 | + response_headers = {} | ||
| 1094 | + if args.cors: | ||
| 1095 | + response_headers['Access-Control-Allow-Origin'] = '*' | ||
| 1096 | + for header, value in args.header or []: | ||
| 1097 | + response_headers[header] = value | ||
| 1098 | + | ||
| 1089 | 1099 | ||
| 1090 | 1100 | test( | |
| 1091 | 1101 | HandlerClass=SimpleHTTPRequestHandler, | |
@@ -1096,7 +1106,7 @@ class HTTPSDualStackServer(DualStackServerMixin, ThreadingHTTPSServer): | |||
| 1096 | 1106 | tls_cert=args.tls_cert, | |
| 1097 | 1107 | tls_key=args.tls_key, | |
| 1098 | 1108 | tls_password=tls_key_password, | |
| 1099 | - response_headers=response_headers | ||
| 1109 | + response_headers=response_headers or None | ||
| 1100 | 1110 | ) | |
| 1101 | 1111 | ||
| 1102 | 1112 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1399,6 +1399,18 @@ def test_cors_flag(self, mock_func): | |||
| 1399 | 1399 | mock_func.assert_called_once_with(**call_args) | |
| 1400 | 1400 | mock_func.reset_mock() | |
| 1401 | 1401 | ||
| 1402 | + @mock.patch('http.server.test') | ||
| 1403 | + def test_header_flag(self, mock_func): | ||
| 1404 | + self.invoke_httpd('--header', 'h1', 'v1', '-H', 'h2', 'v2') | ||
| 1405 | + call_args = self.args | dict( | ||
| 1406 | + response_headers={ | ||
| 1407 | + 'h1': 'v1', | ||
| 1408 | + 'h2': 'v2' | ||
| 1409 | + } | ||
| 1410 | + ) | ||
| 1411 | + mock_func.assert_called_once_with(**call_args) | ||
| 1412 | + mock_func.reset_mock() | ||
| 1413 | + | ||
| 1402 | 1414 | @unittest.skipIf(ssl is None, "requires ssl") | |
| 1403 | 1415 | @mock.patch('http.server.test') | |
| 1404 | 1416 | def test_tls_cert_and_key_flags(self, mock_func): | |
| Back | FazBrowse Home | New Git URL |
0 commit comments