1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-26 07:28:20 +08:00

fix blockservice error ignorance

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
This commit is contained in:
Jeromy
2015-09-04 15:41:15 -07:00
parent 206739d10c
commit 4d8eddcebc

View File

@ -96,19 +96,25 @@ func (s *BlockService) GetBlock(ctx context.Context, k key.Key) (*blocks.Block,
block, err := s.Blockstore.Get(k)
if err == nil {
return block, nil
}
if err == blockstore.ErrNotFound && s.Exchange != nil {
// TODO be careful checking ErrNotFound. If the underlying
// implementation changes, this will break.
} else if err == blockstore.ErrNotFound && s.Exchange != nil {
log.Debug("Blockservice: Searching bitswap.")
blk, err := s.Exchange.GetBlock(ctx, k)
if err != nil {
return nil, err
}
return blk, nil
} else {
log.Debug("Blockservice GetBlock: Not found.")
}
log.Debug("Blockservice GetBlock: Not found.")
if err == blockstore.ErrNotFound {
return nil, ErrNotFound
}
return nil, err
}
// GetBlocks gets a list of blocks asynchronously and returns through