/nessie

A friendly DNS client for Gleam programs targeting Erlang

Primary LanguageGleamApache License 2.0Apache-2.0

nessie

Package Version Hex Docs

A friendly DNS client for Gleam programs targeting Erlang.

gleam add nessie
import nessie
import gleam/io

pub fn main() {
  let ipv4_addrs = nessie.lookup_ipv4("gleam.run", nessie.In, [])
  io.debug(ipv4_addrs)
}

Further documentation can be found at https://hexdocs.pm/nessie.

Supported DNS Records

The following is a list of supported DNS record types. If nessie doesn't currently support a DNS record type you want, feel free to contribute to this project!

  • A
  • AAAA
  • TXT
  • CNAME
  • MX
  • SOA
  • NS
  • PTR
  • SRV
  • CERT
  • DCHID
  • DNAME
  • DNSKEY
  • DS

What about JavaScript support?

Due to Erlang and JavaScript's fundamentally different approaches to asynchronous programming (processes & event loops, respectively), it's not currently possible in Gleam to write a DNS client supporting both targets.

For more information, see this Discord thread.

Development

gleam test  # Run the tests
gleam shell # Run an Erlang shell