@@ -657,28 +657,42 @@ translate_terminus_durability(configuration) -> 1;
657
657
translate_terminus_durability (unsettled_state ) -> 2 .
658
658
659
659
translate_filters (#{}) -> undefined ;
660
- translate_filters (Filters ) -> {map , maps :fold (fun (<<" apache.org:legacy-amqp-direct-binding:string" >> = K , V , Acc ) when is_binary (V ) ->
661
- [{{symbol , K }, {utf8 , V }} | Acc ];
662
- (<<" apache.org:legacy-amqp-topic-binding:string" >> = K , V , Acc ) when is_binary (V ) ->
663
- [{{symbol , K }, {utf8 , V }} | Acc ];
664
- (<<" apache.org:legacy-amqp-headers-binding:map" >> = K , V , Acc ) when is_map (V ) ->
665
- [{{symbol , K }, translate_legacy_amqp_headers_binding (V )} | Acc ];
666
- (<<" apache.org:no-local-filter:list" >> = K , V , Acc ) when is_list (V ) ->
667
- [{{symbol , K }, lists :map (fun (Id ) -> {utf8 , Id } end , V )} | Acc ];
668
- (<<" apache.org:selector-filter:string" >> = K , V , Acc ) when is_binary (V ) ->
669
- [{{symbol , K }, {utf8 , V }} | Acc ]
670
- end , [], Filters )}.
660
+ translate_filters (Filters ) ->
661
+ {
662
+ map ,
663
+ maps :fold (
664
+ fun (<<" apache.org:legacy-amqp-direct-binding:string" >> = K , V , Acc ) when is_binary (V ) ->
665
+ [{{symbol , K }, {utf8 , V }} | Acc ];
666
+ (<<" apache.org:legacy-amqp-topic-binding:string" >> = K , V , Acc ) when is_binary (V ) ->
667
+ [{{symbol , K }, {utf8 , V }} | Acc ];
668
+ (<<" apache.org:legacy-amqp-headers-binding:map" >> = K , V , Acc ) when is_map (V ) ->
669
+ [{{symbol , K }, translate_legacy_amqp_headers_binding (V )} | Acc ];
670
+ (<<" apache.org:no-local-filter:list" >> = K , V , Acc ) when is_list (V ) ->
671
+ [{{symbol , K }, lists :map (fun (Id ) -> {utf8 , Id } end , V )} | Acc ];
672
+ (<<" apache.org:selector-filter:string" >> = K , V , Acc ) when is_binary (V ) ->
673
+ [{{symbol , K }, {utf8 , V }} | Acc ]
674
+ end ,
675
+ [],
676
+ Filters )
677
+ }.
671
678
672
679
% https://people.apache.org/~rgodfrey/amqp-1.0/apache-filters.html
673
- translate_legacy_amqp_headers_binding (LegacyHeaders ) -> {map , maps :fold (fun (<<" x-match" >> = K , <<" any" >> = V , Acc ) ->
674
- [{{utf8 , K }, {utf8 , V }} | Acc ];
675
- (<<" x-match" >> = K , <<" all" >> = V , Acc ) ->
676
- [{{utf8 , K }, {utf8 , V }} | Acc ];
677
- (<<" x-" ,_ /binary >> = K , _ , Acc ) ->
678
- Acc ;
679
- (K , V , Acc ) ->
680
- [{{utf8 , K }, {utf8 , V }} | Acc ]
681
- end , [], LegacyHeaders )}.
680
+ translate_legacy_amqp_headers_binding (LegacyHeaders ) ->
681
+ {
682
+ map ,
683
+ maps :fold (
684
+ fun (<<" x-match" >> = K , <<" any" >> = V , Acc ) ->
685
+ [{{utf8 , K }, {utf8 , V }} | Acc ];
686
+ (<<" x-match" >> = K , <<" all" >> = V , Acc ) ->
687
+ [{{utf8 , K }, {utf8 , V }} | Acc ];
688
+ (<<" x-" ,_ /binary >>, _ , Acc ) ->
689
+ Acc ;
690
+ (K , V , Acc ) ->
691
+ [{{utf8 , K }, {utf8 , V }} | Acc ]
692
+ end ,
693
+ [],
694
+ LegacyHeaders )
695
+ }.
682
696
683
697
send_detach (Send , {detach , OutHandle }, _From , State = # state {links = Links }) ->
684
698
case Links of
0 commit comments