From f68e903d06f6843ca469bed3a34eae861b27c9ac Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 15 Jun 2018 13:24:04 -0700 Subject: [PATCH] Merge PR #1260: Fixed url encoding issue --- client/lcd/lcd_test.go | 3 ++- client/tx/search.go | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/client/lcd/lcd_test.go b/client/lcd/lcd_test.go index 0bacbee209..ed736d01be 100644 --- a/client/lcd/lcd_test.go +++ b/client/lcd/lcd_test.go @@ -321,8 +321,9 @@ func TestTxs(t *testing.T) { assert.Equal(t, 1, len(indexedTxs)) // query sender + // also tests url decoding addrBech := sdk.MustBech32ifyAcc(addr) - res, body = Request(t, port, "GET", fmt.Sprintf("/txs?tag=sender_bech32='%s'", addrBech), nil) + res, body = Request(t, port, "GET", "/txs?tag=sender_bech32=%27"+addrBech+"%27", nil) require.Equal(t, http.StatusOK, res.StatusCode, body) err = cdc.UnmarshalJSON([]byte(body), &indexedTxs) diff --git a/client/tx/search.go b/client/tx/search.go index 7c75be8f7e..2e164700db 100644 --- a/client/tx/search.go +++ b/client/tx/search.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "net/http" + "net/url" "strings" "github.com/spf13/cobra" @@ -107,7 +108,12 @@ func SearchTxRequestHandlerFn(ctx context.CoreContext, cdc *wire.Codec) http.Han } keyValue := strings.Split(tag, "=") key := keyValue[0] - value := keyValue[1] + value, err := url.QueryUnescape(keyValue[1]) + if err != nil { + w.WriteHeader(400) + w.Write([]byte("Could not decode address: " + err.Error())) + return + } if strings.HasSuffix(key, "_bech32") { bech32address := strings.Trim(value, "'") prefix := strings.Split(bech32address, "1")[0]