# `ReqLLM.Streaming.Fixtures.HTTPContext`
[🔗](https://github.com/agentjido/req_llm/blob/main/lib/req_llm/streaming/fixtures.ex#L4)

Lightweight HTTP context for streaming operations.

This struct contains the minimal HTTP metadata needed for fixture capture
and debugging, replacing the heavier Req.Request/Response structs for
streaming operations.

# `t`

```elixir
@type t() :: %ReqLLM.Streaming.Fixtures.HTTPContext{
  method: :get | :post | :put | :patch | :delete | :head | :options | :unknown,
  req_headers: map(),
  resp_headers: map() | nil,
  status: integer() | nil,
  url: String.t()
}
```

# `from_finch_request`

```elixir
@spec from_finch_request(Finch.Request.t()) :: t()
```

Builds HTTPContext from a Finch.Request struct.

Extracts URL, method, and headers with proper sanitization.

# `new`

```elixir
@spec new(
  String.t(),
  :get | :post | :put | :patch | :delete | :head | :options | :unknown,
  map()
) ::
  t()
```

Creates a new HTTPContext from request parameters.

# `update_response`

```elixir
@spec update_response(t(), integer(), map()) :: t()
```

Updates the context with response status and headers.

---

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