1.0.607 • Published 4 years ago

express-truepath v1.0.607

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

express-truepath

Parsing url to be root file.

Installation

npm install express-truepath

Documentation

var path = require("path");

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

var rootPath = path.resolve(".", "public");
var config = { // this is default value
    index: ["index.html", "default.html"],
    follow_symlink: 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.
    resolveDirectoryURL: true // while the url is a directory, redirect to a url with a slash at the end. (middleware only)
}

// using as express middleware
var truePath_middleware = truePath(rootPath, 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 to handle the file
    ...

    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(rootPath, 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.606

4 years ago

1.0.605

4 years ago

1.0.607

4 years ago

1.0.602

4 years ago

1.0.601

4 years ago

1.0.604

4 years ago

1.0.603

4 years ago

1.0.6

4 years ago

1.0.600

4 years ago

1.0.504

4 years ago

1.0.503

4 years ago

1.0.502

4 years ago

1.0.501

4 years ago

1.0.500

4 years ago

1.0.403

4 years ago

1.0.402

4 years ago

1.0.4

4 years ago

1.0.401

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

1.0.3

4 years ago