summaryrefslogtreecommitdiff
path: root/tools/http_server.py
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2020-01-27 05:59:41 +1100
committerRyan Dahl <ry@tinyclouds.org>2020-01-26 13:59:41 -0500
commitf604becaba0c747fdf8dd9d0d744c7bd19322e41 (patch)
tree5a7d2391182c2385f297579ab35667189640eda8 /tools/http_server.py
parentec44be0760d647b3d005387d2f44ad0336d01024 (diff)
Improve support of type definitions (#3755)
Diffstat (limited to 'tools/http_server.py')
-rwxr-xr-xtools/http_server.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/tools/http_server.py b/tools/http_server.py
index 3152a8982..9b929c15e 100755
--- a/tools/http_server.py
+++ b/tools/http_server.py
@@ -56,17 +56,44 @@ class ContentTypeHandler(QuietSimpleHTTPRequestHandler):
if_not_match = self.headers.getheader('if-none-match')
if if_not_match == "33a64df551425fcc55e":
self.send_response(304, 'Not Modified')
- self.send_header('Content-type', 'application/javascript')
+ self.send_header('Content-type', 'application/typescript')
self.send_header('ETag', '33a64df551425fcc55e')
self.end_headers()
else:
self.send_response(200, 'OK')
- self.send_header('Content-type', 'application/javascript')
+ self.send_header('Content-type', 'application/typescript')
self.send_header('ETag', '33a64df551425fcc55e')
self.end_headers()
self.wfile.write(bytes("console.log('etag')"))
return
+ if "xTypeScriptTypes.js" in self.path:
+ self.protocol_version = "HTTP/1.1"
+ self.send_response(200, 'OK')
+ self.send_header('Content-type', 'application/javascript')
+ self.send_header('X-TypeScript-Types', './xTypeScriptTypes.d.ts')
+ self.end_headers()
+ self.wfile.write(bytes("export const foo = 'foo';"))
+ return
+
+ if "xTypeScriptTypes.d.ts" in self.path:
+ self.protocol_version = "HTTP/1.1"
+ self.send_response(200, 'OK')
+ self.send_header('Content-type', 'application/typescript')
+ self.end_headers()
+ self.wfile.write(bytes("export const foo: 'foo';"))
+ return
+
+ if "referenceTypes.js" in self.path:
+ self.protocol_version = "HTTP/1.1"
+ self.send_response(200, 'OK')
+ self.send_header('Content-type', 'application/javascript')
+ self.end_headers()
+ self.wfile.write(
+ bytes('/// <reference types="./xTypeScriptTypes.d.ts" />\r\n'
+ 'export const foo = "foo";\r\n'))
+ return
+
if "multipart_form_data.txt" in self.path:
self.protocol_version = 'HTTP/1.1'
self.send_response(200, 'OK')