spark-monitor
Version:
A friendly user interface for monitoring Apache Spark
27 lines (18 loc) • 683 B
JavaScript
const qs = require('querystring')
const express = require('express')
const proxy = require('./proxy')
module.exports = ({port, livyHost, livyPort}) => {
// Reverse proxy which enables cors for livy api
const bridge = proxy({livyHost, livyPort})
// Frontend server
const app = express()
app.disable('x-powered-by')
// Serve contents
app.use(express.static(__dirname + '/dist', {etag: false}))
// Bridge for livy api
app.all('/api/:path(*)', bridge.web.bind(bridge))
// Otherwise, redirect all requests to root to beahave as a SPA
app.all('*', (req, res, next) => res.sendFile(__dirname + '/dist/index.html'))
app.start = () => app.listen(port||8998)
return app
}