diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2012-10-29 16:02:05 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2012-10-29 16:02:05 +0000 |
| commit | edd3cc0767d4d61d220868de76bd22288b2acdee (patch) | |
| tree | 259a22ef6757d2494c53c8d1bf2d43f285c9d030 | |
| parent | 9cb4ef45d4690f32418a4b57a909e25970f3faca (diff) | |
| download | rabbitmq-server-git-edd3cc0767d4d61d220868de76bd22288b2acdee.tar.gz | |
Rearrange args to put the big structure we're working with at the end; more OTPish. Yes, rabbit_misc:table_lookup and rabbit_misc:set_table_value get this wrong, but we should not copy that.
| -rw-r--r-- | src/rabbit_basic.erl | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/rabbit_basic.erl b/src/rabbit_basic.erl index d95ceb8c78..9966c0df31 100644 --- a/src/rabbit_basic.erl +++ b/src/rabbit_basic.erl @@ -182,39 +182,39 @@ prepend_table_header(Name, Info, undefined) -> prepend_table_header(Name, Info, Headers) -> case rabbit_misc:table_lookup(Headers, Name) of {array, Existing} -> - prepend_table(Headers, Name, Info, Existing); + prepend_table(Name, Info, Existing, Headers); undefined -> - prepend_table(Headers, Name, Info, []); + prepend_table(Name, Info, [], Headers); Other -> - Headers2 = prepend_table(Headers, Name, Info, []), + Headers2 = prepend_table(Name, Info, [], Headers), set_invalid_header(Name, Other, Headers2) end. -prepend_table(Headers, Name, Info, Prior) -> +prepend_table(Name, Info, Prior, Headers) -> rabbit_misc:set_table_value(Headers, Name, array, [{table, Info} | Prior]). set_invalid_header(Name, {_, _}=Value, Headers) when is_list(Headers) -> case rabbit_misc:table_lookup(Headers, ?INVALID_HEADERS_KEY) of undefined -> - set_invalid(Headers, [{Name, array, [Value]}]); + set_invalid([{Name, array, [Value]}], Headers); {table, ExistingHdr} -> - update_invalid(Headers, ExistingHdr, Name, Value); + update_invalid(Name, Value, ExistingHdr, Headers); Other -> %% somehow the x-invalid-headers header is corrupt Invalid = [{?INVALID_HEADERS_KEY, array, [Other]}], - set_invalid_header(Name, Value, set_invalid(Headers, Invalid)) + set_invalid_header(Name, Value, set_invalid(Invalid, Headers)) end. -set_invalid(Headers, NewHdr) -> +set_invalid(NewHdr, Headers) -> rabbit_misc:set_table_value(Headers, ?INVALID_HEADERS_KEY, table, NewHdr). -update_invalid(Headers, ExistingHdr, Name, Value) -> +update_invalid(Name, Value, ExistingHdr, Header) -> Values = case rabbit_misc:table_lookup(ExistingHdr, Name) of undefined -> [Value]; {array, Prior} -> [Value | Prior] end, NewHdr = rabbit_misc:set_table_value(ExistingHdr, Name, array, Values), - set_invalid(Headers, NewHdr). + set_invalid(NewHdr, Header). extract_headers(Content) -> #content{properties = #'P_basic'{headers = Headers}} = |
