| 123456789101112131415161718192021222324252627282930313233343536 |
- // simple node web server that displays hello world
- // optimized for Docker image
- const express = require("express");
- // this example uses express web framework so we know what longer build times
- // do and how Dockerfile layer ordering matters. If you mess up Dockerfile ordering
- // you'll see long build times on every code change + build. If done correctly,
- // code changes should be only a few seconds to build locally due to build cache.
- const morgan = require("morgan");
- // morgan provides easy logging for express, and by default it logs to stdout
- // which is a best practice in Docker. Friends don't let friends code their apps to
- // do app logging to files in containers.
- const database = require("./database");
- // Appi
- const app = express();
- app.use(morgan("common"));
- app.get("/", function(req, res, next) {
- database.raw('select VERSION() version')
- .then(([rows, columns]) => rows[0])
- .then((row) => res.json({ message: `Hello from MySQL ${row.version}` }))
- .catch(next);
- });
- app.get("/healthz", function(req, res) {
- // do app logic here to determine if app is truly healthy
- // you should return 200 if healthy, and anything else will fail
- // if you want, you should be able to restrict this to localhost (include ipv4 and ipv6)
- res.send("I am happy and healthy\n");
- });
- module.exports = app;
|