50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
export default {
|
|
port: 9090,
|
|
|
|
globalMiddleware: {
|
|
onRequest: async function(req) {
|
|
console.log('Global onRequest:', req.method, req.url);
|
|
// req.setHeader('X-Global-Header', 'global-value');
|
|
}
|
|
},
|
|
|
|
sites: {
|
|
"test.local": {
|
|
hostname: "test.local",
|
|
|
|
middleware: {
|
|
onRequest: async function(req) {
|
|
console.log('Site onRequest:', req.path);
|
|
// req.setHeader('X-Site-Header', 'site-value');
|
|
if (req.path === '/protected') {
|
|
return {
|
|
status: 401,
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({ error: 'Unauthorized' })
|
|
};
|
|
}
|
|
}
|
|
},
|
|
|
|
routes: [
|
|
{
|
|
type: "static",
|
|
path_pattern: "/*",
|
|
root: "./public",
|
|
|
|
middleware: {
|
|
onRequest: async function(req) {
|
|
console.log('Route onRequest:', req.path);
|
|
// req.setHeader('X-Route-Header', 'route-value');
|
|
},
|
|
|
|
onResponse: async function(res) {
|
|
console.log('Route onResponse:', res.status);
|
|
// res.setHeader('X-Route-Response-Header', 'route-response-value');
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}; |