docs: function addWebRoutes(opts) {
      var server = opts.server;
      var socialProviders = opts.config && opts.config.security && opts.config.security.social;
      var me = this;
  
      // first add social auth routes
      _.each(socialProviders, function (provider, providerName) {
          server.route({
              method:     ['GET', 'POST'],
              path:       '/auth/' + providerName,
              handler:    me.getWebRouteHandler(opts),
              config:     { auth: providerName }
          });
      });
  
      routeHandler = this.getWebRouteHandler(opts);
  
      // all other URLs checked against app config files for dymanic web routes
      server.route({
          method:     '*',
          path:       '/{p*}',
          handler:    routeHandler,
          config: {
              state: {
                  parse:      true,
                  failAction: 'log'
              }
          }
      });
  
      // for now simple access logging for errors
      server.on('response', function (request) {
          var resp = request.response || {};
          var statusCode = resp.statusCode || 0;
          var method = (request.method || '').toUpperCase();
          var reqInfo = request.info || {};
          var referrer = reqInfo.referrer || '';
          var host = reqInfo.hostname || '';
          var url = request.url || {};
          var urlPath = url.path || '';
  
          if (statusCode > 399 && method.toUpperCase && host && urlPath) {
  
              var lapse = -1;
              if (reqInfo.responded && reqInfo.received) {
                  lapse = reqInfo.responded - reqInfo.received;
              }
  
              var msg = method + ' ' + host + urlPath + ' -> ' + statusCode + ' ' + '(' + lapse + 'ms)';
              if (referrer) {
                  msg += ' ref: ' + request.info.referrer;
              }
  
              console.log(msg);
          }
      });
  }