Skip to content

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Onyx Framework

A modern, modular web framework written entirely in Rust from first principles.

Build Status Version License


About

Onyx is a modular web framework that provides foundational layers to build robust web applications. Built from the ground up to emphasize performance, safety, and developer experience.

Tier Progress

🚀 v0.1 Released

Tier 1 of Onyx is now complete.

The framework includes:

  • Raw TCP HTTP server
  • HTTP parser
  • Request/Response types
  • Router
  • Dynamic routing
  • Path parameters
  • Query parsing
  • Request extractors
  • JSON responses
  • Centralized error handling
  • Result-based handlers

Current Status: Tier 1 ✅ Complete

Features

HTTP

  • HTTP/1.1 parser
  • Request model
  • Response builder
  • Header parsing
  • Query parsing

Routing

  • Static routes
  • Dynamic routes
  • Path matching
  • Route dispatch

Request Extraction

  • Path<T>
  • Query<T>
  • Header<T>

Responses

  • String responder
  • JSON responder
  • Custom responder trait

Errors

  • Typed framework errors
  • HTTP status mapping
  • Result<T, EmberError>

Example

use ember_core::prelude::*;

fn home(_: Request) -> &'static str {
    "Hello Ember!"
}

fn user(_: Request) -> Json<User> {
    Json(User {
        id: 1,
        name: "Soham".into(),
    })
}

fn missing(_: Request) -> Result<&'static str, EmberError> {
    Err(EmberError::NotFound)
}

Installation

(Coming soon)

Quick Start

(Coming soon)

Project Structure

(Coming soon)

Roadmap

Tier 1

  • Workspace
  • TCP Server
  • HTTP Parser
  • Request
  • Response
  • Router
  • Dynamic Routing
  • Extractors
  • JSON
  • Error Handling

✅ Completed in v0.1

Documentation

See docs/ARCHITECTURE.md and docs/DECISIONS.md for deep dives into the framework's design and progression.

License

MIT

About

A Rust backend web framework built from raw TCP sockets — handwritten HTTP parsing, routing, async, TLS, and auth.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages