From bb64e719b71a048d1f8a03e9724a167cb8d6abb5 Mon Sep 17 00:00:00 2001 From: typicode Date: Sun, 25 Dec 2016 07:44:36 +0100 Subject: [PATCH] Update rewriter --- src/server/rewriter.js | 4 ++++ test/server/plural.js | 21 ++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/server/rewriter.js b/src/server/rewriter.js index e94ceb9..d7f3c74 100644 --- a/src/server/rewriter.js +++ b/src/server/rewriter.js @@ -7,6 +7,10 @@ function updateQueryString (target, sourceUrl) { module.exports = (routes) => { const router = express.Router() + router.get('/__rules', (req, res) => { + res.json(routes) + }) + Object.keys(routes).forEach((route) => { if (route.indexOf(':') !== -1) { router.all(route, (req, res, next) => { diff --git a/test/server/plural.js b/test/server/plural.js index 25103b6..8a70ec8 100644 --- a/test/server/plural.js +++ b/test/server/plural.js @@ -7,6 +7,12 @@ describe('Server', () => { let server let router let db + const rewriterRules = { + '/api/': '/', + '/blog/posts/:id/show': '/posts/:id', + '/comments/special/:userId-:body': '/comments/?userId=:userId&body=:body', + '/firstpostwithcomments': '/posts/1?_embed=comments' + } beforeEach(() => { db = {} @@ -75,13 +81,7 @@ describe('Server', () => { server = jsonServer.create() router = jsonServer.router(db) server.use(jsonServer.defaults()) - server.use(jsonServer.rewriter({ - '/api/': '/', - '/blog/posts/:id/show': '/posts/:id', - '/comments/special/:userId-:body': '/comments/?userId=:userId&body=:body', - '/firstpostwithcomments': '/posts/1?_embed=comments' - - })) + server.use(jsonServer.rewriter(rewriterRules)) server.use(router) }) @@ -703,6 +703,13 @@ describe('Server', () => { .expect([db.comments[4]]) .end(done) }) + + it('should expose routes', (done) => { + request(server) + .get('/__rules') + .expect(rewriterRules) + .end(done) + }) }) describe('router.render', (done) => {