rhttp/test_config.js

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');
}
}
}
]
}
}
};