Next Popular Module

    express-rendertype

    1.2.0 • Public • Published

    express-rendertype

    Build Status Coverage Status Dependency Status devDependency Status Downloads

    Express middleware to (automatically) render content and errors to content-type

    NPM

    This is basically a mashup of


    Installation

    npm install --save express-rendertype
    

    Usage

    render = require "express-rendertype"
     
    app = express()

    Rendering content

    render.auto(fallback = false, preference = ["yaml", "json", "html", "text"])

    create a .rendr method on the res object, falling back to json as default

    app.use render.auto "json"

    res.rendr(path = "", obj)

    render to json or whichever content-type the client accepts

    app.get "/someroute"(req, res, next) -> res.rendr "path/to/template"obj

    Rendering errors

    Status code

    pass an error from just a status code

    app.post "/noauthroute"(req, res, next) -> next status: 401

    Error library

    create an error with stacktrace in context from a status code

    app.put "/payme"(req, res, next) -> next render.error.fromCode 402

    throw an error with message from the error library

    app.get "/gatekeeper"(req, res, next) ->
      throw new render.error.LockedError "I am the keymaster"

    See also: restify/errors

    Objects

    pass an object as the error

    app.delete "/session"(req, res, next) -> next {foo: "bar"baz: "booze"}

    (Fancy) Error-handling middleware

    add the error-handling middleware after all routes

    app.get ...
    app.post ...
    app.put ...
    ...
    app.use render.FancyErrors.auto "text" if (@app.get "env") is "development"
    app.use render.Errors.auto()

    render.FancyErrors.auto(fallback, preference, log)

    render.Errors.auto(fallback, preference, log)

    Errors and FancyErrors are the same, except FancyErrors will log the stack to all content-types. FancyErrors even has a nice code excerpt when rendered to HTML.

    app.use render.Errors.auto "html"["html""json"]console.log

    MIT Licensed. (C) 2016 doublerebel

    Install

    npm i express-rendertype

    DownloadsWeekly Downloads

    3

    Version

    1.2.0

    License

    MIT

    Last publish

    Collaborators

    • doublerebel