@buntal/core - Http

App

The main HTTP server class for creating and configuring HTTP servers in Buntal.

Source

View source on GitHub

Type Definition

class Http {
  constructor(config: Config)
  start(cb?: (server: Bun.Server) => void): Bun.Server
  use(handler: AtomicHandler): void
  get<R extends string, P = ExtractRouteParams<R>>(route: R, ...handlers: AtomicHandler<P>[]): void
  post<R extends string, P = ExtractRouteParams<R>>(route: R, ...handlers: AtomicHandler<P>[]): void
  put<R extends string, P = ExtractRouteParams<R>>(route: R, ...handlers: AtomicHandler<P>[]): void
  patch<R extends string, P = ExtractRouteParams<R>>(route: R, ...handlers: AtomicHandler<P>[]): void
  delete<R extends string, P = ExtractRouteParams<R>>(route: R, ...handlers: AtomicHandler<P>[]): void
  onError(handler: (error: Error) => Response): void
  onNotFound(handler: AtomicHandler): void
}

Parameters

ParameterTypeRequiredDefaultDescription
configConfig-Configuration object for the HTTP server

Methods

constructor

Creates a new HTTP server instance with the specified configuration.

Parameters

ParameterTypeRequiredDefaultDescription
configConfig-Server configuration including port, appDir, websocket handler, and injectHandler

start

Starts the HTTP server and begins listening for requests.

Parameters

ParameterTypeRequiredDefaultDescription
cb(server: Bun.Server) => void-Optional callback function called when server starts

use

Adds middleware to the server that runs for all requests.

Parameters

ParameterTypeRequiredDefaultDescription
handlerAtomicHandler-Middleware function to execute

get

Registers a GET route handler.

Parameters

ParameterTypeRequiredDefaultDescription
routestring-Route pattern (supports parameters like /users/:id)
...handlersAtomicHandler[]-One or more handler functions

post

Registers a POST route handler.

Parameters

ParameterTypeRequiredDefaultDescription
routestring-Route pattern (supports parameters like /users/:id)
...handlersAtomicHandler[]-One or more handler functions

put

Registers a PUT route handler.

Parameters

ParameterTypeRequiredDefaultDescription
routestring-Route pattern (supports parameters like /users/:id)
...handlersAtomicHandler[]-One or more handler functions

patch

Registers a PATCH route handler.

Parameters

ParameterTypeRequiredDefaultDescription
routestring-Route pattern (supports parameters like /users/:id)
...handlersAtomicHandler[]-One or more handler functions

delete

Registers a DELETE route handler.

Parameters

ParameterTypeRequiredDefaultDescription
routestring-Route pattern (supports parameters like /users/:id)
...handlersAtomicHandler[]-One or more handler functions

onError

Sets a global error handler for the server.

Parameters

ParameterTypeRequiredDefaultDescription
handler(error: Error) => Response | Promise<Response>-Function to handle errors

onNotFound

Sets a handler for 404 Not Found responses.

Parameters

ParameterTypeRequiredDefaultDescription
handlerAtomicHandler-Function to handle 404 requests

Last modified: 2025-06-10

Content-Length: 0