UNPKG

hono

Version:

Web framework built on Web Standards

33 lines (32 loc) 956 B
// src/utils/filepath.ts var getFilePath = (options) => { let filename = options.filename; const defaultDocument = options.defaultDocument || "index.html"; if (filename.endsWith("/")) { filename = filename.concat(defaultDocument); } else if (!filename.match(/\.[a-zA-Z0-9_-]+$/)) { filename = filename.concat("/" + defaultDocument); } const path = getFilePathWithoutDefaultDocument({ root: options.root, filename }); return path; }; var getFilePathWithoutDefaultDocument = (options) => { let root = options.root || ""; let filename = options.filename; if (/(?:^|[\/\\])\.\.(?:$|[\/\\])/.test(filename)) { return; } filename = filename.replace(/^\.?[\/\\]/, ""); filename = filename.replace(/\\/, "/"); root = root.replace(/\/$/, ""); let path = root ? root + "/" + filename : filename; path = path.replace(/^\.?\//, ""); return path; }; export { getFilePath, getFilePathWithoutDefaultDocument };