Skip to content

Commit 3071bdc

Browse files
authored
Rename Unprocessable Entity to Unprocessable Content (#1276)
Since the 422 http status is actually Unprocessable Content and not Unprocessable Entity, we need to rename it.
1 parent 065976d commit 3071bdc

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lib/plug/conn/status.ex

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ defmodule Plug.Conn.Status do
55

66
custom_statuses = Application.compile_env(:plug, :statuses, %{})
77

8+
aliased_statuses = [
9+
{422, :unprocessable_entity}
10+
]
11+
812
statuses = %{
913
100 => "Continue",
1014
101 => "Switching Protocols",
@@ -49,7 +53,7 @@ defmodule Plug.Conn.Status do
4953
417 => "Expectation Failed",
5054
418 => "I'm a teapot",
5155
421 => "Misdirected Request",
52-
422 => "Unprocessable Entity",
56+
422 => "Unprocessable Content",
5357
423 => "Locked",
5458
424 => "Failed Dependency",
5559
425 => "Too Early",
@@ -120,6 +124,10 @@ defmodule Plug.Conn.Status do
120124
def code(unquote(atom)), do: unquote(code)
121125
end
122126

127+
for {code, aliased_status} <- aliased_statuses do
128+
def code(unquote(aliased_status)), do: unquote(code)
129+
end
130+
123131
# This ensures that both the default and custom statuses will work
124132
for {code, reason_phrase} <- custom_statuses do
125133
atom = reason_phrase_to_atom.(reason_phrase)

test/plug/conn/status_test.exs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,17 @@ defmodule Plug.Conn.StatusTest do
1313
assert Status.code(:ok) == 200
1414
assert Status.code(:non_authoritative_information) == 203
1515
assert Status.code(:not_found) == 404
16+
assert Status.code(:unprocessable_content) == 422
1617
end
1718

1819
test "code for custom status return the numeric code" do
1920
assert Status.code(:not_an_rfc_status_code) == 998
2021
end
2122

23+
test "code for aliased statuses" do
24+
assert Status.code(:unprocessable_entity) == 422
25+
end
26+
2227
test "code with both a built_in and custom code return the numeric code" do
2328
assert Status.code(:im_a_teapot) == 418
2429
assert Status.code(:totally_not_a_teapot) == 418

0 commit comments

Comments
 (0)