2e5294efaf5c4296c5229334945d2eeccef07dce
[nit.git] / src / web / web.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 # Components required to build a web server about the nit model.
16 module web
17
18 import api_model
19 import api_catalog
20 import api_graph
21 import api_docdown
22 import api_metrics
23 import api_feedback
24
25 redef class APIRouter
26 redef init do
27 super
28 use("/*", new APIErrorHandler(config)) # catch 404 errors
29 end
30 end
31
32 # Error handler user to catch non resolved request by the API
33 #
34 # Displays a JSON formatted 404 error.
35 class APIErrorHandler
36 super APIHandler
37
38 redef fun all(req, res) do
39 res.api_error(404, "Not found")
40 end
41 end