|
35 | 35 | import org.prebid.server.util.HttpUtil;
|
36 | 36 |
|
37 | 37 | import java.math.BigDecimal;
|
| 38 | +import java.net.MalformedURLException; |
| 39 | +import java.net.URL; |
38 | 40 | import java.util.ArrayList;
|
39 | 41 | import java.util.Arrays;
|
40 | 42 | import java.util.Collections;
|
@@ -191,10 +193,19 @@ private String resolveRequestUri(BidRequest request, List<String> requestsString
|
191 | 193 | final String ip = device != null ? device.getIp() : null;
|
192 | 194 |
|
193 | 195 | final Site site = request.getSite();
|
194 |
| - final String pageDomain = site != null && StringUtils.isNotBlank(site.getDomain()) |
195 |
| - ? site.getDomain() : DEFAULT_PAGE_URL; |
196 |
| - final String pageUrl = site != null && StringUtils.isNotBlank(site.getPage()) |
197 |
| - ? site.getPage() : DEFAULT_PAGE_URL; |
| 196 | + String pageUrl = DEFAULT_PAGE_URL; |
| 197 | + if (site != null && StringUtils.isNotBlank(site.getPage())) { |
| 198 | + pageUrl = site.getPage(); |
| 199 | + } |
| 200 | + |
| 201 | + String pageDomain = DEFAULT_PAGE_URL; |
| 202 | + if (site != null) { |
| 203 | + if (StringUtils.isNotBlank(site.getDomain())) { |
| 204 | + pageDomain = site.getDomain(); |
| 205 | + } else if (StringUtils.isNotBlank(site.getPage())) { |
| 206 | + pageDomain = parseUrl(site.getPage()).getHost(); |
| 207 | + } |
| 208 | + } |
198 | 209 |
|
199 | 210 | final App app = request.getApp();
|
200 | 211 | final String requestTarget = app != null && StringUtils.isNotBlank(app.getBundle())
|
@@ -239,6 +250,14 @@ private String resolveRequestUri(BidRequest request, List<String> requestsString
|
239 | 250 | return uriBuilder.toString();
|
240 | 251 | }
|
241 | 252 |
|
| 253 | + private static URL parseUrl(String url) { |
| 254 | + try { |
| 255 | + return new URL(url); |
| 256 | + } catch (MalformedURLException e) { |
| 257 | + throw new PreBidException(String.format("Invalid url: %s", url), e); |
| 258 | + } |
| 259 | + } |
| 260 | + |
242 | 261 | /**
|
243 | 262 | * Converts response to {@link List} of {@link BidderBid}s with {@link List} of errors.
|
244 | 263 | * Handles cases when response status is different to OK 200.
|
|
0 commit comments