1.0.2 • Published 4 years ago

@fmsfelis123/express-truepath v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

express-truepath

Parsing url to be root file.

Installation

npm install @fmsfelis123/express-truepath

Documentation

var path = require("path");

var truePath = require("express-truepath");

var root = path.resolve(".", "public");
var config = { // this is default value
    index: ["index.html", "default.html"],
    follow_link: true // while it set to true, it will identify symlink as file or folder and follow its link. Otherwise, it would identify as file (or flag) if it set to false.
}

// using as express middleware
var truePath_middleware = truePath(root, config); // config is optional

app.all("/*", truePath_middleware, (req,res,next) => {
    // while the file or folder is exist, there would be these propertieses
    // req.filepath is only exist if it is a file.
    // req.dirpath is always exist either it is a file or folder
    req.filepath = "/path/from/the-system/dir1/filename.html";
    req.dirpath = "/path/from/the-system/dir1";
    
    ...
    //your script
    ...

    next();
});

// This implement as parsing module.
// This example is using basic HTTP Server

var url = require("url");

http_server.on("request", (req, res)=>{
    var urlPath = url.parse(req.path).pathname;
    var webTruePath = truePath.getTruePath(root, urlPath, config);
    
    // webTruePath is returning filepath, dirpath, and fsStat
    // for fsStat is implement by `fs.statSync`.
    // If you set config.follow_link to false, fsStat would implement `fs.lstatSync`
    var {filepath, dirpath, fsStat} = webTruePath;

    // otherwise, it would retrun false if the file is not exist.
    if(webTruePath == false) res.writeHead(400).end("not found");
});

LICENSE

This package is using MIT License.

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago