Skip to content

aim_server

A lightweight, fast web framework for Dart.

Features

  • Context API - Intuitive request/response handling inspired by Hono
  • Routing - Path parameters, wildcards, and method-based routing
  • Middleware - Composable middleware chain with early response support
  • Type-Safe - Custom Env classes for type-safe context variables
  • Modular - Use only the middleware packages you need

Quick Start

Installation

bash
dart pub add aim_server

Hello World

dart
import 'package:aim_server/aim_server.dart';

void main() async {
  final app = Aim();

  app.get('/', (c) async {
    return c.json({'message': 'Hello, Aim!'});
  });

  await app.serve(port: 8080);
  print('Server running on http://localhost:8080');
}

With Middleware

dart
import 'package:aim_server/aim_server.dart';
import 'package:aim_server_cors/aim_server_cors.dart';
import 'package:aim_server_logger/aim_server_logger.dart';

void main() async {
  final app = Aim();

  // Add middleware
  app.use(logger());
  app.use(cors());

  // Routes
  app.get('/users', (c) async {
    return c.json({'users': []});
  });

  app.post('/users', (c) async {
    final body = await c.req.json();
    return c.json({'created': body}, statusCode: 201);
  });

  await app.serve(port: 8080);
}

Middleware Packages

PackageDescription
aim_server_corsCORS support
aim_server_cookieCookie management
aim_server_formForm data parsing
aim_server_multipartFile uploads
aim_server_staticStatic file serving
aim_server_loggerRequest logging
aim_server_sseServer-Sent Events
aim_server_jwtJWT authentication
aim_server_basic_authBasic authentication
aim_server_testingTest utilities

Next Steps

Released under the MIT License.