From 27df2811949e8840d5b3da14a5dfe70d4a98a96f Mon Sep 17 00:00:00 2001 From: gammazero <11790789+gammazero@users.noreply.github.com> Date: Thu, 19 Sep 2024 12:08:39 -0700 Subject: [PATCH] Accept a CID or a multihash to lookup Closes #67 --- main.go | 13 +++++++++++-- web/index.html | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index dfea7f6..ec8c61a 100644 --- a/main.go +++ b/main.go @@ -14,6 +14,8 @@ import ( "github.com/ipfs/go-cid" "github.com/libp2p/go-libp2p/core/peer" "github.com/multiformats/go-multiaddr" + "github.com/multiformats/go-multicodec" + "github.com/multiformats/go-multihash" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/collectors" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -108,8 +110,15 @@ func startServer(ctx context.Context, d *daemon, tcpListener, metricsUsername, m } cidKey, err := cid.Decode(cidStr) if err != nil { - http.Error(w, err.Error(), http.StatusBadRequest) - return + mh, mhErr := multihash.FromB58String(cidStr) + if mhErr != nil { + mh, mhErr = multihash.FromHexString(cidStr) + if mhErr != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + } + cidKey = cid.NewCidV1(uint64(multicodec.Cidv1), mh) } checkTimeout := defaultCheckTimeout diff --git a/web/index.html b/web/index.html index b1fdf52..d67e649 100644 --- a/web/index.html +++ b/web/index.html @@ -25,7 +25,7 @@

- +