|
1 | | -var api = require("./api"), |
2 | | - larkin = require("./larkin"); |
| 1 | +const api = require("./api"); |
| 2 | +const larkin = require("./larkin"); |
3 | 3 |
|
4 | | -larkin.checkCapabilities(api).then((capabilities) => { |
5 | | - if (capabilities.size > 0) { |
6 | | - let msg = "Progressive enhancements enabled:\n"; |
7 | | - capabilities.forEach((cap) => { |
8 | | - msg += `- ${cap}\n`; |
9 | | - }); |
10 | | - larkin.log("info", msg); |
11 | | - } else { |
12 | | - console.log("No enhancements available."); |
13 | | - } |
14 | | -}); |
| 4 | +export async function buildAPI() { |
| 5 | + await larkin.checkCapabilities(api); |
15 | 6 |
|
16 | | -// Load route categories |
17 | | -api.use("/carto", require("./carto")); |
18 | | -api.use("/defs", require("./definitions")); |
19 | | -api.use("/grids", require("./grids")); |
20 | | -api.use("/mobile", require("./mobile")); |
| 7 | + // Load route categories |
| 8 | + api.use("/carto", require("./carto")); |
| 9 | + api.use("/defs", require("./definitions")); |
| 10 | + api.use("/grids", require("./grids")); |
| 11 | + api.use("/mobile", require("./mobile")); |
21 | 12 |
|
22 | | -api.route("/").get(require("./root")); |
| 13 | + api.route("/").get(require("./root")); |
23 | 14 |
|
24 | | -api.route("/meta").get(require("./meta")); |
| 15 | + api.route("/meta").get(require("./meta")); |
25 | 16 |
|
26 | | -api.route("/changes").get(function (req, res, next) { |
27 | | - res.sendFile(__dirname + "/changes.html"); |
28 | | -}); |
| 17 | + api.route("/changes").get(function (req, res, next) { |
| 18 | + res.sendFile(__dirname + "/changes.html"); |
| 19 | + }); |
29 | 20 |
|
30 | | -api.route("/columns/refresh-cache").get(require("./column-cache-refresh")); |
| 21 | + api.route("/columns/refresh-cache").get(require("./column-cache-refresh")); |
31 | 22 |
|
32 | | -api.route("/columns").get(function (req, res, next) { |
33 | | - require("./columns")(req, res, next); |
34 | | -}); |
| 23 | + api.route("/columns").get(function (req, res, next) { |
| 24 | + require("./columns")(req, res, next); |
| 25 | + }); |
35 | 26 |
|
36 | | -api.route("/sections").get(require("./sections")); |
| 27 | + api.route("/sections").get(require("./sections")); |
37 | 28 |
|
38 | | -api.route("/units").get(function (req, res, next) { |
39 | | - require("./units")(req, res, next); |
40 | | -}); |
| 29 | + api.route("/units").get(function (req, res, next) { |
| 30 | + require("./units")(req, res, next); |
| 31 | + }); |
41 | 32 |
|
42 | | -api.route("/fossils").get(require("./fossils")); |
| 33 | + api.route("/fossils").get(require("./fossils")); |
43 | 34 |
|
44 | | -api.route("/stats").get(require("./stats")); |
| 35 | + api.route("/stats").get(require("./stats")); |
45 | 36 |
|
46 | | -api.route("/paleogeography").get(require("./paleogeography")); |
| 37 | + api.route("/paleogeography").get(require("./paleogeography")); |
47 | 38 |
|
48 | | -api.route("/geologic_units/gmna").get(require("./geologic_units_gmna")); |
| 39 | + api.route("/geologic_units/gmna").get(require("./geologic_units_gmna")); |
49 | 40 |
|
50 | | -api.route("/geologic_units/gmus").get(require("./geologic_units_gmus")); |
| 41 | + api.route("/geologic_units/gmus").get(require("./geologic_units_gmus")); |
51 | 42 |
|
52 | | -api.route("/geologic_units/burwell").get(function (req, res, next) { |
53 | | - require("./geologic_units_burwell")(req, res, next); |
54 | | -}); |
| 43 | + api.route("/geologic_units/burwell").get(function (req, res, next) { |
| 44 | + require("./geologic_units_burwell")(req, res, next); |
| 45 | + }); |
55 | 46 |
|
56 | | -api.route("/geologic_units/map").get(function (req, res, next) { |
57 | | - require("./geologic_units_burwell")(req, res, next); |
58 | | -}); |
| 47 | + api.route("/geologic_units/map").get(function (req, res, next) { |
| 48 | + require("./geologic_units_burwell")(req, res, next); |
| 49 | + }); |
59 | 50 |
|
60 | | -api |
61 | | - .route("/geologic_units/burwell/nearby") |
62 | | - .get(require("./geologic_units_burwell_nearby")); |
| 51 | + api |
| 52 | + .route("/geologic_units/burwell/nearby") |
| 53 | + .get(require("./geologic_units_burwell_nearby")); |
63 | 54 |
|
64 | | -api |
65 | | - .route("/geologic_units/map/nearby") |
66 | | - .get(require("./geologic_units_burwell_nearby")); |
| 55 | + api |
| 56 | + .route("/geologic_units/map/nearby") |
| 57 | + .get(require("./geologic_units_burwell_nearby")); |
67 | 58 |
|
68 | | -api |
69 | | - .route("/geologic_units/burwell/points") |
70 | | - .get(require("./geologic_units_burwell_points")); |
| 59 | + api |
| 60 | + .route("/geologic_units/burwell/points") |
| 61 | + .get(require("./geologic_units_burwell_points")); |
71 | 62 |
|
72 | | -api |
73 | | - .route("/geologic_units/map/points") |
74 | | - .get(require("./geologic_units_burwell_points")); |
| 63 | + api |
| 64 | + .route("/geologic_units/map/points") |
| 65 | + .get(require("./geologic_units_burwell_points")); |
75 | 66 |
|
76 | | -api.route("/geologic_units/map/legend").get(function (req, res, next) { |
77 | | - require("./geologic_units_burwell_legend")(req, res, next); |
78 | | -}); |
| 67 | + api.route("/geologic_units/map/legend").get(function (req, res, next) { |
| 68 | + require("./geologic_units_burwell_legend")(req, res, next); |
| 69 | + }); |
79 | 70 |
|
80 | | -api.route("/elevation").get(function (req, res, next) { |
81 | | - require("./elevation")(req, res, next); |
82 | | -}); |
| 71 | + api.route("/elevation").get(function (req, res, next) { |
| 72 | + require("./elevation")(req, res, next); |
| 73 | + }); |
83 | 74 |
|
84 | | -api.route("/places").get(function (req, res, next) { |
85 | | - require("./places")(req, res, next); |
86 | | -}); |
| 75 | + api.route("/places").get(function (req, res, next) { |
| 76 | + require("./places")(req, res, next); |
| 77 | + }); |
87 | 78 |
|
88 | | -api.route("/measurements").get(require("./measurements")); |
| 79 | + api.route("/measurements").get(require("./measurements")); |
89 | 80 |
|
90 | | -api.route("/age_model").get(require("./age_model")); |
| 81 | + api.route("/age_model").get(require("./age_model")); |
91 | 82 |
|
92 | | -api.route("/eodp").get(require("./eodp")); |
93 | | -//api.route("/hillshade") |
94 | | -// .get(require("./hillshade")); |
| 83 | + api.route("/eodp").get(require("./eodp")); |
| 84 | + //api.route("/hillshade") |
| 85 | + // .get(require("./hillshade")); |
95 | 86 |
|
96 | | -api.route("/boundaries").get(require("./boundaries")); |
| 87 | + api.route("/boundaries").get(require("./boundaries")); |
97 | 88 |
|
98 | | -api.route("/hex-summary").get(require("./hex_summary")); |
| 89 | + api.route("/hex-summary").get(require("./hex_summary")); |
99 | 90 |
|
100 | | -api.route("/hex-summary/max/:zoom").get(require("./hex_summary_max")); |
| 91 | + api.route("/hex-summary/max/:zoom").get(require("./hex_summary_max")); |
101 | 92 |
|
102 | | -api.route("*").get(require("./catchall")); |
| 93 | + api.route("*").get(require("./catchall")); |
103 | 94 |
|
104 | | -api.use(function (err, req, res, next) { |
105 | | - if (err.status !== 404) { |
106 | | - return next(); |
107 | | - } else if (err.status === 404) { |
108 | | - larkin.error(req, res, next, "404: Page not found", 404); |
109 | | - } else { |
110 | | - larkin.error(req, res, next, "500: Internal Server Error", 500); |
111 | | - } |
112 | | -}); |
| 95 | + api.use(function (err, req, res, next) { |
| 96 | + if (err.status !== 404) { |
| 97 | + return next(); |
| 98 | + } else if (err.status === 404) { |
| 99 | + larkin.error(req, res, next, "404: Page not found", 404); |
| 100 | + } else { |
| 101 | + larkin.error(req, res, next, "500: Internal Server Error", 500); |
| 102 | + } |
| 103 | + }); |
113 | 104 |
|
114 | | -module.exports = api; |
| 105 | + return api; |
| 106 | +} |
0 commit comments