arcly-http-macros 0.1.0

Procedural macros for arcly-http — #[Controller], #[Module], #[Injectable], and the route-hardening attribute family
Documentation

Procedural macros for arcly-http.

Six attribute macros — each emits a single, deterministic compile-time registration. No runtime registry mutation; collection happens at link time via inventory.

  • #[Injectable] on a struct → emits ProviderDescriptor + ctor
  • #[Module(providers(…), controllers(…), imports(…))] → emits ModuleDescriptor
  • #[Controller("/prefix", tags("t"))] on an impl block → walks inner items, consumes #[Get]/#[Post]/…/#[UseInterceptors] attributes on methods, emits one RouteDescriptor per method with the controller prefix already concatenated
  • #[Get/Post/Put/Delete/Patch("/path", …)] on a free fn → standalone route registration
  • #[UseInterceptors(A, B)] → wraps the handler thunk in the chain
  • #[circuit_breaker(threshold = N, cooldown = "Ns")] on an async fn wraps its body in a per-method static CircuitBreaker