prebid / prebid-server

Open-source solution for running real-time advertising auctions in the cloud.
https://prebid.org/product-suite/prebid-server/
Apache License 2.0
404 stars 700 forks source link

Bidder-specific imp FPD #3704

Closed bsardo closed 3 weeks ago

bsardo commented 1 month ago

Implements #2335

This PR merges bidder-specific imp first party data into the applicable bidder request. After merging the imps are revalidated. If there is a validation error, it is considered a fatal error which means the auction is halted and the error is reported back to the client.

While attempting to implement merge and validation error handling, I noticed that several preexisting errors captured in cleanOpenRTBRequests are actually swallowed and never reported to the client. Consequently, this also effects errors from failed imp FPD merges. In order to ensure imp FPD merge errors are made known to the client while avoiding a large general error handling refactor, I created an imp FPD merge error type with a fatal severity and detect when it occurs so I can halt the auction and send the error to the client.