mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00
In content-types, the charset parameter is converted to lowercase
We know this specific parameter is case insensitive so we automatically lowercase it to make things simpler to the developer.
This commit is contained in:
parent
8fac4eedcf
commit
4fde6cba94
5 changed files with 54 additions and 10 deletions
|
@ -64,6 +64,7 @@
|
|||
-export([rest_options_default/1]).
|
||||
-export([rest_param_all/1]).
|
||||
-export([rest_patch/1]).
|
||||
-export([rest_post_charset/1]).
|
||||
-export([rest_postonly/1]).
|
||||
-export([rest_resource_etags/1]).
|
||||
-export([rest_resource_etags_if_none_match/1]).
|
||||
|
@ -138,6 +139,7 @@ groups() ->
|
|||
rest_options_default,
|
||||
rest_param_all,
|
||||
rest_patch,
|
||||
rest_post_charset,
|
||||
rest_postonly,
|
||||
rest_resource_etags,
|
||||
rest_resource_etags_if_none_match,
|
||||
|
@ -370,6 +372,7 @@ init_dispatch(Config) ->
|
|||
{"/missing_get_callbacks", rest_missing_callbacks, []},
|
||||
{"/missing_put_callbacks", rest_missing_callbacks, []},
|
||||
{"/nodelete", rest_nodelete_resource, []},
|
||||
{"/post_charset", rest_post_charset_resource, []},
|
||||
{"/postonly", rest_postonly_resource, []},
|
||||
{"/patch", rest_patch_resource, []},
|
||||
{"/resetags", rest_resource_etags, []},
|
||||
|
@ -999,6 +1002,15 @@ rest_patch(Config) ->
|
|||
ok
|
||||
end || {Status, Headers, Body} <- Tests].
|
||||
|
||||
rest_post_charset(Config) ->
|
||||
Client = ?config(client, Config),
|
||||
Headers = [
|
||||
{<<"content-type">>, <<"text/plain;charset=UTF-8">>}
|
||||
],
|
||||
{ok, Client2} = cowboy_client:request(<<"POST">>,
|
||||
build_url("/post_charset", Config), Headers, "12345", Client),
|
||||
{ok, 204, _, _} = cowboy_client:response(Client2).
|
||||
|
||||
rest_postonly(Config) ->
|
||||
Client = ?config(client, Config),
|
||||
Headers = [
|
||||
|
|
15
test/http_SUITE_data/rest_post_charset_resource.erl
Normal file
15
test/http_SUITE_data/rest_post_charset_resource.erl
Normal file
|
@ -0,0 +1,15 @@
|
|||
-module(rest_post_charset_resource).
|
||||
-export([init/3, allowed_methods/2, content_types_accepted/2, from_text/2]).
|
||||
|
||||
init(_Transport, _Req, _Opts) ->
|
||||
{upgrade, protocol, cowboy_rest}.
|
||||
|
||||
allowed_methods(Req, State) ->
|
||||
{[<<"POST">>], Req, State}.
|
||||
|
||||
content_types_accepted(Req, State) ->
|
||||
{[{{<<"text">>, <<"plain">>, [{<<"charset">>, <<"utf-8">>}]},
|
||||
from_text}], Req, State}.
|
||||
|
||||
from_text(Req, State) ->
|
||||
{true, Req, State}.
|
Loading…
Add table
Add a link
Reference in a new issue