// import { App } from "@kevisual/router"; import { App } from '@kevisual/router/router'; import path from 'node:path'; import fs from 'node:fs'; import http, { Server } from 'node:http'; // https://esm.sh/@kevisual/router@0.0.12/dist/router.d.ts // https://esm.sh/@kevisual/router@0.0.13/dist/router.d.ts // https​://esm.sh/​@kevisual/router​@0.0.13/dist/router.d.ts console.log('meta', import.meta.url); // deno run --allow-all index.ts // deno run --config ./deno.json --allow-all index.ts console.log('hello world'); const app = new App({ io: true, }); app .route({ path: 'demo', }) .define(async (ctx) => { ctx.body = 'hello world'; }) .addTo(app); const socketPath = path.resolve('/tmp/http-deno.sock'); // const socketPath = path.resolve(Deno.cwd(), './http.sock'); if (fs.existsSync(socketPath)) { fs.unlinkSync(socketPath); } // app.listen(10004, () => { // console.log('Server is running on http://localhost:10004'); // }); // process.umask(0); // 设置默认权限掩码 // app.listen(socketPath, () => { // // console.log('Server is running on. \ncurl --unix-socket ./http-deno.sock http://localhost/api/router?path=demo'); // console.log('Server is running on. \ncurl --unix-socket /tmp/http-deno.sock http://localhost/api/router?path=demo'); // console.log(`Actual path: ${fs.realpathSync(socketPath)}`); // }); const sv = app.server.server as Server; sv.listen(socketPath, () => { console.log('Server is running on. \ncurl --unix-socket /tmp/http-deno.sock http://localhost/api/router?path=demo'); console.log(`Actual path: ${fs.realpathSync(socketPath)}`); }); app.server.server.on('error', (err) => { console.error('error', err); }); app.io.addListener('goo', async ({ data, ws, end }) => { console.log('goo', data); end({ code: 200, message: 'hello world goo', }); });