@cryptotaxi247 / kubo / commits / 0f3bc6552

fix: return results from resolve once

Previously, we'd return the error + result, then the result.

Steven Allen committed Jun 17, 2020 at 19:50 UTC 0f3bc6552f6a09bddf369e67393a95b546159136
1 file changed +5 -10
namesys/namesys.go
+5 -10
@@ -123,15 +123,12 @@ func (ns *mpns) resolveOnceAsync(ctx context.Context, name string, options opts.
123 key := segments[2]
124
125 if p, ok := ns.cacheGet(key); ok {
126 + var err error
127 if len(segments) > 3 {
127 - var err error
128 p, err = path.FromSegments("", strings.TrimRight(p.String(), "/"), segments[3])
129 - if err != nil {
130 - emitOnceResult(ctx, out, onceResult{value: p, err: err})
131 - }
129 }
130
134 - out <- onceResult{value: p}
131 + out <- onceResult{value: p, err: err}
132 close(out)
133 return out
134 }
@@ -183,17 +180,15 @@ func (ns *mpns) resolveOnceAsync(ctx context.Context, name string, options opts.
180 best = res
181 }
182 p := res.value
183 + err := res.err
184 + ttl := res.ttl
185
186 // Attach rest of the path
187 if len(segments) > 3 {
189 - var err error
188 p, err = path.FromSegments("", strings.TrimRight(p.String(), "/"), segments[3])
191 - if err != nil {
192 - emitOnceResult(ctx, out, onceResult{value: p, ttl: res.ttl, err: err})
193 - }
189 }
190
196 - emitOnceResult(ctx, out, onceResult{value: p, ttl: res.ttl, err: res.err})
191 + emitOnceResult(ctx, out, onceResult{value: p, ttl: ttl, err: err})
192 case <-ctx.Done():
193 return
194 }