docs: function mapping (verb, path, status, suppressLog) {
    return function (target, key, descriptor) {
      // TODO ensure this is only used on Routes classes
      if (key === undefined) {
        // class-level
        path = path || '/';
        const info = {
          verb: verb,
          path: path,
          status: status !== undefined ? status : httpCodes.NOT_IMPLEMENTED,
          suppressLog: suppressLog
        };
        Metadata.putClassMeta(target.prototype, '@mapping', verb.toString() + ' ' + path, info);
      } else {
        // method-level
        const info = {
          verb: verb,
          path: path,
          endpoint: descriptor.value,
          suppressLog: suppressLog
        };
        Metadata.putMethodMeta(target, key, '@mapping', 'info', info);
      }
      // delete target[key]
    };
  }