diff options
Diffstat (limited to 'app/lib')
| -rw-r--r-- | app/lib/router.js | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/app/lib/router.js b/app/lib/router.js index 8c0a2ef..fd24693 100644 --- a/app/lib/router.js +++ b/app/lib/router.js @@ -27,9 +27,22 @@ class Router {      };    } -  gpost(re, cb, max) { // Laziness +  gpost(re, cb, max) {      this.post(re, this.gather(cb, max));    } + +  jpost(re, cb, max) { +    this.gpost(re, (req, res, match, data) => { +      try { +        data = JSON.parse(data); +      } catch (e) { +        res.writeHead(400, {"Content-Type": "text/plain"}); +        return res.end("400 Bad Request"); +      } + +      cb(req, res, match, data); +    }, max); +  }  }  ["get", "post", "put", "delete"].forEach(method => | 
