Files
www/astro.config.mjs
2026-07-20 17:05:24 -05:00

35 lines
934 B
JavaScript

import { defineConfig } from 'astro/config';
import curlResponse from './src/curl-response.ts';
const curlPreview = {
name: 'curl-preview',
configureServer(server) {
server.middlewares.use(async (request, response, next) => {
const userAgent = request.headers['user-agent'] ?? '';
const path = request.url?.split('?', 1)[0];
if (request.method !== 'GET' || path !== '/' || !/^curl(?:\/|$)/i.test(userAgent)) {
next();
return;
}
const terminalResponse = curlResponse();
response.statusCode = terminalResponse.status;
terminalResponse.headers.forEach((value, name) => response.setHeader(name, value));
response.end(await terminalResponse.text());
});
},
};
export default defineConfig({
site: 'https://rummage.cc',
server: {
host: '127.0.0.1',
port: 4321,
},
devToolbar: { enabled: false },
vite: {
plugins: [curlPreview],
},
});