Skip to content

Instantly share code, notes, and snippets.

@pyykkis
Last active December 19, 2015 02:28
Show Gist options
  • Save pyykkis/5883140 to your computer and use it in GitHub Desktop.
Save pyykkis/5883140 to your computer and use it in GitHub Desktop.
Simple mock server with node.js
express = require 'express'
path = require 'path'
http = require 'http'
logger = require 'winston'
app = express()
logger.setLevels logger.config.syslog.levels
logger.remove logger.transports.Console
logger.add logger.transports.Console,
timestamp: true
colorize: true
prettyPrint: true
level: if ~['development', 'test'].indexOf(process.env.NODE_ENV) then 'info' else 'warning'
app.set 'port', process.env.PORT or 9001
app.use express.bodyParser()
data = {}
app.post '*', (req, res) ->
logger.info "#{req.path}: #{req.body.body}"
data[req.path] = req.body.body
res.statusCode = 201
res.end req.path
app.get '*', (req, res) ->
logger.info req.path
res.end data[req.path]
http.createServer(app).listen app.get('port'), ->
logger.info "Express server listening on port #{app.get 'port'}"
require 'sinatra'
set :port, ENV['PORT'] if ENV['PORT']
data = {}
post '*' do
data[request.path] = request.body.read
response.status = 201
request.path
end
get '*' do
data[request.path]
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment