53 lines
1.2 KiB
JavaScript
53 lines
1.2 KiB
JavaScript
#!bun
|
|
import { parseArgs } from "util";
|
|
|
|
/***
|
|
* Usage:
|
|
* respond_with.js -p PORT STATUS_CODE
|
|
*
|
|
* Defaults:
|
|
* PORT - 8080
|
|
* STATUS_CODE - 200
|
|
*
|
|
*
|
|
* License:
|
|
*
|
|
* DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
Version 2, December 2004
|
|
|
|
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
|
|
|
Everyone is permitted to copy and distribute verbatim or modified
|
|
copies of this license document, and changing it is allowed as long
|
|
as the name is changed.
|
|
|
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
|
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
|
***/
|
|
|
|
const args = parseArgs({
|
|
args: Bun.argv,
|
|
options: {
|
|
p: {
|
|
type: 'string',
|
|
default: '8080'
|
|
}
|
|
},
|
|
allowPositionals: true
|
|
});
|
|
|
|
console.debug(args);
|
|
const port = Number(args.values.p);
|
|
const lastPositional = Number(args.positionals[args.positionals.length - 1]);
|
|
const status = isNaN(lastPositional) ? 200 : lastPositional;
|
|
console.info(`serving on ${port}`);
|
|
console.info(`responding with ${status}`);
|
|
|
|
Bun.serve({
|
|
port,
|
|
fetch(req) {
|
|
return new Response("Bun!", { status });
|
|
},
|
|
});
|