Error response middleware (text, json, html)
JavaScript HTML
Latest commit c2dc43e Mar 1, 2017 @coderhaoxin coderhaoxin 3.0.0
Permalink
Failed to load latest commit information.
examples Update to Koa@2 Mar 1, 2017
test Update to Koa@2 Mar 1, 2017
.gitignore add test Apr 13, 2016
.travis.yml travis: test node@7 only Mar 1, 2017
History.md 3.0.0 Mar 1, 2017
Readme.md Use lodash templates instead of swig May 17, 2016
error.html Use lodash templates instead of swig May 17, 2016
index.js Update to Koa@2 Mar 1, 2017
package.json 3.0.0 Mar 1, 2017

Readme.md

koa-error

Error response middleware for koa supporting:

  • text
  • json
  • html

Installation

$ npm install koa-error

Options

  • template path to template written with your template engine
  • engine template engine name passed to consolidate
  • cache cached compiled functions, default: NODE_ENV != 'development'

Custom templates

By using the template option you can override the bland default template, with the following available local variables:

  • env
  • ctx
  • request
  • response
  • error
  • stack
  • status
  • code

Here are some examples:

Pug (formerly jade)

app.use(error({
  engine: 'pug',
  template: __dirname + '/error.pug'
}));
doctype html
html
  head
    title= 'Error - ' + status
  body
    #error
      h1 Error
      p Looks like something broke!
      if env == 'development'
        h2 Message:
        pre: code= error
        h2 Stack:
        pre: code= stack

Nunjucks

app.use(error({
  engine: 'nunjucks',
  template: __dirname + '/error.njk'
}));
<!DOCTYPE html>
<html>
  <head>
    <title>Error - {{status}}</title>
  </head>
  <body>
    <div id="error">
      <h1>Error</h1>
    <p>Looks like something broke!</p>
    {% if env == 'development' %}
      <h2>Message:</h2>
      <pre>
        <code>
{{error}}
        </code>
      </pre>
      <h2>Stack:</h2>
      <pre>
        <code>
{{stack}}
        </code>
      </pre>
    {% endif %}
    </div>
  </body>
</html>

License

MIT