Current section

54 Versions

Jump to

Compare versions

3 files changed
+9 additions
-3 deletions
  @@ -52,4 +52,4 @@
52 52 [{<<"app">>,<<"uuid">>},
53 53 {<<"optional">>,false},
54 54 {<<"requirement">>,<<"~>2.0.7">>}]}]}.
55 - {<<"version">>,<<"0.9.23">>}.
55 + {<<"version">>,<<"0.9.24">>}.
  @@ -1,6 +1,6 @@
1 1 {application,nova,
2 2 [{description,"Nova is a web application framework"},
3 - {vsn,"0.9.23"},
3 + {vsn,"0.9.24"},
4 4 {registered,[]},
5 5 {mod,{nova_app,[]}},
6 6 {included_applications,[]},
  @@ -23,7 +23,7 @@ pre_request(Req, Options) ->
23 23 false ->
24 24 Req#{body => <<>>}
25 25 end,
26 - {ok, _} = modulate_state(BodyReq, ListOptions).
26 + modulate_state(BodyReq, ListOptions).
27 27
28 28 %%--------------------------------------------------------------------
29 29 %% @doc
  @@ -67,6 +67,12 @@ modulate_state(Req, []) ->
67 67
68 68 modulate_state( Req = #{method := Method}, [{decode_json_body, true}|Tail]) when Method =:= <<"GET">>; Method =:= <<"DELETE">> ->
69 69 modulate_state(Req, Tail);
70 + modulate_state(Req = #{headers := #{<<"content-type">> := <<"application/json", _/binary>>}, body := <<>>}, [{decode_json_body, true}|_Tl]) ->
71 + Req400 = cowboy_req:reply(400, Req),
72 + logger:warning(#{status_code => 400,
73 + msg => "Failed to decode json.",
74 + error => "No body to decode."}),
75 + {stop, Req400};
70 76 modulate_state(Req = #{headers := #{<<"content-type">> := <<"application/json", _/binary>>}, body := Body}, [{decode_json_body, true}|Tl]) ->
71 77 %% Decode the data
72 78 JsonLib = nova:get_env(json_lib, thoas),