Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

291
Views
How do I implement a socket IO using express which works with Netlify?

These are the 3 main files however I'm not sure how to implement a socket IO that works with netlify. I am trying to add a websocket listener to my express server. How do I do that?

routes.js

const users = require('./controllers/users');
const posts = require('./controllers/posts');
const files = require('./controllers/files');
const comments = require('./controllers/comments');
const chatroom = require('./controllers/chatroom');
const { jwtAuth, postAuth, commentAuth } = require('./auth');
const router = require('express').Router();

// Authentication routers
router.post('/login', users.validate(), users.login);
router.post('/register', users.validate('register'), users.register);
router.post('/forgotPassword', users.forgot);
router.post('/updatepassword', users.updatepassword);
router.post(
  '/changepassword',
  users.validate('changepassword'),
  users.changePassword
);

module.exports = app => {
  app.use('/.netlify/functions/app', router);

  app.get('*', (req, res) => {
    res.status(404).json({ message: 'not found' });
  });

  app.use((err, req, res, next) => {
    if (err.type === 'entity.parse.failed') {
      return res.status(400).json({ message: 'bad request' });
    }
    next(err);
  });
};

app.js

const express = require('express');
const serverless = require('serverless-http');
const morgan = require('morgan');
const cors = require('cors');
const expressValidator = require('express-validator');
const passport = require('passport');
const localStrategy = require('./auth/local');
const jwtStrategy = require('./auth/jwt');

const app = express();

const mongoose = require('mongoose');
const config = require('./config');

const connect = url => {
  return mongoose.connect(url, config.db.options);
};

if (require.main === module) {
  connect(config.db.prod);
  mongoose.connection.on('error', console.log);
}

app.use(cors());
app.use(express.json());
app.use(expressValidator());
app.use(morgan('common'));
app.use(passport.initialize());

passport.use(localStrategy);
passport.use(jwtStrategy);

require('./routes')(app);

module.exports.handler = serverless(app);

index.js

const app = require('./app');
const mongoose = require('mongoose');
const config = require('./config');

const connect = url => {
  return mongoose.connect(url, config.db.options);
};

if (require.main === module) {
  connect(config.db.prod);
  mongoose.connection.on('error', console.log);
}

module.exports = { connect };

Let me know if anything else is needed. Netlify makes stuff a bit harder and when I upload it does not work.

about 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!