From 6bf019aeedbbb5bce30b47ff98a85188b830c557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 9 Aug 2017 19:51:08 +0200 Subject: [PATCH] dag: cbor input-enc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License: MIT Signed-off-by: Ɓukasz Magiera --- core/coredag/dagtransl.go | 6 ++++++ test/sharness/t0053-dag.sh | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/core/coredag/dagtransl.go b/core/coredag/dagtransl.go index e2a1d5b1d..6e3f87267 100644 --- a/core/coredag/dagtransl.go +++ b/core/coredag/dagtransl.go @@ -20,6 +20,7 @@ type InputEncParsers map[string]FormatParsers var DefaultInputEncParsers = InputEncParsers{ "json": defaultJSONParsers, "raw": defaultRawParsers, + "cbor": defaultCborParsers, } var defaultJSONParsers = FormatParsers{ @@ -32,6 +33,11 @@ var defaultRawParsers = FormatParsers{ "dag-cbor": cborRawParser, } +var defaultCborParsers = FormatParsers{ + "cbor": cborRawParser, + "dag-cbor": cborRawParser, +} + // ParseInputs uses DefaultInputEncParsers to parse io.Reader described by // input encoding and format to an instance of ipld Node func ParseInputs(ienc, format string, r io.Reader, mhType uint64, mhLen int) ([]node.Node, error) { diff --git a/test/sharness/t0053-dag.sh b/test/sharness/t0053-dag.sh index 3d14a0bca..f331c0109 100755 --- a/test/sharness/t0053-dag.sh +++ b/test/sharness/t0053-dag.sh @@ -118,6 +118,12 @@ test_dag_cmd() { test_fsh echo $HASH ' + test_expect_success "non-canonical cbor input is normalized with input-enc cbor" ' + HASH=$(cat ../t0053-dag-data/non-canon.cbor | ipfs dag put --format=cbor --input-enc=cbor) && + test $HASH = "zdpuAmxF8q6iTUtkB3xtEYzmc5Sw762qwQJftt5iW8NTWLtjC" || + test_fsh echo $HASH + ' + test_expect_success "add an ipld with pin" ' PINHASH=$(printf {\"foo\":\"bar\"} | ipfs dag put --pin=true) '