Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ckreiling/nessie
A friendly DNS client for Gleam programs targeting Erlang
https://github.com/ckreiling/nessie
Last synced: 3 months ago
JSON representation
A friendly DNS client for Gleam programs targeting Erlang
- Host: GitHub
- URL: https://github.com/ckreiling/nessie
- Owner: ckreiling
- License: apache-2.0
- Created: 2024-04-07T01:16:15.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-04-07T01:52:13.000Z (7 months ago)
- Last Synced: 2024-04-25T04:19:08.857Z (7 months ago)
- Language: Gleam
- Homepage:
- Size: 14.6 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gleam - nessie - [📚](https://hexdocs.pm/nessie/) - Gleam bindings for Erlang's built-in DNS resolution modules. (Packages / Networking)
README
# nessie
[![Package Version](https://img.shields.io/hexpm/v/nessie)](https://hex.pm/packages/nessie)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/nessie/)A friendly DNS client for Gleam programs targeting Erlang.
```sh
gleam add nessie
``````gleam
import nessie
import gleam/iopub fn main() {
let ipv4_addrs = nessie.lookup_ipv4("gleam.run", nessie.In, [])
io.debug(ipv4_addrs)
}
```Further documentation can be found at .
## 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!- [x] A
- [x] AAAA
- [x] TXT
- [x] CNAME
- [x] MX
- [x] SOA
- [x] 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](https://discord.com/channels/768594524158427167/1224351163797868575).
## Development
```sh
gleam test # Run the tests
gleam shell # Run an Erlang shell
```