5858import org .prebid .server .vertx .verticles .server .application .ApplicationResource ;
5959
6060import java .util .Collections ;
61- import java .util .Comparator ;
6261import java .util .List ;
6362import java .util .Map ;
6463import java .util .Objects ;
@@ -89,7 +88,6 @@ public class SetuidHandler implements ApplicationResource {
8988 private final Metrics metrics ;
9089 private final TimeoutFactory timeoutFactory ;
9190 private final Map <String , Usersyncer > bidderToUsersyncer ;
92- private final Map <String , Usersyncer > cookieNameToUsersyncer ;
9391
9492 public SetuidHandler (long defaultTimeout ,
9593 UidsCookieService uidsCookieService ,
@@ -113,9 +111,14 @@ public SetuidHandler(long defaultTimeout,
113111 this .analyticsDelegator = Objects .requireNonNull (analyticsDelegator );
114112 this .metrics = Objects .requireNonNull (metrics );
115113 this .timeoutFactory = Objects .requireNonNull (timeoutFactory );
114+ this .bidderToUsersyncer = collectUsersyncers (bidderCatalog );
115+ }
116+
117+ private static Map <String , Usersyncer > collectUsersyncers (BidderCatalog bidderCatalog ) {
116118 validateUsersyncersDuplicates (bidderCatalog );
117- this .bidderToUsersyncer = collectUsersyncersByBidderName (bidderCatalog );
118- this .cookieNameToUsersyncer = collectUsersyncersByCookieName (bidderCatalog );
119+ return bidderCatalog .usersyncReadyBidders ().stream ()
120+ .map (bidder -> bidderCatalog .usersyncerByName (bidder ).orElseThrow ())
121+ .collect (Collectors .toMap (Usersyncer ::getBidder , Function .identity ()));
119122 }
120123
121124 private static void validateUsersyncersDuplicates (BidderCatalog bidderCatalog ) {
@@ -146,20 +149,6 @@ private static boolean isAliasWithRootCookieFamilyName(BidderCatalog bidderCatal
146149 && parentCookieFamilyName .equals (bidderCookieFamilyName );
147150 }
148151
149- private static Map <String , Usersyncer > collectUsersyncersByBidderName (BidderCatalog bidderCatalog ) {
150- return bidderCatalog .usersyncReadyBidders ().stream ()
151- .map (bidder -> bidderCatalog .usersyncerByName (bidder ).orElseThrow ())
152- .collect (Collectors .toMap (Usersyncer ::getBidder , Function .identity ()));
153- }
154-
155- private static Map <String , Usersyncer > collectUsersyncersByCookieName (BidderCatalog bidderCatalog ) {
156- return bidderCatalog .usersyncReadyBidders ().stream ()
157- .sorted (Comparator .comparing (bidderName -> BooleanUtils .toInteger (bidderCatalog .isAlias (bidderName ))))
158- .filter (StreamUtil .distinctBy (bidderCatalog ::cookieFamilyName ))
159- .map (bidderName -> bidderCatalog .usersyncerByName (bidderName ).orElseThrow ())
160- .collect (Collectors .toMap (Usersyncer ::getCookieFamilyName , Function .identity ()));
161- }
162-
163152 @ Override
164153 public List <HttpEndpoint > endpoints () {
165154 return Collections .singletonList (HttpEndpoint .of (HttpMethod .GET , Endpoint .setuid .value ()));
@@ -175,13 +164,10 @@ public void handle(RoutingContext routingContext) {
175164 private Future <SetuidContext > toSetuidContext (RoutingContext routingContext ) {
176165 final UidsCookie uidsCookie = uidsCookieService .parseFromRequest (routingContext );
177166 final HttpServerRequest httpRequest = routingContext .request ();
178- final String bidderQueryParam = httpRequest .getParam (BIDDER_PARAM );
167+ final String bidder = httpRequest .getParam (BIDDER_PARAM );
179168 final String requestAccount = httpRequest .getParam (ACCOUNT_PARAM );
180169 final Timeout timeout = timeoutFactory .create (defaultTimeout );
181-
182- final Usersyncer usersyncer = ObjectUtils .firstNonNull (
183- bidderToUsersyncer .get (bidderQueryParam ),
184- cookieNameToUsersyncer .get (bidderQueryParam ));
170+ final Usersyncer usersyncer = bidderToUsersyncer .get (bidder );
185171
186172 return accountById (requestAccount , timeout )
187173 .compose (account -> setuidPrivacyContextFactory .contextFrom (httpRequest , account , timeout )
@@ -190,7 +176,7 @@ private Future<SetuidContext> toSetuidContext(RoutingContext routingContext) {
190176 .uidsCookie (uidsCookie )
191177 .timeout (timeout )
192178 .account (account )
193- .bidderQueryParam ( bidderQueryParam )
179+ .bidder ( bidder )
194180 .usersyncer (usersyncer )
195181 .privacyContext (privacyContext )
196182 .build ()))
@@ -239,7 +225,7 @@ private void processSetuidContext(SetuidContext setuidContext, RoutingContext ro
239225 }
240226
241227 private void validateSetuidContext (SetuidContext setuidContext ) {
242- if (StringUtils .isBlank (setuidContext .getBidderQueryParam ())) {
228+ if (StringUtils .isBlank (setuidContext .getBidder ())) {
243229 throw new InvalidRequestException ("\" bidder\" query param is required" );
244230 }
245231
0 commit comments