From f0bbeb75ffa0fa26de67f13c6f622ea8c4d5108f Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 3 Jun 2021 09:52:05 +0800 Subject: [PATCH] update erlang-server samples --- .../petstore/erlang-server/.openapi-generator/VERSION | 2 +- .../petstore/erlang-server/src/openapi_pet_handler.erl | 9 +++++++-- .../petstore/erlang-server/src/openapi_store_handler.erl | 9 +++++++-- .../petstore/erlang-server/src/openapi_user_handler.erl | 9 +++++++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/samples/server/petstore/erlang-server/.openapi-generator/VERSION b/samples/server/petstore/erlang-server/.openapi-generator/VERSION index d509cc92aa8..6555596f931 100644 --- a/samples/server/petstore/erlang-server/.openapi-generator/VERSION +++ b/samples/server/petstore/erlang-server/.openapi-generator/VERSION @@ -1 +1 @@ -5.1.1-SNAPSHOT \ No newline at end of file +5.2.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/erlang-server/src/openapi_pet_handler.erl b/samples/server/petstore/erlang-server/src/openapi_pet_handler.erl index 15bbb6432fd..203cc07b28a 100644 --- a/samples/server/petstore/erlang-server/src/openapi_pet_handler.erl +++ b/samples/server/petstore/erlang-server/src/openapi_pet_handler.erl @@ -440,7 +440,7 @@ process_response(Response, Req0, State = #state{operation_id = OperationID}) -> {stop, Req, State} end. --spec handle_request_json(cowboy_req:req(), state()) -> {cowboy_req:resp_body(), cowboy_req:req(), state()}. +-spec handle_request_json(cowboy_req:req(), state()) -> processed_response(). handle_request_json( Req0, @@ -464,7 +464,7 @@ handle_request_json( Body, ValidatorState ), - PreparedBody = jsx:encode(Body), + PreparedBody = prepare_body(Code, Body), Response = {ok, {Code, Headers, PreparedBody}}, process_response(Response, Req1, State); {error, Reason, Req1} -> @@ -472,3 +472,8 @@ handle_request_json( end. validate_headers(_, Req) -> {true, Req}. + +prepare_body(204, Body) when map_size(Body) == 0; length(Body) == 0 -> + <<>>; +prepare_body(_Code, Body) -> + jsx:encode(Body). diff --git a/samples/server/petstore/erlang-server/src/openapi_store_handler.erl b/samples/server/petstore/erlang-server/src/openapi_store_handler.erl index 57921986531..b7969837147 100644 --- a/samples/server/petstore/erlang-server/src/openapi_store_handler.erl +++ b/samples/server/petstore/erlang-server/src/openapi_store_handler.erl @@ -235,7 +235,7 @@ process_response(Response, Req0, State = #state{operation_id = OperationID}) -> {stop, Req, State} end. --spec handle_request_json(cowboy_req:req(), state()) -> {cowboy_req:resp_body(), cowboy_req:req(), state()}. +-spec handle_request_json(cowboy_req:req(), state()) -> processed_response(). handle_request_json( Req0, @@ -259,7 +259,7 @@ handle_request_json( Body, ValidatorState ), - PreparedBody = jsx:encode(Body), + PreparedBody = prepare_body(Code, Body), Response = {ok, {Code, Headers, PreparedBody}}, process_response(Response, Req1, State); {error, Reason, Req1} -> @@ -267,3 +267,8 @@ handle_request_json( end. validate_headers(_, Req) -> {true, Req}. + +prepare_body(204, Body) when map_size(Body) == 0; length(Body) == 0 -> + <<>>; +prepare_body(_Code, Body) -> + jsx:encode(Body). diff --git a/samples/server/petstore/erlang-server/src/openapi_user_handler.erl b/samples/server/petstore/erlang-server/src/openapi_user_handler.erl index 4c71b5ebcfd..f0d9179392c 100644 --- a/samples/server/petstore/erlang-server/src/openapi_user_handler.erl +++ b/samples/server/petstore/erlang-server/src/openapi_user_handler.erl @@ -402,7 +402,7 @@ process_response(Response, Req0, State = #state{operation_id = OperationID}) -> {stop, Req, State} end. --spec handle_request_json(cowboy_req:req(), state()) -> {cowboy_req:resp_body(), cowboy_req:req(), state()}. +-spec handle_request_json(cowboy_req:req(), state()) -> processed_response(). handle_request_json( Req0, @@ -426,7 +426,7 @@ handle_request_json( Body, ValidatorState ), - PreparedBody = jsx:encode(Body), + PreparedBody = prepare_body(Code, Body), Response = {ok, {Code, Headers, PreparedBody}}, process_response(Response, Req1, State); {error, Reason, Req1} -> @@ -434,3 +434,8 @@ handle_request_json( end. validate_headers(_, Req) -> {true, Req}. + +prepare_body(204, Body) when map_size(Body) == 0; length(Body) == 0 -> + <<>>; +prepare_body(_Code, Body) -> + jsx:encode(Body).