bloom_server library

Flutter-free server core and HTTP API routing layer for Bloom backend services.

Re-exports bloom_core.dart (environment, DI, logger) alongside HTTP routing primitives (ApiRouter, BloomRequest, BloomResponse, and BloomMiddleware) from package:bloom_server.

This barrel is strictly Flutter-free, allowing backend services and Server-Side Rendering (SSR) daemons to compile directly to native binaries (dart compile exe) without the Flutter engine.

Example:

import 'package:bloom_framework/bloom_server.dart';

void main() {
  final router = ApiRouter();
  router.get('/health', (req) => BloomResponse.json({'status': 'ok'}));
}

Classes

BloomApiRouter
High-performance server router for Bloom API routes, WebSocket gateways, and SSR endpoints.
BloomContainer
Lightweight, high-performance Dependency Injection container for Bloom.
BloomCorsMiddleware
Built-in Cross-Origin Resource Sharing (CORS) middleware for Bloom API endpoints.
BloomEnv
Environment configuration parser, store, and type-safe reader.
BloomLogger
Standardized structured logging system for Bloom servers, apps, and microservices.
BloomMiddleware
Composable middleware interface for Bloom API routes, full-stack SSR servers, and gateways.
BloomRequest
Represents an incoming HTTP request in Bloom API routes, SSR endpoints, and middleware.
BloomResponse
Represents an HTTP response returned from a Bloom API route handler or middleware.
BloomRouteGroup
Represents a scoped route group in BloomApiRouter sharing a URL prefix and middleware pipeline.
BloomTestOverride<T>
Represents a typed test override instance to be injected into a BloomTestScope.
BloomTestScope
A scoped DI harness for running unit and integration tests with isolated overrides.
FunctionalBloomMiddleware
Function-based middleware implementation wrapping a standalone handler callback.

Enums

BloomLogLevel
Log severity levels for Bloom applications.

Properties

globalContainer BloomContainer
Accesses the global active Bloom DI container.
no setter
logger BloomLogger
Global standard logger instance for Bloom framework and applications.
final

Functions

inject<T>() → T
Resolves a dependency of type T from the global active Bloom container.
injectOrNull<T>() → T?
Resolves an optional dependency of type T from the global active Bloom container, or returns null if not registered.
provide<T>(FactoryFunc<T> factory) → void
Registers a transient factory on the global active Bloom container.
provideSingleton<T>(FactoryFunc<T> factory, {bool lazy = true}) → void
Registers a singleton factory on the global active Bloom container.
provideValue<T>(T value) → void
Registers an existing instance value on the global active Bloom container.
resetActiveContainer() → void
Resets the global active container to a fresh, empty BloomContainer instance.
setActiveContainer(BloomContainer container) → void
Sets the currently active global container (used by BloomTestScope for test isolation).

Typedefs

BloomLogWriter = void Function(String message)
Callback signature for handling formatted log line outputs.
BloomNextFunction = Future<BloomResponse> Function()
Next-handler callback invoked by middleware to pass control to the subsequent middleware or route handler in the pipeline.
BloomRouteHandler = FutureOr<BloomResponse> Function(BloomRequest request)
Handler function signature for Bloom server route endpoints.
FactoryFunc<T> = T Function()
Factory function callback that instantiates a dependency of type T.