diff --git a/CHANGELOG.md b/CHANGELOG.md index 95b62ab..7fccc75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v4.0.1 - 04.06.2026 + +- Fix issue with `decode_packet` not handling http method as binary. + ## v4.0.0 - 27.05.2026 - Resolve misleading IPv6 support documentation. diff --git a/gleam.toml b/gleam.toml index 4dbba55..ca69559 100644 --- a/gleam.toml +++ b/gleam.toml @@ -1,5 +1,5 @@ name = "ewe" -version = "4.0.0" +version = "4.0.1" description = "🐑 a fluffy Gleam web server" target = "erlang" diff --git a/src/ewe_ffi.erl b/src/ewe_ffi.erl index 1988f43..ff913e6 100644 --- a/src/ewe_ffi.erl +++ b/src/ewe_ffi.erl @@ -21,7 +21,13 @@ decode_packet(Type, Packet, Options) -> {ok, {http_request, <<"PRI">>, '*', {2, 0}}, Rest} -> {ok, {packet, http2_upgrade, Rest}}; {ok, {http_request, Method, Uri, Version}, Rest} -> - {ok, {packet, {http_request, atom_to_binary(Method), Uri, Version}, Rest}}; + MethodBin = + if is_atom(Method) -> + atom_to_binary(Method); + true -> + Method + end, + {ok, {packet, {http_request, MethodBin, Uri, Version}, Rest}}; {ok, {http_header, Idx, _, Field, Value}, Rest} -> {ok, {packet, {http_header, Idx, Field, Value}, Rest}}; {ok, Bin, Rest} ->