A magic http client, like retrofit in Java

```rust // define interface

![feature(customattribute, asyncawait, param_attrs)]

![allow(unused_attributes)]

use interfacerhttp::derive::{FromContent, ToContent}; use interfacerhttp::{contenttypes, http::header::COOKIE, httpinterface, Response, Result}; use serde_derive::{Deserialize, Serialize};

[derive(Serialize, Deserialize, FromContent, ToContent, Debug)]

struct User { name: String, age: i32, }

[http_interface]

trait UserInterface: Clone { #[put("/api/user/{id}?age={age}")] #[expect(200, contenttypes::APPLICATIONJSON)] async fn put_user( &self, id: u64, age: i32, #[body] user: &User, #[header(COOKIE)] cookie: &str ) -> Result>; }

// use it use interfacerhttphyper::AsyncService; ```