diff --git a/remix-simulator/bin/ethsim b/remix-simulator/bin/ethsim index e136cc361f..e819929748 100755 --- a/remix-simulator/bin/ethsim +++ b/remix-simulator/bin/ethsim @@ -1,4 +1,6 @@ #!/usr/bin/env node -require('../src/server'); +const Server = require('../src/server'); +const server = new Server() +server.start() diff --git a/remix-simulator/src/server.js b/remix-simulator/src/server.js index 8171fdb55f..ab18a5e9be 100644 --- a/remix-simulator/src/server.js +++ b/remix-simulator/src/server.js @@ -5,35 +5,45 @@ const expressWs = require('express-ws') const Provider = require('./provider') const log = require('./utils/logs.js') -expressWs(app) - -var provider = new Provider() - -app.use(bodyParser.urlencoded({extended: true})) -app.use(bodyParser.json()) - -app.get('/', (req, res) => { - res.send('Welcome to remix-simulator') -}) - -app.use((req, res) => { - provider.sendAsync(req.body, (err, jsonResponse) => { - if (err) { - return res.send(JSON.stringify({error: err})) - } - res.send(jsonResponse) - }) -}) - -app.ws('/', (ws, req) => { - ws.on('message', function (msg) { - provider.sendAsync(JSON.parse(msg), (err, jsonResponse) => { - if (err) { - return ws.send(JSON.stringify({error: err})) - } - ws.send(JSON.stringify(jsonResponse)) +class Server { + + constructor() { + this.provider = new Provider() + } + + start(host, port) { + expressWs(app) + + app.use(bodyParser.urlencoded({extended: true})) + app.use(bodyParser.json()) + + app.get('/', (req, res) => { + res.send('Welcome to remix-simulator') + }) + + app.use((req, res) => { + provider.sendAsync(req.body, (err, jsonResponse) => { + if (err) { + return res.send(JSON.stringify({error: err})) + } + res.send(jsonResponse) + }) + }) + + app.ws('/', (ws, req) => { + ws.on('message', function (msg) { + provider.sendAsync(JSON.parse(msg), (err, jsonResponse) => { + if (err) { + return ws.send(JSON.stringify({error: err})) + } + ws.send(JSON.stringify(jsonResponse)) + }) + }) }) - }) -}) -app.listen(8545, () => log('Remix Simulator listening on port 8545!')) + app.listen(8545, () => log('Remix Simulator listening on port 8545!')) + } + +} + +module.exports = Server