From 1f1d3cfe7f63b0182cb3c904e697593f41c34e70 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Wed, 4 May 2022 12:34:12 -0300 Subject: [PATCH] some changes and fixes related to sub.Sub(). --- nip05/nip05.go | 10 +++++++++- relaypool.go | 4 ++-- subscription.go | 4 +++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/nip05/nip05.go b/nip05/nip05.go index b9d550e..252f08d 100644 --- a/nip05/nip05.go +++ b/nip05/nip05.go @@ -7,7 +7,7 @@ import ( "strings" ) -func queryName(fullname string) string { +func QueryIdentifier(fullname string) string { spl := strings.Split(fullname, "@") if len(spl) != 2 { return "" @@ -30,3 +30,11 @@ func queryName(fullname string) string { pubkey, _ := result.Names[name] return pubkey } + +func NormalizeIdentifier(fullname string) string { + if strings.HasPrefix(fullname, "_@") { + return fullname[2:] + } + + return fullname +} diff --git a/relaypool.go b/relaypool.go index c0f1892..ee8f867 100644 --- a/relaypool.go +++ b/relaypool.go @@ -205,7 +205,7 @@ func (r *RelayPool) Sub(filters Filters) *Subscription { random := make([]byte, 7) rand.Read(random) - subscription := Subscription{filters: filters} + subscription := Subscription{} subscription.channel = hex.EncodeToString(random) subscription.relays = make(map[string]*Connection) for relay, policy := range r.Relays { @@ -218,7 +218,7 @@ func (r *RelayPool) Sub(filters Filters) *Subscription { subscription.UniqueEvents = make(chan Event) r.subscriptions[subscription.channel] = &subscription - subscription.Sub() + subscription.Sub(filters) return &subscription } diff --git a/subscription.go b/subscription.go index 4c41b99..b555d98 100644 --- a/subscription.go +++ b/subscription.go @@ -35,7 +35,9 @@ func (subscription Subscription) Unsub() { } } -func (subscription Subscription) Sub() { +func (subscription *Subscription) Sub(filters Filters) { + subscription.filters = filters + for _, conn := range subscription.relays { message := []interface{}{ "REQ",