implemented api handlers
This commit is contained in:
parent
ab12dd67d4
commit
372915e24d
15 changed files with 302 additions and 73 deletions
29
pkg/db/db.go
29
pkg/db/db.go
|
|
@ -15,6 +15,7 @@ func New(kv cluster.KV) *DB {
|
|||
const (
|
||||
ipPrefix = "/ip/"
|
||||
namePrefix = "/name/"
|
||||
lbPrefix = "/lb/"
|
||||
)
|
||||
|
||||
func (db *DB) GetIPs() (ips []string, err error) {
|
||||
|
|
@ -54,3 +55,31 @@ func (db *DB) GetName(name string) (string, error) {
|
|||
v, err := db.kv.Get(namePrefix + name)
|
||||
return string(v), err
|
||||
}
|
||||
|
||||
func (db *DB) GetLBs(cl string) (lbs map[string][]byte, err error) {
|
||||
lbs = make(map[string][]byte)
|
||||
if cl != "" {
|
||||
cl = cl + "/"
|
||||
}
|
||||
m, err := db.kv.GetPrefix(lbPrefix + cl)
|
||||
if err == cluster.ErrPrefixNotFound {
|
||||
err = nil
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for k, v := range m {
|
||||
lbs[k] = v
|
||||
}
|
||||
return
|
||||
}
|
||||
func (db *DB) GetLB(name string) ([]byte, error) {
|
||||
return db.kv.Get(lbPrefix + name)
|
||||
}
|
||||
func (db *DB) SetLB(name string, lb []byte) error {
|
||||
return db.kv.Set(lbPrefix+name, lb)
|
||||
}
|
||||
func (db *DB) DeleteLB(name string) error {
|
||||
return db.kv.Delete(lbPrefix + name)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue