mod_http_upload: Don't store "external" slots
Don't store requested upload slots if an 'external_secret' is configured.
This commit is contained in:
parent
2dfb5a6a5c
commit
4e9930597d
|
@ -539,11 +539,8 @@ process_slot_request(#iq{lang = Lang, from = From} = IQ,
|
||||||
case create_slot(State, From, File, Size, ContentType, XMLNS,
|
case create_slot(State, From, File, Size, ContentType, XMLNS,
|
||||||
Lang) of
|
Lang) of
|
||||||
{ok, Slot} ->
|
{ok, Slot} ->
|
||||||
{ok, Timer} = timer:send_after(?SLOT_TIMEOUT,
|
|
||||||
{slot_timed_out,
|
|
||||||
Slot}),
|
|
||||||
Query = make_query_string(Slot, Size, State),
|
Query = make_query_string(Slot, Size, State),
|
||||||
NewState = add_slot(Slot, Size, Timer, State),
|
NewState = add_slot(Slot, Size, State),
|
||||||
NewSlot = mk_slot(Slot, State, XMLNS, Query),
|
NewSlot = mk_slot(Slot, State, XMLNS, Query),
|
||||||
{xmpp:make_iq_result(IQ, NewSlot), NewState};
|
{xmpp:make_iq_result(IQ, NewSlot), NewState};
|
||||||
{ok, PutURL, GetURL} ->
|
{ok, PutURL, GetURL} ->
|
||||||
|
@ -643,10 +640,13 @@ create_slot(#state{service_url = ServiceURL},
|
||||||
{error, xmpp:err_service_unavailable()}
|
{error, xmpp:err_service_unavailable()}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
-spec add_slot(slot(), pos_integer(), timer:tref(), state()) -> state().
|
-spec add_slot(slot(), pos_integer(), state()) -> state().
|
||||||
add_slot(Slot, Size, Timer, #state{slots = Slots} = State) ->
|
add_slot(Slot, Size, #state{external_secret = <<>>, slots = Slots} = State) ->
|
||||||
|
{ok, Timer} = timer:send_after(?SLOT_TIMEOUT, {slot_timed_out, Slot}),
|
||||||
NewSlots = maps:put(Slot, {Size, Timer}, Slots),
|
NewSlots = maps:put(Slot, {Size, Timer}, Slots),
|
||||||
State#state{slots = NewSlots}.
|
State#state{slots = NewSlots};
|
||||||
|
add_slot(_Slot, _Size, State) ->
|
||||||
|
State.
|
||||||
|
|
||||||
-spec get_slot(slot(), state()) -> {ok, {pos_integer(), timer:tref()}} | error.
|
-spec get_slot(slot(), state()) -> {ok, {pos_integer(), timer:tref()}} | error.
|
||||||
get_slot(Slot, #state{slots = Slots}) ->
|
get_slot(Slot, #state{slots = Slots}) ->
|
||||||
|
|
Loading…
Reference in New Issue