# `CDPEx.Fetch`
[🔗](https://github.com/patrols/cdp_ex/blob/v0.9.0/lib/cdp_ex/fetch.ex#L1)

Per-page handler for the CDP `Fetch` domain, backing `CDPEx.Page.authenticate/4`.

When armed on a page it enables `Fetch` with `handleAuthRequests`, then:

  * auto-continues every paused request (`Fetch.requestPaused` →
    `Fetch.continueRequest`) so navigation proceeds normally, and
  * answers authentication challenges (`Fetch.authRequired` →
    `Fetch.continueWithAuth`) with the configured credentials.

Because `Fetch.enable` pauses **every** request, each one round-trips through
this process — measurable overhead on resource-heavy pages. The handler is tied
to the page's connection and stops when it goes down.

This is an internal building block; use `CDPEx.Page.authenticate/4`.

# `t`

```elixir
@type t() :: %CDPEx.Fetch{
  attempts: term(),
  browser: term(),
  conn: term(),
  password: term(),
  session_id: term(),
  source: term(),
  username: term()
}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

---

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