mirror of
https://github.com/foxcpp/maddy.git
synced 2025-04-06 22:47:37 +03:00
The intention is to keep to repo root clean while the list of packages is slowly growing. Additionally, a bunch of small (~30 LoC) files in the repo root is merged into a single maddy.go file, for the same reason. Most of the internal code is moved into the internal/ directory. Go toolchain will make it impossible to import these packages from external applications. Some packages are renamed and moved into the pkg/ directory in the root. According to https://github.com/golang-standards/project-layout this is the de-facto standard to place "library code that's ok to use by external applications" in. To clearly define the purpose of top-level directories, README.md files are added to each.
17 lines
406 B
Go
17 lines
406 B
Go
package exterrors
|
|
|
|
import (
|
|
"net"
|
|
)
|
|
|
|
func UnwrapDNSErr(err error) (reason string, misc map[string]interface{}) {
|
|
dnsErr, ok := err.(*net.DNSError)
|
|
if !ok {
|
|
// Return non-nil in case the user will try to 'extend' it with its own
|
|
// values.
|
|
return "", map[string]interface{}{}
|
|
}
|
|
|
|
// Nor server name, nor DNS name are usually useful, so exclude them.
|
|
return dnsErr.Err, map[string]interface{}{}
|
|
}
|