В настоящее время я собираю MVC Framework в NodeJS, но у меня возникает небольшая проблема, когда я проверяю, существует ли метод в контроллере, я делаю следующее:
var controller = new (this.appManager.getControllerObj(this.route.controller))();
var method = this.route.method;
if(method in controller)
{
/*
* Method exists within controller
* */
}
Но, очевидно,Тип объекта имеет собственные прототипы, поэтому, если я получаю доступ к своему сайту со следующим: https://localhost/index/__proto__
он, очевидно, пытается маршрутизировать этот метод.
Теперь я знаю, что могу просто занести в черный список определенные методы, но есть ли лучший подходчтобы выполнить это
Обновление:
Кажется, это работает нормально:
if((method in controller) && !controller.hasOwnProperty(method))
{
/*
* Method exists within controller
* */
}
Спасибо