Skip to content
This repository was archived by the owner on May 22, 2019. It is now read-only.

vectorhacker/go-srv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRV

This is a simple naming resolver that helps resolve SRV DNS records. This is useful for when your running service discovery that's exposed through DNS.

Example

Using standard consul SRV DNS

package main

// exposes the 'srv' package namespace
import "github.com/vectorhacker/go-srv"

func main() {
  changes := srv.Resolver.Resolve("hello.service.consul")

  // Blocks until you get the next set of changes or an error
  addrs, err := changes.Next()

  if err != nil {
    panic(err)
  }

  con, err := net.Dial("tcp", addrs[0].Addr)
  if err != nil {
    // handle error
  }
  fmt.Fprintf(conn, "GET / HTTP/1.0\r\n\r\n")
  status, err := bufio.NewReader(conn).ReadString('\n')

  // ...

  // Closes the watcher
  changes.Close()
}

About

A naming.Resolver

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages