diff --git a/deno.json b/deno.json index 828e7c8..cd9a55e 100644 --- a/deno.json +++ b/deno.json @@ -1,7 +1,7 @@ { "name": "@andyburke/serverus", "description": "A flexible HTTP server for mixed content. Throw static files, markdown, Typescript and (hopefully, eventually) more into a directory and serverus can serve it up a bit more like old-school CGI.", - "version": "0.11.1", + "version": "0.11.2", "license": "MIT", "exports": { ".": "./serverus.ts", diff --git a/handlers/static.ts b/handlers/static.ts index c034de0..ab19988 100644 --- a/handlers/static.ts +++ b/handlers/static.ts @@ -82,7 +82,7 @@ export const HANDLERS: Partial> = { PUT: async (request: Request, normalized_path: string, server: SERVER): Promise => { PUT_PATHS_ALLOWED = PUT_PATHS_ALLOWED ?? - (Deno.env.get('SERVERUS_PUT_PATHS_ALLOWED') ?? '').split(';'); + (Deno.env.get('SERVERUS_PUT_PATHS_ALLOWED') ?? '').split(';').map((p) => path.resolve(p)); const allowed = PUT_PATHS_ALLOWED.some((allowed_put_path: string) => normalized_path.startsWith(allowed_put_path)); @@ -187,7 +187,7 @@ export const HANDLERS: Partial> = { DELETE: async (request: Request, normalized_path: string, server: SERVER): Promise => { DELETE_PATHS_ALLOWED = DELETE_PATHS_ALLOWED ?? - (Deno.env.get('SERVERUS_DELETE_PATHS_ALLOWED') ?? '').split(';'); + (Deno.env.get('SERVERUS_DELETE_PATHS_ALLOWED') ?? '').split(';').map((p) => path.resolve(p)); const allowed = DELETE_PATHS_ALLOWED.some((allowed_delete_path: string) => normalized_path.startsWith(allowed_delete_path)); @@ -249,16 +249,14 @@ export const HANDLERS: Partial> = { const allowed = ['GET', 'HEAD', 'OPTIONS']; PUT_PATHS_ALLOWED = PUT_PATHS_ALLOWED ?? - (Deno.env.get('SERVERUS_PUT_PATHS_ALLOWED') ?? '').split(';').map((put_path) => path.resolve(path.join(Deno.cwd(), put_path))); + (Deno.env.get('SERVERUS_PUT_PATHS_ALLOWED') ?? '').split(';').map((p) => path.resolve(p)); if (PUT_PATHS_ALLOWED.some((allowed_put_path: string) => normalized_path.startsWith(allowed_put_path))) { allowed.push('PUT'); } DELETE_PATHS_ALLOWED = DELETE_PATHS_ALLOWED ?? - (Deno.env.get('SERVERUS_DELETE_PATHS_ALLOWED') ?? '').split(';').map((delete_path) => - path.resolve(path.join(Deno.cwd(), delete_path)) - ); + (Deno.env.get('SERVERUS_DELETE_PATHS_ALLOWED') ?? '').split(';').map((p) => path.resolve(p)); if (DELETE_PATHS_ALLOWED.some((allowed_delete_path: string) => normalized_path.startsWith(allowed_delete_path))) { allowed.push('DELETE');