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 | 640d4e1409970bc7f0c591970f1093ee8e2f93a2 (patch) | |
tree | 259a22ef6757d2494c53c8d1bf2d43f285c9d030 | |
parent | 5fcd3b58a689f93d904177ef6f1817284e7a43e7 (diff) | |
download | rabbitmq-server-640d4e1409970bc7f0c591970f1093ee8e2f93a2.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 d95ceb8c..9966c0df 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}} = |