11package cmdenv
22
33import (
4- "errors "
4+ "strings "
55
6- path "gx/ipfs/QmNYPETsdAu2uQ1k9q9S1jYEGURaLHV6cbYRSVFVRftpF8/go-path"
76 cmds "gx/ipfs/QmWGm4AbZEbnmdgVTza52MSNpEmBdFVqzmAysRbjrRyGbH/go-ipfs-cmds"
87 cidenc "gx/ipfs/QmdPQx9fvN5ExVwMhRmh7YpCQJzJrFhd1AjVBwJmRMFJeX/go-cidutil/cidenc"
98 cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
@@ -64,10 +63,7 @@ func CidBaseDefined(req *cmds.Request) bool {
6463// the base encoder is returned. If you don't care about the error
6564// condition, it is safe to ignore the error returned.
6665func CidEncoderFromPath (enc cidenc.Encoder , p string ) (cidenc.Encoder , error ) {
67- v , err := extractCidString (p )
68- if err != nil {
69- return enc , err
70- }
66+ v := extractCidString (p )
7167 if cidVer (v ) == 0 {
7268 return cidenc.Encoder {Base : enc .Base , Upgrade : false }, nil
7369 }
@@ -78,16 +74,12 @@ func CidEncoderFromPath(enc cidenc.Encoder, p string) (cidenc.Encoder, error) {
7874 return cidenc.Encoder {Base : e , Upgrade : true }, nil
7975}
8076
81- func extractCidString (str string ) (string , error ) {
82- p , err := path .ParsePath (str )
83- if err != nil {
84- return "" , err
85- }
86- segs := p .Segments ()
87- if segs [0 ] == "ipfs" || segs [0 ] == "ipld" {
88- return segs [1 ], nil
77+ func extractCidString (str string ) string {
78+ parts := strings .Split (str , "/" )
79+ if len (parts ) > 2 && (parts [1 ] == "ipfs" || parts [1 ] == "ipld" ) {
80+ return parts [2 ]
8981 }
90- return "" , errors . New ( "no CID found" )
82+ return str
9183}
9284
9385func cidVer (v string ) int {
0 commit comments