pretend 0.4.0

pretend is a modular, Feign-inspired, HTTP client based on macros.
Documentation
error: Failed to generate pretend implementation
 --> $DIR/headers.rs:5:1
  |
5 | #[pretend]
  | ^^^^^^^^^^
  |
  = note: this error originates in the attribute macro `pretend` (in Nightly builds, run with -Z macro-backtrace for more info)

error: Failed to generate method implementation
 --> $DIR/headers.rs:7:5
  |
7 | /     #[request(method = "GET", path = "/get")]
8 | |     #[header(value = "test")]
9 | |     async fn test_1(&self) -> Result<()>;
  | |_________________________________________^

error: `#[header]` attribute must only have `name` and `value`
 --> $DIR/headers.rs:8:5
  |
8 |     #[header(value = "test")]
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^

error: Failed to generate method implementation
  --> $DIR/headers.rs:10:5
   |
10 | /     #[request(method = "GET", path = "/get")]
11 | |     #[header(name = "X-Test")]
12 | |     async fn test_2(&self) -> Result<()>;
   | |_________________________________________^

error: `#[header]` attribute must only have `name` and `value`
  --> $DIR/headers.rs:11:5
   |
11 |     #[header(name = "X-Test")]
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: Failed to generate method implementation
  --> $DIR/headers.rs:13:5
   |
13 | /     #[request(method = "GET", path = "/get")]
14 | |     #[header(name = "X-Test", value = "test", other = "something")]
15 | |     async fn test_3(&self) -> Result<()>;
   | |_________________________________________^

error: `#[header]` attribute must only have `name` and `value`
  --> $DIR/headers.rs:14:5
   |
14 |     #[header(name = "X-Test", value = "test", other = "something")]
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^