PackageTrack
Sign in Get early access

aim_server_multipart

Multipart form data parsing for aim_server framework. Supports multipart/form-data format.

0.1.1 aim-dart/aim

What this package is like to depend on

Last release 7 months ago

20 Jan 2026

Too new to tell

only 2 release windows

Nearly every release is documented

notes for 3 of 3 stable releases

Nothing withdrawn

no release was ever pulled

8 months old

3 releases · first in 2025

3 releases in the last 12 months

see the full history below

Release timeline

3 releases · Dec 2025 to Jan 2026
2026
Release Pre-release

Releases

latest 3
  1. 0.1.1 20 Jan 2026
    Release notes

    Internal fixes. No functional changes.

    Open source →
    Release notes

    Internal fixes. No functional changes.

    Open source →
    Release notes Open source →
  2. 0.1.0 20 Jan 2026
    Release notes

    Changelog

    0.1.0

    First beta release of Aim Framework - a modular ecosystem for Dart.

    Highlights

    • Lightweight, fast web server framework
    • Native PostgreSQL driver (no external dependencies)
    • Type-safe ORM with Record syntax
    • CLI tools with hot reload and database migrations

    Web Server (aim_server)

    • HTTP server built on Dart's native HttpServer
    • Path-based routing with parameter support (/users/:id)
    • Composable middleware chain
    • JSON, text, HTML response handling
    • Real-time SSE streaming support
    • Custom error handlers (404, global)

    Middleware Packages

    • aim_server_cors: CORS configuration
    • aim_server_cookie: Secure cookie management
    • aim_server_form: Form data parsing
    • aim_server_multipart: File upload handling
    • aim_server_static: Static file serving
    • aim_server_logger: HTTP request logging
    • aim_server_sse: Server-Sent Events
    • aim_server_jwt: JWT authentication
    • aim_server_basic_auth: Basic authentication

    Testing (aim_server_testing)

    • Test helpers and matchers
    • Mock objects for unit testing
    • Integration test utilities

    Database (aim_database + aim_postgres)

    • Database abstraction layer
    • Native PostgreSQL Wire Protocol implementation
    • SSL/TLS support (disable, allow, prefer, require, verify-ca, verify-full)
    • Authentication: cleartext, MD5, SCRAM-SHA-256
    • Named parameters (:name) and positional parameters ($1)
    • Transaction support with automatic commit/rollback

    ORM (aim_orm + aim_orm_postgres + aim_orm_codegen)

    • Type-safe table definitions using Dart Record syntax
    • Column types: integer, bigint, varchar, text, boolean, timestamp, uuid, json
    • Column modifiers: primaryKey, unique, nullable, withDefault, indexed
    • Query builders: SELECT, INSERT, UPDATE, DELETE
    • Condition operators: eq, gt, lt, gte, lte, inList
    • Code generation with build_runner

    CLI (aim_cli)

    • aim create <name>: Project scaffolding
    • aim dev: Development server with hot reload
    • aim build: Production build with native compilation
    • aim db:generate: Migration SQL generation from schema diff
    • aim db:migrate: Apply pending migrations
    • aim db:rollback: Rollback migrations
    • aim db:status: Show migration status

    Known Limitations

    • ORM Relations (1:1, 1:N, N:N) not yet supported
    • SQLite driver not yet available
    • db:reset command not yet implemented

    Requirements

    • Dart SDK: ^3.10.0
    • PostgreSQL: 9.5+ (SCRAM-SHA-256 requires 10+)
    Open source →
    Release notes

    First beta release of Aim Framework - a modular ecosystem for Dart.

    Highlights

    • Lightweight, fast web server framework
    • Native PostgreSQL driver (no external dependencies)
    • Type-safe ORM with Record syntax
    • CLI tools with hot reload and database migrations

    Web Server (aim_server)

    • HTTP server built on Dart's native HttpServer
    • Path-based routing with parameter support (/users/:id)
    • Composable middleware chain
    • JSON, text, HTML response handling
    • Real-time SSE streaming support
    • Custom error handlers (404, global)

    Middleware Packages

    • aim_server_cors: CORS configuration
    • aim_server_cookie: Secure cookie management
    • aim_server_form: Form data parsing
    • aim_server_multipart: File upload handling
    • aim_server_static: Static file serving
    • aim_server_logger: HTTP request logging
    • aim_server_sse: Server-Sent Events
    • aim_server_jwt: JWT authentication
    • aim_server_basic_auth: Basic authentication

    Testing (aim_server_testing)

    • Test helpers and matchers
    • Mock objects for unit testing
    • Integration test utilities

    Database (aim_database + aim_postgres)

    • Database abstraction layer
    • Native PostgreSQL Wire Protocol implementation
    • SSL/TLS support (disable, allow, prefer, require, verify-ca, verify-full)
    • Authentication: cleartext, MD5, SCRAM-SHA-256
    • Named parameters (:name) and positional parameters ($1)
    • Transaction support with automatic commit/rollback

    ORM (aim_orm + aim_orm_postgres + aim_orm_codegen)

    • Type-safe table definitions using Dart Record syntax
    • Column types: integer, bigint, varchar, text, boolean, timestamp, uuid, json
    • Column modifiers: primaryKey, unique, nullable, withDefault, indexed
    • Query builders: SELECT, INSERT, UPDATE, DELETE
    • Condition operators: eq, gt, lt, gte, lte, inList
    • Code generation with build_runner

    CLI (aim_cli)

    • aim create <name>: Project scaffolding
    • aim dev: Development server with hot reload
    • aim build: Production build with native compilation
    • aim db:generate: Migration SQL generation from schema diff
    • aim db:migrate: Apply pending migrations
    • aim db:rollback: Rollback migrations
    • aim db:status: Show migration status

    Known Limitations

    • ORM Relations (1:1, 1:N, N:N) not yet supported
    • SQLite driver not yet available
    • db:reset command not yet implemented

    Requirements

    • Dart SDK: ^3.10.0
    • PostgreSQL: 9.5+ (SCRAM-SHA-256 requires 10+)
    Open source →
    Release notes Open source →
  3. 0.0.1 25 Dec 2025
    Release notes

    Initial release of aim_server_multipart - Multipart form data parser for the Aim framework.

    Features

    • Multipart/Form-Data Parsing: RFC 7578 compliant parser for handling file uploads and form data
    • File Upload Support:
      • Single file uploads
      • Multiple file uploads with same field name
      • Mixed text fields and files in same request
    • Security Features:
      • Automatic filename sanitization to prevent path traversal attacks
      • Random unique filename generation to prevent collisions
      • Original filename preserved for reference
    • Validation Options:
      • maxFileSize - Limit individual file size
      • maxTotalSize - Limit total upload size
      • allowedMimeTypes - Filter by MIME type with wildcard support (image/*)
    • Efficient Processing:
      • Stream-based processing for memory efficiency
      • Real-time size validation during upload
      • Optimized with BytesBuilder for large files
    • Developer Experience:
      • Type-safe API using Dart 3 Records
      • Clean and intuitive API (form.file(), form.field())
      • Comprehensive error handling with FormatException and Exception
      • Well-documented with examples

    API

    • MultipartFormData class for accessing parsed data
      • field(String name) - Get single text field
      • fields(String name) - Get multiple fields
      • file(String name) - Get single file
      • files(String name) - Get multiple files
      • has(String name) - Check field/file existence
    • UploadedFile class representing uploaded files
      • filename - Sanitized safe filename
      • originalFilename - Original client filename
      • contentType - MIME type
      • bytes - File content
      • size - File size
      • saveTo(String path) - Save to disk
      • asString([Encoding]) - Read as string
    • Request extension with multipart() method

    Testing

    • 39 comprehensive tests covering:
      • Filename sanitization and security
      • File size validation (per-file and total)
      • MIME type filtering with wildcards
      • Multiple files and fields
      • Error handling
      • Edge cases (special characters, Unicode, etc.)

    Supported

    • Dart SDK: ^3.10.0
    • Dependencies:
      • aim_server: ^0.0.6
      • mime: ^2.0.0

    Security Considerations

    This package implements several security measures by default:

    • Path traversal prevention (blocks ../, absolute paths)
    • Filename sanitization (removes dangerous characters)
    • Unique filename generation (prevents overwrites)
    • Size limits enforcement
    • MIME type validation

    What's Next

    Future versions may include:

    • Streaming file saves for very large files
    • Custom sanitization strategies
    • Progress callbacks for upload tracking
    • Character encoding detection and conversion
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive