# `Opsmaru.Incus.Gateway.Request`
[🔗](https://github.com/upmaru/opsmaru-incus/blob/v0.1.0/lib/opsmaru/incus/gateway/request.ex#L1)

Normalized, bounded request metadata passed to host callbacks.

  * `:protocol` - `:http`, `:websocket` or `:raw` (SFTP/NBD upgrade).
  * `:method` - the HTTP method.
  * `:path` - the original percent-encoded path, exactly as received.
  * `:query` - the original raw query string, exactly as received.
  * `:project`, `:target` - native selections from the raw query, or `nil`.
  * `:all_projects` - whether `all-projects` was requested.
  * `:operation` - the operation ID for `/1.0/operations/{id}...` paths.
  * `:peer` - `%{address: ..., port: ..., certificate: der | nil}` from the
    server adapter.
  * `:authorization` - the caller's `authorization` header, or `nil`. It is
    never forwarded to the backend.

# `t`

```elixir
@type t() :: %Opsmaru.Incus.Gateway.Request{
  all_projects: term(),
  authorization: term(),
  method: term(),
  operation: term(),
  path: term(),
  peer: term(),
  project: term(),
  protocol: term(),
  query: term(),
  target: term()
}
```

---

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