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 2026Releases
latest 3-
0.1.120 Jan 2026 -
0.1.020 Jan 2026Release notes
Open source →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 scaffoldingaim dev: Development server with hot reloadaim build: Production build with native compilationaim db:generate: Migration SQL generation from schema diffaim db:migrate: Apply pending migrationsaim db:rollback: Rollback migrationsaim db:status: Show migration status
Known Limitations
- ORM Relations (1:1, 1:N, N:N) not yet supported
- SQLite driver not yet available
db:resetcommand not yet implemented
Requirements
- Dart SDK:
^3.10.0 - PostgreSQL: 9.5+ (SCRAM-SHA-256 requires 10+)
Release notes
Open source →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 scaffoldingaim dev: Development server with hot reloadaim build: Production build with native compilationaim db:generate: Migration SQL generation from schema diffaim db:migrate: Apply pending migrationsaim db:rollback: Rollback migrationsaim db:status: Show migration status
Known Limitations
- ORM Relations (1:1, 1:N, N:N) not yet supported
- SQLite driver not yet available
db:resetcommand not yet implemented
Requirements
- Dart SDK:
^3.10.0 - PostgreSQL: 9.5+ (SCRAM-SHA-256 requires 10+)
-
0.0.125 Dec 2025Release notes
Open source →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 sizemaxTotalSize- Limit total upload sizeallowedMimeTypes- Filter by MIME type with wildcard support (image/*)
- Efficient Processing:
- Stream-based processing for memory efficiency
- Real-time size validation during upload
- Optimized with
BytesBuilderfor large files
- Developer Experience:
- Type-safe API using Dart 3 Records
- Clean and intuitive API (
form.file(),form.field()) - Comprehensive error handling with
FormatExceptionandException - Well-documented with examples
API
MultipartFormDataclass for accessing parsed datafield(String name)- Get single text fieldfields(String name)- Get multiple fieldsfile(String name)- Get single filefiles(String name)- Get multiple fileshas(String name)- Check field/file existence
UploadedFileclass representing uploaded filesfilename- Sanitized safe filenameoriginalFilename- Original client filenamecontentType- MIME typebytes- File contentsize- File sizesaveTo(String path)- Save to diskasString([Encoding])- Read as string
Requestextension withmultipart()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.6mime: ^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