# `OpenrouterSdk.Client.Request`
[🔗](https://github.com/zmzlois/openrouter_sdk/blob/v0.1.0/lib/openrouter_sdk/client/request.ex#L1)

internal request representation.

shared by buffered and streaming calls. middleware sees this struct
before it's serialized into a finch request.

# `body`

```elixir
@type body() ::
  nil
  | iodata()
  | {:json, term()}
  | {:multipart, list()}
  | {:stream, Enumerable.t()}
```

# `method`

```elixir
@type method() :: :get | :post | :put | :patch | :delete
```

# `t`

```elixir
@type t() :: %OpenrouterSdk.Client.Request{
  accept: :json | :sse | :binary,
  body: body(),
  headers: [{String.t(), String.t()}],
  method: method(),
  opts: keyword(),
  path: String.t(),
  query: keyword() | map()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
