Cherry Documentation

Cherry Documentation

  • Docs
  • Help
  • Blog

›Views & Server response

Getting Started

  • Overview
  • Installation
  • Create a server
  • Adding routes
  • What's next ?

Routing

  • Public resources
  • Basic routes
  • Route contexts
  • Middlewares
  • Redirections

Views & Server response

  • Default error pages
  • Render a html view
  • Render a json payload
  • Download response

Plugins

  • Overview
  • View rendering plugins
  • ORM Plugins
  • Request Plugins
  • Create your own plugins

Miscellaneous features

  • Hooks
  • Server Config
  • Coming Soon...

Best Practices

  • Best Practices

Default error pages

When a 404 error or a 500 error occured, default pages are rendered to the user. But what if you want to provide a custom page ?

An option in the object provided to the Cherry Instance is available for you to provide your own pages. This option is like this :

const options = {
  ...,
  defaultPages: {
    clientErrorPage: <func(Request, Response)>,
    serverErrorPage: <func(Request, Response)>
  }
  ...
}

You don't have to provide both of the keys clientErrorPage or serverErrorPage, you can if you want provide one page and leave the default one for the other one.

Because the default page manager is in the cherry Object, you can render a 404 or a 500 page in your route callback by using request.cherry.defaultErrorPageConfigurator.manager. You will have access to the methods clientErrorPage and serverErrorPage. Here is an example :

main.js
config/routes.js
// Nothing changed here, this is the last time I put this file in the example, assume in the next ones the file doesn't change

const Cherry = require('@lund-org/cherry')
const routes = require('./config/routes.js')

const options = {
servers: [
{ port: 80 }
],
defaultPages: {
clientErrorPage: (request, response) => {
return response.html('<p>404 Error</p>', { statusCode: 404, isRaw: true })
}
},
routes // We add it here to configure the Cherry server
}
const cherry = new Cherry()
cherry.configure(options)
cherry.start(options)
module.exports = {
router: [
{
type: 'ROUTE',
path: '/',
callback: (request, response) => {
// Here is the example to return the 404 page :
return request.cherry.defaultErrorPageConfigurator.manager.clientErrorPage(request, response)
},
method: ['GET']
}
]
}

The clientErrorPage method is triggered automatically when no matching routes are found

The serverErrorPage method is triggered automatically when an exception is thrown and not catch

← RedirectionsRender a html view →
Cherry Documentation
Docs
Getting StartedGuides (TODO)API Reference (TODO)
Community
User Showcase (TODO)Project ChatTwitter
More
BlogGitHubStar
Copyright © 2020 Lund-Org