I can also recommend SugoiJS, it is very easy to set up and gives an option to start writing fast and has great features.
Take a look here to get started: http://demo.sugoijs.com/ , documentation: https://wiki.sugoijs.com/
It has request handling decorators, request policies and authorization policies decorators.
For example:
import {Controller,Response,HttpGet,RequestParam} from "@sugoi/server";
?
@Controller('/dashboard')
export class CoreController{
constructor(){}
?
@HttpGet("/:role")
test(@RequestParam('role') role:string,
@RequestHeader("role") headerRole:string){
if(role === headerRole )
return "authorized";
else{
throw new Error("unauthorized")
}
}
}