Когда мы получаем ответ без содержимого как 204, он приходит с сообщением «Нет содержимого» и отображает ответ
Response : #<Net::HTTPNoContent 204 No Content readbody=true>
, в то время как я хочу получить ответ типа:
<response>
<request_id>4ccf18f0-e83d-012e-29f7-042b2b8686e6</request_id>
<status_code>204</status_code>
<message>No Offers were found</message>
</response>
Могу ли я переопределить сообщение по умолчанию об ошибке 204. Метод, вызываемый для создания ответа.
def generate_success_response_without_data(format, request_id, message)
status_code = 204
format_type_method, options_hash, content_type = get_format_method(format)
data = {
"request_id" => request_id,
"status_code" => status_code,
"message" => message
}
data = generate_data_format(format, data)
resp = [status_code, {"Content-Type" => content_type}, data.send(format_type_method, options_hash)]
# Convert rack response to action controller response
generate_active_controller_response_format(resp)
resp
end
РЕДАКТИРОВАТЬ: Как указано в http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Ответ 204 НЕ ДОЛЖЕНвключает тело сообщения и поэтому всегда заканчивается первой пустой строкой после полей заголовка.
Можем ли мы как-то взломать и показать тело сообщения