Skip to content

Commit c7235eb

Browse files
committed
AntoxaAntoxic code review 2
1 parent 506fe83 commit c7235eb

5 files changed

Lines changed: 561 additions & 530 deletions

File tree

src/main/java/org/prebid/server/bidder/sparteo/SparteoBidder.java

Lines changed: 29 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.prebid.server.bidder.model.BidderError;
2121
import org.prebid.server.bidder.model.HttpRequest;
2222
import org.prebid.server.bidder.model.Result;
23+
import org.prebid.server.bidder.sparteo.util.SparteoUtil;
2324
import org.prebid.server.exception.PreBidException;
2425
import org.prebid.server.json.DecodeException;
2526
import org.prebid.server.json.JacksonMapper;
@@ -32,7 +33,6 @@
3233
import org.prebid.server.util.HttpUtil;
3334
import org.apache.http.client.utils.URIBuilder;
3435

35-
import java.net.URI;
3636
import java.net.URISyntaxException;
3737
import java.util.ArrayList;
3838
import java.util.Collection;
@@ -121,7 +121,7 @@ private Site modifySite(Site site, String networkId) {
121121
? site.getPublisher()
122122
: Publisher.builder().build();
123123

124-
final Publisher modifiedPublisher = modifiedPublisher(originalPublisher, networkId);
124+
final Publisher modifiedPublisher = modifyPublisher(originalPublisher, networkId);
125125

126126
return site.toBuilder().publisher(modifiedPublisher).build();
127127
}
@@ -135,12 +135,12 @@ private App modifyApp(App app, String networkId) {
135135
? app.getPublisher()
136136
: Publisher.builder().build();
137137

138-
final Publisher modifiedPublisher = modifiedPublisher(originalPublisher, networkId);
138+
final Publisher modifiedPublisher = modifyPublisher(originalPublisher, networkId);
139139

140140
return app.toBuilder().publisher(modifiedPublisher).build();
141141
}
142142

143-
private Publisher modifiedPublisher(Publisher originalPublisher, String networkId) {
143+
private Publisher modifyPublisher(Publisher originalPublisher, String networkId) {
144144
final ExtPublisher originalExt = originalPublisher.getExt();
145145
final ExtPublisher modifiedExt = originalExt == null
146146
? ExtPublisher.empty()
@@ -161,6 +161,7 @@ private ObjectNode ensureParamsNode(ExtPublisher extPublisher) {
161161
}
162162
final ObjectNode paramsNode = mapper.mapper().createObjectNode();
163163
extPublisher.addProperty("params", paramsNode);
164+
164165
return paramsNode;
165166
}
166167

@@ -169,36 +170,44 @@ private String replaceMacros(Site site, App app, String networkId, List<BidderEr
169170
final String appDomain = resolveAppDomain(app);
170171
final String bundle = resolveBundle(app);
171172

172-
if (site != null) {
173-
if (UNKNOWN_VALUE.equals(siteDomain)) {
174-
errors.add(BidderError.badInput(
175-
"Domain not found. Missing the site.domain or the site.page field"));
176-
}
173+
if (UNKNOWN_VALUE.equals(siteDomain)) {
174+
errors.add(BidderError.badInput(
175+
"Domain not found. Missing the site.domain or the site.page field"));
177176
}
178177

179-
if (app != null && UNKNOWN_VALUE.equals(bundle)) {
178+
if (UNKNOWN_VALUE.equals(bundle)) {
180179
errors.add(BidderError.badInput(
181180
"Bundle not found. Missing the app.bundle field."));
182181
}
182+
183183
return resolveEndpoint(siteDomain, appDomain, networkId, bundle);
184184
}
185185

186186
private String resolveSiteDomain(Site site) {
187-
return Optional.ofNullable(site)
188-
.map(s -> {
189-
final String domain = normalizeHostname(s.getDomain());
190-
return StringUtils.isNotEmpty(domain) ? domain : normalizeHostname(s.getPage());
191-
})
187+
if (site == null) {
188+
return null;
189+
}
190+
191+
return Optional.of(site)
192+
.map(Site::getDomain)
193+
.map(SparteoUtil::normalizeHostname)
192194
.filter(StringUtils::isNotEmpty)
193-
.orElse(site != null ? UNKNOWN_VALUE : null);
195+
.or(() -> Optional.ofNullable(site.getPage())
196+
.map(SparteoUtil::normalizeHostname)
197+
.filter(StringUtils::isNotEmpty))
198+
.orElse(UNKNOWN_VALUE);
194199
}
195200

196201
private String resolveAppDomain(App app) {
197-
return Optional.ofNullable(app)
202+
if (app == null) {
203+
return null;
204+
}
205+
206+
return Optional.of(app)
198207
.map(App::getDomain)
199-
.map(SparteoBidder::normalizeHostname)
208+
.map(SparteoUtil::normalizeHostname)
200209
.filter(StringUtils::isNotEmpty)
201-
.orElse(app != null ? UNKNOWN_VALUE : null);
210+
.orElse(UNKNOWN_VALUE);
202211
}
203212

204213
private String resolveBundle(App app) {
@@ -207,41 +216,12 @@ private String resolveBundle(App app) {
207216
}
208217

209218
return Optional.ofNullable(app.getBundle())
210-
.filter(rawBundle -> !rawBundle.isBlank())
219+
.filter(StringUtils::isNotBlank)
211220
.map(String::trim)
212221
.filter(bundle -> !"null".equalsIgnoreCase(bundle))
213222
.orElse(UNKNOWN_VALUE);
214223
}
215224

216-
public static String normalizeHostname(String host) {
217-
String h = StringUtils.trimToEmpty(host);
218-
if (h.isEmpty()) {
219-
return "";
220-
}
221-
222-
String hostname = null;
223-
try {
224-
hostname = new URI(h).getHost();
225-
} catch (URISyntaxException e) {
226-
}
227-
228-
if (StringUtils.isNotEmpty(hostname)) {
229-
h = hostname;
230-
} else {
231-
if (h.contains(":")) {
232-
h = StringUtils.substringBefore(h, ":");
233-
} else {
234-
h = StringUtils.substringBefore(h, "/");
235-
}
236-
}
237-
238-
h = h.toLowerCase();
239-
h = StringUtils.removeStart(h, "www.");
240-
h = StringUtils.removeEnd(h, ".");
241-
242-
return "null".equals(h) ? "" : h;
243-
}
244-
245225
private String resolveEndpoint(String siteDomain, String appDomain, String networkId, String bundle) {
246226
final String baseUrl = endpointUrl.replace(NETWORK_ID_MACRO, StringUtils.defaultString(networkId));
247227

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.prebid.server.bidder.sparteo.util;
2+
3+
import org.apache.commons.lang3.StringUtils;
4+
5+
import java.net.URI;
6+
import java.net.URISyntaxException;
7+
8+
public final class SparteoUtil {
9+
10+
private SparteoUtil() {
11+
}
12+
13+
public static String normalizeHostname(String host) {
14+
String h = StringUtils.trimToEmpty(host);
15+
if (h.isEmpty()) {
16+
return "";
17+
}
18+
19+
String hostname = null;
20+
try {
21+
hostname = new URI(h).getHost();
22+
} catch (URISyntaxException e) {
23+
}
24+
25+
if (StringUtils.isNotEmpty(hostname)) {
26+
h = hostname;
27+
} else {
28+
if (h.contains(":")) {
29+
h = StringUtils.substringBefore(h, ":");
30+
} else {
31+
h = StringUtils.substringBefore(h, "/");
32+
}
33+
}
34+
35+
h = h.toLowerCase();
36+
h = StringUtils.removeStart(h, "www.");
37+
h = StringUtils.removeEnd(h, ".");
38+
39+
return "null".equals(h) ? "" : h;
40+
}
41+
}

src/main/resources/bidder-config/sparteo.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ adapters:
1616
usersync:
1717
cookie-family-name: sparteo
1818
iframe:
19-
url: "https://sync.sparteo.com/s2s_sync?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&us_privacy={{us_privacy}}&redirect_url={{redirect_url}}"
19+
url: "https://sync.sparteo.com/s2s_sync?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&us_privacy={{us_privacy}}&gpp={{gpp}}&&gpp_sid={{gpp_sid}}&redirect_url={{redirect_url}}"
2020
support-cors: true

0 commit comments

Comments
 (0)