41 lines
738 B
JavaScript
41 lines
738 B
JavaScript
'use strict'
|
|
|
|
const http = require('http')
|
|
const Youch = require('../src/Youch')
|
|
|
|
class HttpException extends Error {
|
|
constructor (...args) {
|
|
super(...args)
|
|
this.name = this.constructor.name
|
|
}
|
|
}
|
|
|
|
function foo () {
|
|
const error = new HttpException('Some weird error')
|
|
error.status = 503
|
|
throw error
|
|
}
|
|
|
|
http.createServer((req, res) => {
|
|
let youch = null
|
|
try {
|
|
foo()
|
|
} catch (e) {
|
|
youch = new Youch(e, req)
|
|
}
|
|
|
|
youch
|
|
.toHTML()
|
|
.then((response) => {
|
|
res.writeHead(200, {'content-type': 'text/html'})
|
|
res.write(response)
|
|
res.end()
|
|
}).catch((error) => {
|
|
res.writeHead(500)
|
|
res.write(error.message)
|
|
res.end()
|
|
})
|
|
}).listen(8000, () => {
|
|
console.log('listening to port 8000')
|
|
})
|