# `SSL.ClientHello.Materializer`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v0.16.7/apps/ex_ssl/lib/ssl/client_hello/materializer.ex#L1)

Resolves a reusable wire profile into per-connection ClientHello material.

# `context`

```elixir
@type context() :: %{
  optional(:server_name) =&gt; binary(),
  optional(:pre_shared_key) =&gt; binary()
}
```

# `materialize`

```elixir
@spec materialize(
  SSL.ClientHello.WireProfile.t(),
  SSL.ClientHello.Profile.capabilities(),
  context(),
  keyword()
) :: {:ok, SSL.ClientHello.Materializer.Materialized.t()} | {:error, term()}
```

---

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