exhal v2.2.0 ExHal.Link

A Link is a directed reference from one resource to another resource. They are found in the _links and _embedded sections of a HAL document

Summary

Functions

Expands “curie”d link rels using the namespaces found in the curies link

Returns {:ok, %ExHal.Document{}} - representation of the target of the specifyed link

    `{:error, %ExHal.Document{}}` - non-2XX responses that have a HAL body

Build new link struct from embedded doc

Build new link struct from _links entry

Makes a POST request against the target of the link

Returns target url, expanded with vars if any are provided

Functions

expand_curie(link, namespaces)

Expands “curie”d link rels using the namespaces found in the curies link.

Returns [%Link{}, ...] a link struct for each possible variation of the input link

follow(link, opts \\ %{})

Returns {:ok, %ExHal.Document{}} - representation of the target of the specifyed link

    `{:error, %ExHal.Document{}}` - non-2XX responses that have a HAL body
from_embedded(rel, embedded_doc)

Build new link struct from embedded doc.

post(link, body, opts \\ %{headers: []})

Makes a POST request against the target of the link.

target_url(a_link, vars \\ %{})

Returns target url, expanded with vars if any are provided.

Returns {:ok, "fully_qualified_url"}

      `:error` if link target is anonymous