How do I differentiate b/w a ipfs url/path (content-addressed) from normal-url (location-addressed)?

I am trying to fetch nft-metadata for the nfts added on my platform. Some Nfts contains ipfs-urls as their tokenURIs and I need a mechanism to differentiate them from normal-urls (location-addressed urls).

I was using is-ipfs , but it gives false returns even for valid ipfs-urls!


 if (mtokenUri) {
            var res
            var data
    
        console.log("### ipfs url check ###")
        console.log(isIPFS.urlOrPath("ipfs://bafybeihbsysdkemc3kyylegtfopkrcfiih4exnasoql2q36fb4zawlrwhy/volcano.json"))
        // false for "ipfs://bafybeihbsysdkemc3kyylegtfopkrcfiih4exnasoql2q36fb4zawlrwhy/volcano.json"

         //this is not very reliable
        if (isIPFS.urlOrPath(mtokenUri)) {
          //gives false even for a valid ipfs-url
          console.log('inside erc721 ipfs: ')

          isIpfsUrl = true
          console.log("*** 721 isIpfs url ***")
          console.log(isIPFS.urlOrPath(mtokenUri))
          // example ccid = 'QmPzhc9ezphJ85qJWfVVpeHkPieDJznpYduGhMYD7Z4Ac9'
          const cid_eg2 =
            'bafybeihbsysdkemc3kyylegtfopkrcfiih4exnasoql2q36fb4zawlrwhy/volcano.json'
          try {
            res = await ipfs.cat(mtokenUri)
            // data = await res.json()
            console.log(res)
          } catch (error) {
            console.log(error)
          }

          //shows:cat {<suspended>}
        } else {

          //do normal fetch

          try {
            res = await fetch(mtokenUri)
            data = await res.json()
         
          console.log('erc721 normal fetch')
          console.log("*** Normal fetch data *** ")

          console.log(data)
          _imageUrl = data.image
          _name = data.name
          _description = data.description

        } catch (error) {
          console.log(error)
        }

        }
       
      }

is there any way to fetch both normal-urls and ipfs-urls ?

Here’s the stackoverflow link for the same –
https://stackoverflow.com/questions/71036840/how-do-i-differentiate-b-w-a-ipfs-url-path-content-addressed-from-normal-url