Skip to content

Commit 0f43e43

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/bid-ranking' into functional-tests/bid-ranking
2 parents a699528 + 06a5873 commit 0f43e43

718 files changed

Lines changed: 12611 additions & 4186 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/scripts/codepath-notification

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ appnexus|Appnexus: prebid@microsoft.com
2121
pubmatic|Pubmatic: header-bidding@pubmatic.com
2222
openx|OpenX: prebid@openx.com
2323
medianet|Medianet: prebid@media.net
24+
thetradedesk|TheTradeDesk: Prebid-Maintainers@thetradedesk.com

.mvn/wrapper/maven-wrapper.jar

-58.5 KB
Binary file not shown.

.mvn/wrapper/maven-wrapper.properties

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66
# "License"); you may not use this file except in compliance
77
# with the License. You may obtain a copy of the License at
88
#
9-
# https://www.apache.org/licenses/LICENSE-2.0
9+
# http://www.apache.org/licenses/LICENSE-2.0
1010
#
1111
# Unless required by applicable law or agreed to in writing,
1212
# software distributed under the License is distributed on an
1313
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
18-
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
17+
wrapperVersion=3.3.2
18+
distributionType=only-script
19+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip

docs/application-settings.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,8 @@ The general idea is that you'll place all the account-specific settings in a sep
277277
```yaml
278278
settings:
279279
s3:
280-
accessKeyId: <S3 access key>
281-
secretAccessKey: <S3 access key>
280+
accessKeyId: <S3 access key> # optional
281+
secretAccessKey: <S3 access key> #optional
282282
endpoint: <endpoint> # http://s3.storage.com
283283
bucket: <bucket name> # prebid-application-settings
284284
region: <region name> # if not provided AWS_GLOBAL will be used. Example value: 'eu-central-1'
@@ -298,6 +298,14 @@ settings:
298298
timeout: 5000
299299
```
300300
301+
If `accessKeyId` and `secretAccessKey` are not specified in the Prebid Server configuration then AWS credentials will be looked up in this order:
302+
- Java System Properties - `aws.accessKeyId` and `aws.secretAccessKey`
303+
- Environment Variables - `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
304+
- Web Identity Token credentials from system properties or environment variables
305+
- Credential profiles file at the default location (`~/.aws/credentials`) shared by all AWS SDKs and the AWS CLI
306+
- Credentials delivered through the Amazon EC2 container service if "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" environment variable is set and security manager has permission to access the variable,
307+
- Instance profile credentials delivered through the Amazon EC2 metadata service
308+
301309
### File format
302310

303311
We recommend using the `json` format for your account configuration. A minimal configuration may look like this.

docs/config-app.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ Removes and downloads file again if depending service cant process probably corr
9696
- `auction.cache.expected-request-time-ms` - approximate value in milliseconds for Cache Service interacting.
9797
- `auction.cache.only-winning-bids` - if equals to `true` only the winning bids would be cached. Has lower priority than request-specific flags.
9898
- `auction.generate-bid-id` - whether to generate seatbid[].bid[].ext.prebid.bidid in the OpenRTB response.
99+
- `auction.enforce-random-bid-id` - whether to enforce generating a robust random seatbid[].bid[].id in the OpenRTB response if the initial value is less than 17 characters.
99100
- `auction.validations.banner-creative-max-size` - enables creative max size validation for banners. Possible values: `skip`, `enforce`, `warn`. Default is `skip`.
100101
- `auction.validations.secure-markup` - enables secure markup validation. Possible values: `skip`, `enforce`, `warn`. Default is `skip`.
101102
- `auction.host-schain-node` - defines global schain node that will be appended to `request.source.ext.schain.nodes` passed to bidders
@@ -390,8 +391,8 @@ contain 'WHERE last_updated > ?' for MySQL and 'WHERE last_updated > $1' for Pos
390391

391392
For S3 storage configuration
392393
- `settings.in-memory-cache.s3-update.refresh-rate` - refresh period in ms for stored request updates in S3
393-
- `settings.s3.access-key-id` - an access key
394-
- `settings.s3.secret-access-key` - a secret access key
394+
- `settings.s3.access-key-id` - an access key (optional)
395+
- `settings.s3.secret-access-key` - a secret access key (optional)
395396
- `settings.s3.region` - a region, AWS_GLOBAL by default
396397
- `settings.s3.endpoint` - an endpoint
397398
- `settings.s3.bucket` - a bucket name
@@ -401,6 +402,15 @@ For S3 storage configuration
401402
- `settings.s3.stored-requests-dir` - a directory with stored requests
402403
- `settings.s3.stored-responses-dir` - a directory with stored responses
403404

405+
If `settings.s3.access-key-id` and `settings.s3.secret-access-key` are not specified in the Prebid Server configuration then AWS credentials will be looked up in this order:
406+
- Java System Properties - `aws.accessKeyId` and `aws.secretAccessKey`
407+
- Environment Variables - `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
408+
- Web Identity Token credentials from system properties or environment variables
409+
- Credential profiles file at the default location (`~/.aws/credentials`) shared by all AWS SDKs and the AWS CLI
410+
- Credentials delivered through the Amazon EC2 container service if "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" environment variable is set and security manager has permission to access the variable,
411+
- Instance profile credentials delivered through the Amazon EC2 metadata service
412+
413+
404414
For targeting available next options:
405415
- `settings.targeting.truncate-attr-chars` - set the max length for names of targeting keywords (0 means no truncation).
406416

extra/bundle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.prebid</groupId>
77
<artifactId>prebid-server-aggregator</artifactId>
8-
<version>3.23.0-SNAPSHOT</version>
8+
<version>3.27.0-SNAPSHOT</version>
99
<relativePath>../../extra/pom.xml</relativePath>
1010
</parent>
1111

extra/modules/confiant-ad-quality/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.prebid.server.hooks.modules</groupId>
77
<artifactId>all-modules</artifactId>
8-
<version>3.23.0-SNAPSHOT</version>
8+
<version>3.27.0-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>confiant-ad-quality</artifactId>

extra/modules/confiant-ad-quality/src/main/java/org/prebid/server/hooks/modules/com/confiant/adquality/config/ConfiantAdQualityModuleConfiguration.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ public class ConfiantAdQualityModuleConfiguration {
3434
ConfiantAdQualityModule confiantAdQualityModule(
3535
@Value("${hooks.modules.confiant-ad-quality.api-key}") String apiKey,
3636
@Value("${hooks.modules.confiant-ad-quality.scan-state-check-interval}") int scanStateCheckInterval,
37-
@Value("${hooks.modules.confiant-ad-quality.bidders-to-exclude-from-scan}") List<String> biddersToExcludeFromScan,
37+
@Value("${hooks.modules.confiant-ad-quality.bidders-to-exclude-from-scan}")
38+
List<String> biddersToExcludeFromScan,
3839
RedisConfig redisConfig,
3940
RedisRetryConfig retryConfig,
4041
Vertx vertx,
@@ -43,13 +44,24 @@ ConfiantAdQualityModule confiantAdQualityModule(
4344

4445
final RedisConnectionConfig writeNodeConfig = redisConfig.getWriteNode();
4546
final RedisClient writeRedisNode = new RedisClient(
46-
vertx, writeNodeConfig.getHost(), writeNodeConfig.getPort(), writeNodeConfig.getPassword(), retryConfig, "write node");
47+
vertx,
48+
writeNodeConfig.getHost(),
49+
writeNodeConfig.getPort(),
50+
writeNodeConfig.getPassword(),
51+
retryConfig,
52+
"write node");
4753
final RedisConnectionConfig readNodeConfig = redisConfig.getReadNode();
4854
final RedisClient readRedisNode = new RedisClient(
49-
vertx, readNodeConfig.getHost(), readNodeConfig.getPort(), readNodeConfig.getPassword(), retryConfig, "read node");
55+
vertx,
56+
readNodeConfig.getHost(),
57+
readNodeConfig.getPort(),
58+
readNodeConfig.getPassword(),
59+
retryConfig,
60+
"read node");
5061

5162
final BidsScanner bidsScanner = new BidsScanner(writeRedisNode, readRedisNode, apiKey, objectMapper);
52-
final RedisScanStateChecker redisScanStateChecker = new RedisScanStateChecker(bidsScanner, scanStateCheckInterval, vertx);
63+
final RedisScanStateChecker redisScanStateChecker = new RedisScanStateChecker(
64+
bidsScanner, scanStateCheckInterval, vertx);
5365

5466
final Promise<Void> scannerPromise = Promise.promise();
5567
scannerPromise.future().onComplete(r -> redisScanStateChecker.run());

extra/modules/confiant-ad-quality/src/main/java/org/prebid/server/hooks/modules/com/confiant/adquality/core/AnalyticsMapper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,20 @@ public class AnalyticsMapper {
2424
private static final String INSPECTED_HAS_ISSUE = "inspected-has-issue";
2525
private static final String INSPECTED_NO_ISSUES = "inspected-no-issues";
2626

27+
private AnalyticsMapper() {
28+
}
29+
2730
public static Tags toAnalyticsTags(List<BidderResponse> bidderResponsesWithIssues,
2831
List<BidderResponse> bidderResponsesWithoutIssues,
2932
List<BidderResponse> bidderResponsesNotScanned) {
3033

3134
return TagsImpl.of(Collections.singletonList(ActivityImpl.of(
3235
AD_QUALITY_SCAN,
3336
SUCCESS_STATUS,
34-
toActivityResults(bidderResponsesWithIssues, bidderResponsesWithoutIssues, bidderResponsesNotScanned))));
37+
toActivityResults(
38+
bidderResponsesWithIssues,
39+
bidderResponsesWithoutIssues,
40+
bidderResponsesNotScanned))));
3541
}
3642

3743
private static List<Result> toActivityResults(List<BidderResponse> bidderResponsesWithIssues,

extra/modules/confiant-ad-quality/src/main/java/org/prebid/server/hooks/modules/com/confiant/adquality/core/BidsMapper.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,32 @@
1313

1414
public class BidsMapper {
1515

16-
public static RedisBidsData toRedisBidsFromBidResponses(
17-
BidRequest bidRequest,
18-
List<BidderResponse> bidderResponses) {
16+
private BidsMapper() {
17+
}
18+
19+
public static RedisBidsData toRedisBidsFromBidResponses(BidRequest bidRequest,
20+
List<BidderResponse> bidderResponses) {
1921

20-
final List<RedisBidResponseData> confiantBidResponses = bidderResponses
21-
.stream().map(bidResponse -> RedisBidResponseData
22+
final List<RedisBidResponseData> confiantBidResponses = bidderResponses.stream()
23+
.map(bidResponse -> RedisBidResponseData
2224
.builder()
2325
.dspId(bidResponse.getBidder())
2426
.bidresponse(toBidResponseFromBidderResponse(bidRequest, bidResponse))
25-
.build()).toList();
27+
.build())
28+
.toList();
2629

2730
return RedisBidsData.builder()
2831
.breq(bidRequest)
2932
.bresps(confiantBidResponses)
3033
.build();
3134
}
3235

33-
private static BidResponse toBidResponseFromBidderResponse(
34-
BidRequest bidRequest,
35-
BidderResponse bidderResponse) {
36+
private static BidResponse toBidResponseFromBidderResponse(BidRequest bidRequest,
37+
BidderResponse bidderResponse) {
3638

3739
return BidResponse.builder()
3840
.id(bidRequest.getId())
39-
.cur(bidRequest.getCur().get(0))
41+
.cur(bidRequest.getCur().getFirst())
4042
.seatbid(Collections.singletonList(SeatBid.builder()
4143
.bid(bidderResponse.getSeatBid().getBids().stream().map(BidderBid::getBid).toList())
4244
.build()))

0 commit comments

Comments
 (0)