bmullan91 / express-subdomain

Super simple subdomain middleware for expressjs
415 stars 49 forks source link

Not working, even example fails #52

Closed DigitalKrony closed 5 years ago

DigitalKrony commented 5 years ago

Per your example code.

const subdomain = require('express-subdomain');

//////////////////////////////
//    expected responses    //
//////////////////////////////
var responses = {
    main: {
      '/': 'Simple example homepage!'
    },
    api: {
      '/': 'Welcome to our simple API!',
      '/users': [{ name: "Brian" }]
    }
  };

//////////////////////////////
//         routes           //
//////////////////////////////
var router = express.Router();

//api specific routes
router.get('/', function(req, res) {
    res.send(responses.api['/']);
});

router.get('/users', function(req, res) {
    res.json(responses.api['/users']);
});
var app = express();

app.use(subdomain('api', router));

app.get('/', function (req, res) {
  res.send(responses.main['/']);
});

app.listen(3000);

Using Express ^4.16.4 and Express-Subdomain ^1.0.5 hosts file has been updated to include the api sub-domain.

bmullan91 commented 5 years ago

Your url doesn’t have a TLD.

You need to add something like this in your host file: myapp.dev, then your api.myapp.dev will work.