mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-28 16:34:13 +01:00
mod_http_api: Fix to allow the client override the API version
When configured like: listen: - request_handlers: /api: mod_http_api /apizero/v0: mod_http_api What API version will be used depending on the URL: - api/commandname use the latest available version - api/commandname/v0 use version 0 - apizero/v0/commandname use version 0 - apizero/v0/commandname/v2 use version 2
This commit is contained in:
parent
d570870be5
commit
9f42f17088
@ -135,7 +135,7 @@ extract_auth(#request{auth = HTTPAuth, ip = {IP, _}, opts = Opts}) ->
|
|||||||
process(_, #request{method = 'POST', data = <<>>}) ->
|
process(_, #request{method = 'POST', data = <<>>}) ->
|
||||||
?DEBUG("Bad Request: no data", []),
|
?DEBUG("Bad Request: no data", []),
|
||||||
badrequest_response(<<"Missing POST data">>);
|
badrequest_response(<<"Missing POST data">>);
|
||||||
process([Call], #request{method = 'POST', data = Data, ip = IPPort} = Req) ->
|
process([Call | _], #request{method = 'POST', data = Data, ip = IPPort} = Req) ->
|
||||||
Version = get_api_version(Req),
|
Version = get_api_version(Req),
|
||||||
try
|
try
|
||||||
Args = extract_args(Data),
|
Args = extract_args(Data),
|
||||||
@ -153,7 +153,7 @@ process([Call], #request{method = 'POST', data = Data, ip = IPPort} = Req) ->
|
|||||||
?DEBUG("Bad Request: ~p ~p", [_Error, StackTrace]),
|
?DEBUG("Bad Request: ~p ~p", [_Error, StackTrace]),
|
||||||
badrequest_response()
|
badrequest_response()
|
||||||
end;
|
end;
|
||||||
process([Call], #request{method = 'GET', q = Data, ip = {IP, _}} = Req) ->
|
process([Call | _], #request{method = 'GET', q = Data, ip = {IP, _}} = Req) ->
|
||||||
Version = get_api_version(Req),
|
Version = get_api_version(Req),
|
||||||
try
|
try
|
||||||
Args = case Data of
|
Args = case Data of
|
||||||
|
Loading…
Reference in New Issue
Block a user