diff --git a/.gitignore b/.gitignore index 52293f2..a5d48cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules package-lock.json certificate.crt -private.key \ No newline at end of file +private.key +main.js \ No newline at end of file diff --git a/main.ts b/main.ts index 2f91898..0553555 100644 --- a/main.ts +++ b/main.ts @@ -1,10 +1,11 @@ -const config = require('./config.json') -import fs, { stat } from 'fs'; -import http, { IncomingMessage, ServerResponse } from 'http'; -import https from 'https'; -import url from 'url'; -import path, { dirname } from 'path'; -import mime from 'mime'; +const config = require('./config.json'); +import * as fs from 'fs'; +import * as http from 'http'; +import { IncomingMessage, ServerResponse } from 'http'; +import * as https from 'https'; +import * as url from 'url'; +import * as path from 'path'; +import * as mime from 'mime-types'; let server: http.Server | https.Server; @@ -109,7 +110,7 @@ function requestHandler(request: IncomingMessage, response: ServerResponse) { } } else if (stats.isFile()) { const extension = path.extname(finalPath) - const mimeType = mime.getType(extension) || config.defaultToMime; + const mimeType = mime.lookup(extension) || config.defaultToMime; response.writeHead(200, {"content-type" : mimeType}); fs.readFile(finalPath, (err, data) => { if (err) { diff --git a/package.json b/package.json index 770da9b..89f2bf1 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,24 @@ { - "name" : "zephyrus-webserver", - "description" : "A simple webserver that supports directory listing.", - "author" : "Adrian Victor de Abreu Alves ", - "version" : "1.0.0", - "private" : false, + "name": "zephyrus-webserver", + "description": "A simple webserver that supports directory listing.", + "author": "Adrian Victor de Abreu Alves ", + "version": "1.0.0", + "private": false, "scripts": { "start": "ts-node main.ts" }, "devDependencies": { "@types/node": "^22.9.0", + "mime-types": "^2.1.35", "ts-node": "^10.9.2", "typescript": "^5.6.3" }, "dependencies": { "mime": "^4.0.4" + }, + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "esModuleInterop": true } }