diff options
Diffstat (limited to 'src/server/HttpServer.hx')
| -rw-r--r-- | src/server/HttpServer.hx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/HttpServer.hx b/src/server/HttpServer.hx index 2076336..1198ca1 100644 --- a/src/server/HttpServer.hx +++ b/src/server/HttpServer.hx @@ -50,7 +50,7 @@ class HttpServer { } public static function serveFiles(req:IncomingMessage, res:ServerResponse):Void { - var url = req.url; + var url = decodeURI(req.url); if (url == "/") url = "/index.html"; var filePath = dir + url; final ext = Path.extension(filePath).toLowerCase(); @@ -183,7 +183,7 @@ class HttpServer { fn:(req:IncomingMessage) -> Bool ):Null<ClientRequest> { final url = try { - new URL(js.Node.global.decodeURI(url)); + new URL(decodeURI(url)); } catch (e) return null; if (url.host == req.headers["host"]) return null; final options = { @@ -215,4 +215,8 @@ class HttpServer { if (contentType == null) return "application/octet-stream"; return contentType; } + + static inline function decodeURI(data:String):String { + return js.Syntax.code("decodeURI({0})", data); + } } |
