timfran
v0.1.3
Published
A lightweight TypeScript framework for HTTP servers
Maintainers
Readme
Timfran
A lightweight TypeScript framework for HTTP servers using the modern Request/Response API.
Installation
npm install timfranFeatures
- Simple, intuitive API
- TypeScript support
- Modern Request/Response API
- Minimal configuration
- Zero external dependencies
Usage
Quick Start
The simplest way to create a server:
import { serve } from "timfran";
serve((_req) => new Response("Hello, World!"));This starts a server on the default port 3000 and hostname 127.0.0.1.
Configurable Server
For more control, use serve:
import { serve } from "timfran";
serve(
{ port: 3000, hostname: "127.0.0.1" },
(_req) => new Response("Hello, World!")
);Serving HTML Files
import { serve, readFileSync } from "timfran";
serve(
{ port: 8000 },
(_req) => {
return new Response(
new TextDecoder("utf-8").decode(readFileSync("./index.html")),
{
headers: { "Content-Type": "text/html" },
}
);
}
);Using Request Information
import { serve } from "timfran";
serve(
{ port: 3000 },
(req) => {
const url = new URL(req.url);
const name = url.searchParams.get("name") || "World";
return new Response(`Hello, ${name}!`, {
headers: { "Content-Type": "text/plain" },
});
}
);API Reference
serve(handler)
Creates an HTTP server with default settings.
handler: A function that receives a Request object and returns a Response object
Returns an HTTP server instance.
serve(options, handler)
Creates an HTTP server with custom settings.
options: Server configurationport: Port number (default: 3000)hostname: Hostname (default: "127.0.0.1")
handler: A function that receives a Request object and returns a Response object
Returns an HTTP server instance.
readFileSync(path)
Reads a file synchronously and returns its contents as a Buffer.
path: Path to the file
Returns a Buffer containing the file contents.
License
MIT
