rebased on top of swagger-node-express master