Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
be5a3f0
Add i18n support and improve validation engine
Tuntii Jan 20, 2026
05bc9da
Update validation methods and test data for credit card rules
Tuntii Jan 20, 2026
55b8bb9
Add unified streaming response body and async custom validation
Tuntii Jan 20, 2026
b8f6412
Add HTTP/3 (QUIC) support to rustapi-core
Tuntii Jan 21, 2026
fc01d0f
Add HATEOAS support and improve ReDoc integration
Tuntii Jan 21, 2026
7f8997d
Add OpenAPI client and deployment commands
Tuntii Jan 22, 2026
9324a27
Add OpenAPI param schema override and HTTP/3 docs
Tuntii Jan 22, 2026
bc85a5d
Refactor to use ResponseBody in response handling
Tuntii Jan 22, 2026
f73ee93
Refactor response body construction to use ResponseBody
Tuntii Jan 22, 2026
f364336
Refactor response body handling and clean up imports
Tuntii Jan 22, 2026
178df3b
Refactor group matching logic and clean up imports
Tuntii Jan 22, 2026
61ec555
Refactor to use ResponseBody::Full for response bodies
Tuntii Jan 23, 2026
afb0efb
Update timeout.rs
Tuntii Jan 23, 2026
121fac8
chore: remove unused imports from response_streaming.rs
Tuntii Jan 23, 2026
62c11f3
fix: correct missing closing parenthesis in circuit_breaker.rs
Tuntii Jan 23, 2026
4df1a99
Update dedup.rs
Tuntii Jan 23, 2026
c1af640
Wrap response bodies in custom Body enum
Tuntii Jan 23, 2026
a563690
Refactor tests to use ResponseBody and clean up stacks
Tuntii Jan 23, 2026
75b13d0
Update app.rs
Tuntii Jan 23, 2026
ff5f8a1
Add coverage job to CI workflow
Tuntii Jan 23, 2026
2aeb8ab
Refactor trait docs and minor code improvements
Tuntii Jan 23, 2026
8d9040f
Bump version to 0.1.15 and move modules to subdirs
Tuntii Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
434 changes: 425 additions & 9 deletions Cargo.lock

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,10 @@ rustapi-view = { path = "crates/rustapi-view", version = "0.1.14" }
rustapi-testing = { path = "crates/rustapi-testing", version = "0.1.14" }
rustapi-jobs = { path = "crates/rustapi-jobs", version = "0.1.14" }

# HTTP/3 (QUIC)
quinn = "0.11"
h3 = "0.0.8"
h3-quinn = "0.0.10"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
rustls-pemfile = "2.2"
rcgen = "0.13"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -740,7 +740,7 @@ cargo clippy --all-targets --all-features
- **💬 Discussions**: [GitHub Discussions](https://github.com/Tuntii/RustAPI/discussions)
- **🐦 Twitter**: [@Tuntii](https://twitter.com/Tuntii)
- **🌐 Website**: [tunti35.com/projects/rustapi](https://www.tunti35.com/projects/rustapi)
- **📧 Email**: [tunahan@tunti35.com](mailto:tunahan@tunti35.com)
- **📧 Email**: [tunayengin21@hotmail.com](mailto:tunayengin21@hotmail.com)
Comment on lines 740 to +744
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title "Tech debt" is too vague and doesn't accurately describe the scope of changes. This PR introduces multiple significant features (HTTP/3, HATEOAS, validation v2 with i18n, deployment tools) and breaking API changes, not just technical debt cleanup.

Consider a more descriptive title like: "Add HTTP/3 support, HATEOAS, validation v2 with i18n, and deployment tooling" or split this into multiple focused PRs.

Copilot uses AI. Check for mistakes.

---

Expand Down
Binary file added check.log
Binary file not shown.
8 changes: 8 additions & 0 deletions crates/cargo-rustapi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,12 @@ tokio = { workspace = true, features = ["process", "fs"] }
# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = "0.9"
toml = "0.8"

# HTTP client for fetching remote specs
reqwest = { version = "0.12", features = ["json"], default-features = false, optional = true }

# Utilities
thiserror = { workspace = true }
tracing = { workspace = true }
Expand All @@ -44,3 +48,7 @@ anyhow = "1.0"
[dev-dependencies]
tempfile = "3.10"
assert_cmd = "2.0"

[features]
default = ["remote-spec"]
remote-spec = ["dep:reqwest"]
13 changes: 12 additions & 1 deletion crates/cargo-rustapi/src/cli.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
//! CLI argument parsing

use crate::commands::{self, AddArgs, DoctorArgs, GenerateArgs, NewArgs, RunArgs, WatchArgs};
use crate::commands::{
self, AddArgs, ClientArgs, DeployArgs, DoctorArgs, GenerateArgs, NewArgs, RunArgs, WatchArgs,
};
use clap::{Parser, Subcommand};

/// RustAPI CLI - Project scaffolding and development utilities
Expand Down Expand Up @@ -40,6 +42,13 @@ enum Commands {
#[arg(short, long, default_value = "8080")]
port: u16,
},

/// Generate API client from OpenAPI spec
Client(ClientArgs),

/// Deploy to various platforms
#[command(subcommand)]
Deploy(DeployArgs),
}

impl Cli {
Expand All @@ -53,6 +62,8 @@ impl Cli {
Commands::Doctor(args) => commands::doctor(args).await,
Commands::Generate(args) => commands::generate(args).await,
Commands::Docs { port } => commands::open_docs(port).await,
Commands::Client(args) => commands::client(args).await,
Commands::Deploy(args) => commands::deploy(args).await,
}
}
}
Loading
Loading