From d38b6265791caf037e6da62d0dde23de81c2d840 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Wed, 27 Jan 2021 19:19:38 +0100 Subject: [PATCH] fix(emqx_coap_ps_resource): Copy uri decode code from OTP-22 --- apps/emqx_coap/src/emqx_coap_ps_resource.erl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/emqx_coap/src/emqx_coap_ps_resource.erl b/apps/emqx_coap/src/emqx_coap_ps_resource.erl index d16c11695..144dba1bd 100644 --- a/apps/emqx_coap/src/emqx_coap_ps_resource.erl +++ b/apps/emqx_coap/src/emqx_coap_ps_resource.erl @@ -259,13 +259,13 @@ handle_received_create(TopicPrefix, MaxAge, Payload) -> {error, bad_request} end. -%% http_uri:decode/1 is deprecated in OTP-23 -%% its equivalent uri_string:percent_decode however is not available before OTP 23 --if(?OTP_RELEASE >= 23). -percent_decode(Topic) -> uri_string:percent_decode(Topic). --else. -percent_decode(Topic) -> http_uri:decode(Topic). --endif. +%% @private Copy from http_uri.erl which has been deprecated since OTP-23 +percent_decode(<<$%, Hex:2/binary, Rest/bits>>) -> + <<(binary_to_integer(Hex, 16)), (percent_decode(Rest))/binary>>; +percent_decode(<>) -> + <>; +percent_decode(<<>>) -> + <<>>. %% When topic is timeout, server should return nocontent here, %% but gen_coap only receive return value of #coap_content from coap_get, so temporarily we can't give the Code 2.07 {ok, nocontent} out.TBC!!!