Not able to map mock JSON path

I am facing a strange problem with binding mock API paths in my NodeJS app. It works with any other route except which I have added recently. I've the following file in place.


module.exports = function ( app ) {
  var apiList, method, module, route, response, mockDataPath;

  apiList = {
    'get': {
      'clouds': {
        'v2/clouds': 'clouds/list.json',
      'assets': {
        'assets/[0-9]{1,32}/exclude_paths': 'assets/excluded_paths.json'
    'post': { ... },
    'put': { ... }

  response = function(method, route, routeObj) {
    app.route('/' + route)[method](function(req, res) {
      res.sendfile(app.get('appPath') + mockDataPath + routeObj[route]);

  for (method in apiList) {
    (function(method) {
      for (module in apiList[method]) {
        (function(module) {
          if (typeof apiList[method][module] === 'object') {
            for (route in apiList[method][module]) {
              response(method, route, apiList[method][module]);
          } else if (typeof apiList[method][module] === 'string') {
            response(method, module, apiList[method]);

As you see, mock.js has a collection of API routes in apiList variable. I loop through it and assign each route to my app in the function response.

I use this mock.js file like this in my routes:

var mock = require('./mock');

There are no syntax errors, and the variable mockDataPath points to a valid path. I've both the files clouds/list.json and assets/excluded_paths.json in place. When I console.log in the for loop (before calling the response function), I can see an entry for exclude_paths in the logs.

The problem is, the path v2/clouds works and correctly returns the contents of clouds/list.json, but the path assets/[0-9]{1,32}/exclude_paths result in a 404.

Please help me to debug this issue and point out where the probable error could be.