hermes-server
Advanced tools
Comparing version 0.2.1 to 0.3.0
module.exports = { | ||
Server: require('./hermes'), | ||
Route: require('./route'), | ||
RouteSupplier: require('./route-supplier'), | ||
FileSystemRouteSupplier: require('./route-suppliers/file-system-route-supplier'), | ||
SimpleRouteSupplier: require('./route-suppliers/simple-route-supplier') | ||
}; |
{ | ||
"name": "hermes-server", | ||
"version": "0.2.1", | ||
"version": "0.3.0", | ||
"repository": "JakeElder/hermes", | ||
"author": "Jake Elder <jake@jpeg.me.uk>", | ||
"license": "ISC", | ||
"description": "End point aggregation server. Useful for providing a single url for all of your micro service endpoints.", | ||
"dependencies": { | ||
@@ -8,0 +9,0 @@ "express": "^4.13.3", |
Hermes | ||
====== | ||
End point aggregation server. Useful for providing a single url for all of your | ||
End point aggregation server. useful for providing a single url for all of your | ||
micro service endpoints. | ||
@@ -31,3 +31,3 @@ | ||
In order to know where to proxy traffic, Hermes needs to be provided with a | ||
set of routes. This is achieved by instantiating a routeProvider. | ||
set of routes. This is achieved by instantiating a RouteSupplier. | ||
@@ -65,2 +65,24 @@ ### Default Route Suppliers | ||
### Custom Route Suppliers | ||
To allow custom generation/retrieval of routes, it is possible to create your | ||
own RouteSupplier | ||
```javascript | ||
const Q = require('q'); | ||
const Route = require('Hermes').Route; | ||
class MyRouteSupplier extends Hermes.RouteSupplier { | ||
constructor(options) { | ||
super(options); | ||
} | ||
getRoutes() { | ||
return Q.promise((resolve) => { | ||
fetchRoutesFromSomeService().then((routes) => { | ||
resolve(routes.map(data => new Route(data))); | ||
}); | ||
}); | ||
} | ||
} | ||
``` | ||
Route Format | ||
@@ -67,0 +89,0 @@ ------------ |
19058
303
110