# `DripDrop.WebhookRequest`
[🔗](https://github.com/agoodway/dripdrop/blob/v0.1.0/lib/dripdrop/webhook_request.ex#L1)

Normalizes provider webhook request access for signature verification.

Providers receive either a Plug connection or a simple map from tests and
from the framework-neutral webhook plug. This helper keeps header, body, URL,
and parameter lookup consistent without coupling provider modules to Plug.

# `body`

```elixir
@spec body(term()) :: binary()
```

Returns the raw request body used for signature verification.

# `header`

```elixir
@spec header(term(), binary()) :: binary() | nil
```

Fetches a request header by case-insensitive name.

# `param`

```elixir
@spec param(term(), binary() | [binary()]) :: term()
```

Fetches a request parameter or nested parameter path.

# `params`

```elixir
@spec params(term()) :: map()
```

Returns merged request parameters from a Plug connection or request map.

# `url`

```elixir
@spec url(term()) :: binary() | nil
```

Returns the absolute request URL when available.

---

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