From 3aa1f86d9ec5a425dea3da47ef471be8dc963af7 Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Wed, 22 May 2024 08:23:53 +0800 Subject: [PATCH] chore: is_content_type_json to validate_content_type_json --- apps/emqx_bridge/src/emqx_bridge_api.erl | 2 +- .../src/emqx_dashboard_swagger.erl | 16 ++++++++-------- apps/emqx_license/src/emqx_license_http_api.erl | 2 +- .../src/emqx_rule_engine_api.erl | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/emqx_bridge/src/emqx_bridge_api.erl b/apps/emqx_bridge/src/emqx_bridge_api.erl index 2d2c1455c..003ec9a06 100644 --- a/apps/emqx_bridge/src/emqx_bridge_api.erl +++ b/apps/emqx_bridge/src/emqx_bridge_api.erl @@ -83,7 +83,7 @@ namespace() -> "bridge". api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{ - check_schema => fun emqx_dashboard_swagger:is_content_type_json/2 + check_schema => fun emqx_dashboard_swagger:validate_content_type_json/2 }). paths() -> diff --git a/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl b/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl index 308ee3d40..9112578dc 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl @@ -30,7 +30,7 @@ -export([base_path/0]). -export([relative_uri/1, get_relative_uri/1]). -export([compose_filters/2]). --export([is_content_type_json/2, validate_content_type/3]). +-export([validate_content_type_json/2, validate_content_type/3]). -export([ filter_check_request/2, @@ -153,18 +153,22 @@ spec(Module, Options) -> ), {ApiSpec, components(lists:usort(AllRefs), Options)}. -is_content_type_json(Params, Meta) -> +validate_content_type_json(Params, Meta) -> validate_content_type(Params, Meta, <<"application/json">>). %% tip: Skip content-type check if body is empty. -validate_content_type(#{body := Body} = Params, #{method := Method}, Expect) when +validate_content_type( + #{body := Body, headers := Headers} = Params, + #{method := Method}, + Expect +) when (Method =:= put orelse Method =:= post orelse method =:= patch) andalso Body =/= #{} -> ExpectSize = byte_size(Expect), - case find_content_type(Params) of + case maps:get(<<"content-type">>, Headers, undefined) of <> -> {ok, Params}; _ -> @@ -173,10 +177,6 @@ validate_content_type(#{body := Body} = Params, #{method := Method}, Expect) whe validate_content_type(Params, _Meta, _Expect) -> {ok, Params}. -find_content_type(#{headers := #{<<"content-type">> := Type}}) -> Type; -find_content_type(#{headers := #{<<"Content-Type">> := Type}}) -> Type; -find_content_type(_Headers) -> error. - -spec namespace() -> hocon_schema:name(). namespace() -> "public". diff --git a/apps/emqx_license/src/emqx_license_http_api.erl b/apps/emqx_license/src/emqx_license_http_api.erl index 9265d65ec..c3791e0ea 100644 --- a/apps/emqx_license/src/emqx_license_http_api.erl +++ b/apps/emqx_license/src/emqx_license_http_api.erl @@ -29,7 +29,7 @@ namespace() -> "license_http_api". api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{ - check_schema => fun emqx_dashboard_swagger:is_content_type_json/2 + check_schema => fun emqx_dashboard_swagger:validate_content_type_json/2 }). paths() -> diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl index 16a012f50..0ac59b36c 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl @@ -138,7 +138,7 @@ namespace() -> "rule". api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{ - check_schema => fun emqx_dashboard_swagger:is_content_type_json/2 + check_schema => fun emqx_dashboard_swagger:validate_content_type_json/2 }). paths() ->