diff options
Diffstat (limited to 'docs/pages/2 - Main Customization.md')
-rw-r--r-- | docs/pages/2 - Main Customization.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/docs/pages/2 - Main Customization.md b/docs/pages/2 - Main Customization.md new file mode 100644 index 0000000..25434bd --- /dev/null +++ b/docs/pages/2 - Main Customization.md @@ -0,0 +1,44 @@ +Apart from the code used to configure and define your routes and endpoints, Cask +also allows global configuration for things that apply to the entire web server. +This can be done by overriding the following methods on `cask.Main` or +`cask.MainRoutes`: + +## def debugMode: Boolean = true + +Makes the Cask report verbose error messages and stack traces if an endpoint +fails; useful for debugging, should be disabled for production. + +## def main + +The cask program entrypoint. By default just spins up a webserver, but you can +override it to do whatever you like before or after the webserver runs. + +## def defaultHandler + +Cask is built on top of the [Undertow](http://undertow.io/) web server. If you +need some low-level functionality not exposed by the Cask API, you can override +`defaultHandler` to make use of Undertow's own +[handler API](http://undertow.io/undertow-docs/undertow-docs-2.0.0/index.html#built-in-handlers) +for customizing your webserver. This allows for things that Cask itself doesn't +internally support. + +## def port: Int = 8080, def host: String = "localhost" + +The host & port to attach your webserver to. + +## def handleNotFound + +The response to serve when the incoming request does not match any of the routes +or endpoints; defaults to a typical 404 + +## def handleEndpointError + +The response to serve when the incoming request matches a route and endpoint, +but then fails for other reasons. Defaults to 400 for mismatched or invalid +endpoint arguments and 500 for exceptions in the endpoint body, and provides +useful stack traces or metadata for debugging if `debugMode = true`. + +## def mainDecorators + +Any `cask.Decorator`s that you want to apply to all routes and all endpoints in +the entire web application |