# This file is part of NIT ( http://www.nitlanguage.org ). # # Copyright 2016 Alexandre Terrasa # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module example_html_error_handler is example import popcorn import template class HtmlErrorTemplate super Template var status: Int var message: nullable String redef fun rendering do add """ {{{message or else status}}}

{{{status}}} {{{message or else ""}}}

""" end class HtmlErrorHandler super Handler redef fun all(req, res) do if res.status_code != 200 then res.send(new HtmlErrorTemplate(res.status_code, "An error occurred!")) end end end var app = new App app.use("/*", new HtmlErrorHandler) app.listen("localhost", 3000)