fix: handle both cid and base64url hash
This commit is contained in:
parent
562742fd8e
commit
95b57cffc0
|
@ -1286,12 +1286,23 @@ func (h *HttpHandler) DownloadFile(jc jape.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
var hashBytes []byte
|
||||
|
||||
cidDecoded, err := encoding.CIDFromString(cid)
|
||||
if jc.Check("error decoding cid", err) != nil {
|
||||
|
||||
if err != nil {
|
||||
hashDecoded, err := encoding.MultihashFromBase64Url(cid)
|
||||
|
||||
if jc.Check("error decoding as cid or hash", err) != nil {
|
||||
return
|
||||
}
|
||||
|
||||
file, fileSize, err := h.portal.Storage().GetFile(cidDecoded.Hash.HashBytes())
|
||||
hashBytes = hashDecoded.HashBytes()
|
||||
}
|
||||
|
||||
hashBytes = cidDecoded.Hash.HashBytes()
|
||||
|
||||
file, fileSize, err := h.portal.Storage().GetFile(hashBytes)
|
||||
if jc.Check("error getting file", err) != nil {
|
||||
return
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue