Alternatively you could use apply() here, like this:

```js
var params = [self.settings.path];

if ('middleware' in settings) {
  params.push(middleware);
}

app[method].apply(app, params.concat([function(request, response) {
  self.handle(request, response);
}]));
```

other something like that.