forked from tangled.org/core
this repo has no description
at master 585 B view raw
1package eventconsumer 2 3import ( 4 "fmt" 5 "net/url" 6) 7 8type KnotSource struct { 9 Knot string 10} 11 12func (k KnotSource) Key() string { 13 return k.Knot 14} 15 16func (k KnotSource) Url(cursor int64, dev bool) (*url.URL, error) { 17 scheme := "wss" 18 if dev { 19 scheme = "ws" 20 } 21 22 u, err := url.Parse(scheme + "://" + k.Knot + "/events") 23 if err != nil { 24 return nil, err 25 } 26 27 if cursor != 0 { 28 query := url.Values{} 29 query.Add("cursor", fmt.Sprintf("%d", cursor)) 30 u.RawQuery = query.Encode() 31 } 32 return u, nil 33} 34 35func NewKnotSource(knot string) KnotSource { 36 return KnotSource{ 37 Knot: knot, 38 } 39}