Create viewer for SBOM and VEX data. 96/10796/1
authorMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Wed, 29 Mar 2023 07:02:08 +0000 (09:02 +0200)
committerMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Wed, 29 Mar 2023 07:02:19 +0000 (09:02 +0200)
- add main application logic (frame)

Issue-ID: OAM-320
Change-Id: Ib0a0f79fc138f6895bc07d69cb9b75c13e297ffa
Signed-off-by: Martin Skorupski <martin.skorupski@highstreet-technologies.com>
code/container-analysis/viewer/app.js [new file with mode: 0644]

diff --git a/code/container-analysis/viewer/app.js b/code/container-analysis/viewer/app.js
new file mode 100644 (file)
index 0000000..d269df7
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2023 highstreet technologies and others
+ *
+ * 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.
+ */
+
+const createError = require('http-errors');
+const express = require('express');
+const path = require('path');
+const cookieParser = require('cookie-parser');
+const logger = require('morgan');
+
+const indexRouter = require('./routes/index');
+
+const app = express();
+
+// view engine setup
+app.set('views', path.join(__dirname, 'views'));
+app.set('view engine', 'pug');
+
+app.use(logger('dev'));
+app.use(express.json());
+app.use(express.urlencoded({ extended: false }));
+app.use(cookieParser());
+app.use(express.static(path.join(__dirname, 'public')));
+
+app.use('/', indexRouter);
+
+// catch 404 and forward to error handler
+app.use(function(req, res, next) {
+  next(createError(404));
+});
+
+// error handler
+app.use(function(err, req, res, next) {
+  // set locals, only providing error in development
+  res.locals.message = err.message;
+  res.locals.error = req.app.get('env') === 'development' ? err : {};
+
+  // render the error page
+  res.status(err.status || 500);
+  res.render('error');
+});
+
+module.exports = app;