hyperlite 0.1.0

Lightweight HTTP framework built on hyper, tokio, and tower
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

### Changed

### Deprecated

### Removed

### Fixed

### Security

## [0.1.0] - 2025-10-30

### Added
- Core router implementation with path-based routing using matchit
- Support for multiple HTTP methods per route (GET, POST, PUT, DELETE, PATCH, OPTIONS)
- Path parameter extraction with automatic type conversion
- Tower Service trait integration for seamless middleware composition
- Response builders with standardized JSON envelope pattern:
  - `success()` for successful responses with data
  - `failure()` for error responses with structured errors
  - `not_found()` for 404 responses with path information
  - `empty()` for status-only responses (e.g., 204 No Content)
  - `with_correlation_id()` for request tracing
- Request extractors for type-safe data extraction:
  - `parse_json_body()` with 1MB size limit and Content-Type validation
  - `query_params()` for URL query string parsing
  - `path_params()` and `path_param()` for path parameter extraction
  - `get_extension()` for typed extension data
- Server utilities with graceful shutdown support (Ctrl+C and SIGTERM)
- HTTP/1.1 protocol support via hyper
- Comprehensive examples demonstrating progressive complexity:
  - `hello_world` - Minimal server with single route
  - `with_state` - Stateful routing with all extractors
  - `with_middleware` - Production-ready middleware stack
- Full test suite with 80%+ code coverage:
  - Router tests (routing, method filtering, 404/405 handling)
  - Response builder tests (envelope structure, serialization)
  - Extractor tests (JSON parsing, query params, path params)
  - Server tests (connection handling)
  - Middleware tests (Tower layer composition)
- Complete documentation with rustdoc comments and usage examples
- README with quick start guide, API documentation, and examples

### Security
- JSON body size limit (1MB) prevents denial-of-service attacks
- Graceful shutdown ensures proper connection cleanup
- Request extensions provide secure context passing between middleware

[Unreleased]: https://github.com/kriyaetive/hyperlite/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/kriyaetive/hyperlite/releases/tag/v0.1.0