From f2704554a9acee7d07b5c5b90d8b6642dc7a01bf Mon Sep 17 00:00:00 2001 From: Brian Sardo <1168933+bsardo@users.noreply.github.com> Date: Thu, 5 Mar 2026 12:38:57 -0500 Subject: [PATCH] Upstream PR #4710: Increment package version to v4 (#4710) (STRUCTURAL CONFLICT) --- Dockerfile | 40 +- Makefile | 2 +- account/account.go | 14 +- account/account_test.go | 14 +- adapters/33across/33across.go | 10 +- adapters/33across/33across_test.go | 6 +- adapters/33across/params_test.go | 2 +- adapters/aax/aax.go | 10 +- adapters/aax/aax_test.go | 6 +- adapters/aax/params_test.go | 2 +- adapters/aceex/aceex.go | 12 +- adapters/aceex/aceex_test.go | 6 +- adapters/aceex/params_test.go | 2 +- adapters/acuityads/acuityads.go | 12 +- adapters/acuityads/acuityads_test.go | 6 +- adapters/acuityads/params_test.go | 2 +- adapters/adagio/adagio.go | 10 +- adapters/adagio/adagio_test.go | 6 +- adapters/adagio/params_test.go | 2 +- adapters/adapterstest/test_json.go | 6 +- adapters/adelement/adelement.go | 12 +- adapters/adelement/adelement_test.go | 6 +- adapters/adf/adf.go | 10 +- adapters/adf/adf_test.go | 6 +- adapters/adf/params_test.go | 2 +- adapters/adgeneration/adgeneration.go | 10 +- adapters/adgeneration/adgeneration_test.go | 8 +- adapters/adgeneration/params_test.go | 2 +- adapters/adhese/adhese.go | 12 +- adapters/adhese/adhese_test.go | 6 +- adapters/adhese/params_test.go | 2 +- adapters/adkernel/adkernel.go | 12 +- adapters/adkernel/adkernel_test.go | 6 +- adapters/adkernelAdn/adkernelAdn.go | 12 +- adapters/adkernelAdn/adkernelAdn_test.go | 6 +- adapters/adman/adman.go | 10 +- adapters/adman/adman_test.go | 6 +- adapters/adman/params_test.go | 2 +- adapters/admatic/admatic.go | 12 +- adapters/admatic/admatic_test.go | 6 +- adapters/admatic/params_test.go | 2 +- adapters/admixer/admixer.go | 10 +- adapters/admixer/admixer_test.go | 6 +- adapters/admixer/params_test.go | 2 +- adapters/adnuntius/adnuntius.go | 12 +- adapters/adnuntius/adnuntius_test.go | 8 +- adapters/adnuntius/adnuntius_types.go | 2 +- adapters/adnuntius/adnuntius_utils.go | 4 +- adapters/adnuntius/params_test.go | 2 +- adapters/adocean/adocean_test.go | 6 +- adapters/adoppler/adoppler.go | 12 +- adapters/adoppler/adoppler_test.go | 6 +- adapters/adot/adot.go | 10 +- adapters/adot/adot_test.go | 8 +- adapters/adot/params_test.go | 2 +- adapters/adpone/adpone.go | 10 +- adapters/adpone/adpone_test.go | 6 +- adapters/adprime/adprime.go | 10 +- adapters/adprime/adprime_test.go | 6 +- adapters/adprime/params_test.go | 2 +- adapters/adquery/adquery.go | 10 +- adapters/adquery/adquery_test.go | 6 +- adapters/adquery/params_test.go | 2 +- adapters/adquery/types.go | 2 +- adapters/adrino/adrino.go | 10 +- adapters/adrino/adrino_test.go | 6 +- adapters/adrino/params_test.go | 2 +- .../ads_interactive/ads_interactive_test.go | 6 +- adapters/ads_interactive/params_test.go | 2 +- adapters/adsinteractive/params_test.go | 2 +- adapters/adtarget/adtarget.go | 10 +- adapters/adtarget/adtarget_test.go | 6 +- adapters/adtarget/params_test.go | 2 +- adapters/adtelligent/adtelligent.go | 10 +- adapters/adtelligent/adtelligent_test.go | 6 +- adapters/adtelligent/params_test.go | 2 +- adapters/adtonos/adtonos.go | 12 +- adapters/adtonos/adtonos_test.go | 6 +- adapters/adtonos/params_test.go | 2 +- adapters/adtrgtme/adtrgtme.go | 10 +- adapters/adtrgtme/adtrgtme_test.go | 6 +- adapters/adtrgtme/params_test.go | 2 +- adapters/aduptech/aduptech.go | 12 +- adapters/aduptech/aduptech_test.go | 6 +- adapters/aduptech/params_test.go | 2 +- adapters/advangelists/advangelists.go | 12 +- adapters/advangelists/advangelists_test.go | 6 +- adapters/advangelists/params_test.go | 2 +- adapters/adverxo/adverxo.go | 10 +- adapters/adverxo/adverxo_test.go | 6 +- adapters/adverxo/params_test.go | 2 +- adapters/adview/adview.go | 12 +- adapters/adview/adview_test.go | 6 +- adapters/adview/params_test.go | 2 +- adapters/adxcg/adxcg.go | 10 +- adapters/adxcg/adxcg_test.go | 6 +- adapters/adyoulike/adyoulike.go | 10 +- adapters/adyoulike/adyoulike_test.go | 6 +- adapters/adyoulike/params_test.go | 2 +- adapters/afront/afront.go | 12 +- adapters/afront/afront_test.go | 6 +- adapters/afront/params_test.go | 2 +- adapters/aidem/aidem.go | 12 +- adapters/aidem/aidem_test.go | 6 +- adapters/aidem/params_test.go | 2 +- adapters/aja/aja.go | 10 +- adapters/aja/aja_test.go | 6 +- adapters/akcelo/akcelo.go | 12 +- adapters/akcelo/akcelo_test.go | 6 +- adapters/akcelo/params_test.go | 2 +- adapters/algorix/algorix.go | 12 +- adapters/algorix/algorix_test.go | 6 +- adapters/algorix/params_test.go | 2 +- adapters/alkimi/alkimi.go | 12 +- adapters/alkimi/alkimi_test.go | 8 +- adapters/alkimi/params_test.go | 2 +- adapters/alliance_gravity/alliance_gravity.go | 181 + .../alliance_gravity/alliance_gravity_test.go | 20 + adapters/amx/amx.go | 10 +- adapters/amx/amx_test.go | 8 +- adapters/amx/params_test.go | 2 +- adapters/apacdex/apacdex.go | 10 +- adapters/apacdex/apacdex_test.go | 6 +- adapters/apacdex/params_test.go | 2 +- adapters/appnexus/appnexus.go | 18 +- adapters/appnexus/appnexus_test.go | 6 +- adapters/appnexus/params_test.go | 2 +- adapters/appush/appush.go | 10 +- adapters/appush/appush_test.go | 6 +- adapters/appush/params_test.go | 2 +- adapters/aso/aso.go | 12 +- adapters/aso/aso_test.go | 6 +- adapters/aso/params_test.go | 2 +- adapters/audienceNetwork/facebook.go | 14 +- adapters/audienceNetwork/facebook_test.go | 8 +- adapters/automatad/automatad.go | 10 +- adapters/automatad/automatad_test.go | 6 +- adapters/automatad/params_test.go | 2 +- adapters/avocet/avocet.go | 10 +- adapters/avocet/avocet_test.go | 10 +- adapters/axis/axis.go | 10 +- adapters/axis/axis_test.go | 6 +- adapters/axis/params_test.go | 2 +- adapters/axonix/axonix.go | 12 +- adapters/axonix/axonix_test.go | 6 +- adapters/axonix/params_test.go | 2 +- adapters/beachfront/beachfront.go | 12 +- adapters/beachfront/beachfront_test.go | 6 +- adapters/beachfront/params_test.go | 2 +- adapters/beintoo/beintoo.go | 10 +- adapters/beintoo/beintoo_test.go | 6 +- adapters/beintoo/params_test.go | 2 +- adapters/bematterfull/bematterfull.go | 12 +- .../bematterfull/bematterfulltest_test.go | 6 +- adapters/bematterfull/params_test.go | 2 +- adapters/beop/beop.go | 172 + adapters/between/between.go | 12 +- adapters/between/between_test.go | 6 +- adapters/between/params_test.go | 2 +- adapters/beyondmedia/beyondmedia.go | 10 +- adapters/beyondmedia/beyondmedia_test.go | 6 +- adapters/beyondmedia/params_test.go | 2 +- adapters/bidder.go | 8 +- adapters/bidmachine/bidmachine.go | 12 +- adapters/bidmachine/bidmachine_test.go | 6 +- adapters/bidmachine/params_test.go | 2 +- adapters/bidmatic/bidmatic.go | 10 +- adapters/bidmatic/bidmatic_test.go | 6 +- adapters/bidmatic/params_test.go | 2 +- adapters/bidmyadz/bidmyadz.go | 10 +- adapters/bidmyadz/bidmyadz_test.go | 6 +- adapters/bidmyadz/params_test.go | 2 +- adapters/bidscube/bidscube.go | 10 +- adapters/bidscube/bidscube_test.go | 6 +- adapters/bidscube/params_test.go | 2 +- adapters/bidstack/bidstack.go | 8 +- adapters/bidstack/bidstack_test.go | 6 +- adapters/bidstack/params_test.go | 2 +- adapters/bidtheatre/bidtheatre.go | 10 +- adapters/bidtheatre/bidtheatre_test.go | 6 +- adapters/bidtheatre/params_test.go | 2 +- adapters/bigoad/bigoad.go | 12 +- adapters/bigoad/bigoad_test.go | 6 +- adapters/bigoad/param_test.go | 2 +- adapters/blasto/blasto.go | 12 +- adapters/blasto/blasto_test.go | 6 +- adapters/blasto/params_test.go | 2 +- adapters/bliink/bliink.go | 10 +- adapters/bliink/bliink_test.go | 6 +- adapters/bliink/params_test.go | 2 +- adapters/blis/blis.go | 14 +- adapters/blis/blis_test.go | 6 +- adapters/blis/params_test.go | 2 +- adapters/blue/blue.go | 10 +- adapters/blue/blue_test.go | 6 +- adapters/blue/params_test.go | 2 +- adapters/bluesea/bluesea.go | 10 +- adapters/bluesea/bluesea_test.go | 6 +- adapters/bluesea/params_test.go | 2 +- adapters/bmtm/brightmountainmedia.go | 10 +- adapters/bmtm/brightmountainmedia_test.go | 6 +- adapters/bmtm/params_test.go | 2 +- adapters/boldwin/boldwin.go | 10 +- adapters/boldwin/boldwin_test.go | 6 +- adapters/boldwin/params_test.go | 2 +- adapters/boldwin_rapid/boldwin_rapid.go | 172 + adapters/boldwin_rapid/boldwin_rapid_test.go | 530 ++ adapters/brave/brave.go | 12 +- adapters/brave/brave_test.go | 6 +- adapters/brave/params_test.go | 2 +- adapters/bwx/bwx.go | 12 +- adapters/bwx/bwx_test.go | 6 +- adapters/bwx/params_test.go | 2 +- .../cadent_aperture_mx/cadentaperturemx.go | 10 +- .../cadentaperturemx_test.go | 8 +- adapters/cadent_aperture_mx/params_test.go | 2 +- adapters/ccx/ccx.go | 10 +- adapters/ccx/ccx_test.go | 6 +- adapters/ccx/params_test.go | 2 +- adapters/clydo/clydo.go | 273 ++ adapters/clydo/clydo_test.go | 30 + adapters/clydo/params_test.go | 52 + adapters/cointraffic/cointraffic.go | 8 +- adapters/cointraffic/cointraffic_test.go | 6 +- adapters/cointraffic/params_test.go | 2 +- adapters/coinzilla/coinzilla.go | 10 +- adapters/coinzilla/coinzilla_test.go | 6 +- adapters/coinzilla/params_test.go | 2 +- adapters/colossus/colossus.go | 10 +- adapters/colossus/colossus_test.go | 6 +- adapters/colossus/params_test.go | 2 +- adapters/compass/compass.go | 10 +- adapters/compass/compass_test.go | 6 +- adapters/compass/params_test.go | 2 +- adapters/concert/concert.go | 10 +- adapters/concert/concert_test.go | 6 +- adapters/concert/params_test.go | 2 +- adapters/connatix/connatix.go | 10 +- adapters/connatix/connatix_test.go | 6 +- adapters/connatix/models.go | 2 +- adapters/connatix/params_test.go | 2 +- adapters/connectad/connectad.go | 10 +- adapters/connectad/connectad_test.go | 6 +- adapters/connectad/params_test.go | 2 +- adapters/consumable/consumable.go | 10 +- adapters/consumable/consumable_test.go | 10 +- adapters/consumable/params_test.go | 2 +- adapters/contxtful/contxtful.go | 388 ++ adapters/contxtful/contxtful_relay_test.go | 238 + adapters/contxtful/contxtful_test.go | 4353 +++++++++++++++++ adapters/contxtful/params_test.go | 47 + adapters/conversant/conversant.go | 10 +- adapters/conversant/conversant_test.go | 6 +- adapters/copper6ssp/copper6ssp.go | 8 +- adapters/copper6ssp/copper6ssp_test.go | 6 +- adapters/copper6ssp/params_test.go | 2 +- adapters/cpmstar/cpmstar.go | 10 +- adapters/cpmstar/cpmstar_test.go | 6 +- adapters/cpmstar/params_test.go | 2 +- adapters/criteo/criteo.go | 10 +- adapters/criteo/criteo_test.go | 6 +- adapters/criteo/params_test.go | 2 +- adapters/cwire/cwire.go | 10 +- adapters/cwire/cwire_test.go | 6 +- adapters/cwire/params_test.go | 2 +- adapters/datablocks/datablocks.go | 12 +- adapters/datablocks/datablocks_test.go | 6 +- adapters/decenterads/decenterads.go | 10 +- adapters/decenterads/decenterads_test.go | 6 +- adapters/decenterads/params_test.go | 2 +- adapters/deepintent/deepintent.go | 10 +- adapters/deepintent/deepintent_test.go | 6 +- adapters/deepintent/params_test.go | 2 +- adapters/definemedia/definemedia.go | 10 +- adapters/definemedia/definemedia_test.go | 6 +- adapters/definemedia/params_test.go | 2 +- adapters/dianomi/dianomi.go | 10 +- adapters/dianomi/dianomi_test.go | 6 +- adapters/dianomi/params_test.go | 2 +- adapters/displayio/displayio.go | 12 +- adapters/displayio/displayio_test.go | 6 +- adapters/displayio/params_test.go | 2 +- adapters/dmx/dmx.go | 10 +- adapters/dmx/dmx_test.go | 8 +- adapters/dmx/params_test.go | 2 +- adapters/driftpixel/driftpixel.go | 12 +- adapters/driftpixel/driftpixel_test.go | 6 +- adapters/driftpixel/params_test.go | 2 +- adapters/e_volution/evolution.go | 10 +- adapters/e_volution/evolution_test.go | 6 +- adapters/e_volution/params_test.go | 2 +- adapters/edge226/edge226.go | 8 +- adapters/edge226/edge226_test.go | 6 +- adapters/edge226/params_test.go | 2 +- adapters/elementaltv/elementaltv_test.go | 19 + adapters/elementaltv/params_test.go | 38 + adapters/emtv/emtv.go | 10 +- adapters/emtv/emtv_test.go | 6 +- adapters/emtv/params_test.go | 2 +- adapters/eplanning/eplanning.go | 10 +- adapters/eplanning/eplanning_test.go | 9 +- adapters/epom/epom.go | 10 +- adapters/epom/epom_test.go | 6 +- adapters/escalax/escalax.go | 12 +- adapters/escalax/escalax_test.go | 6 +- adapters/escalax/params_test.go | 2 +- adapters/exco/exco.go | 10 +- adapters/exco/exco_test.go | 6 +- adapters/exco/params_test.go | 2 +- adapters/feedad/feedad.go | 8 +- adapters/feedad/feedad_test.go | 6 +- adapters/feedad/params_test.go | 2 +- adapters/flatads/flatads.go | 12 +- adapters/flatads/flatads_test.go | 6 +- adapters/flatads/params_test.go | 2 +- adapters/flipp/flipp.go | 10 +- adapters/flipp/flipp_params.go | 2 +- adapters/flipp/flipp_test.go | 8 +- adapters/flipp/params_test.go | 2 +- adapters/freewheelssp/freewheelssp.go | 10 +- adapters/freewheelssp/freewheelssp_test.go | 6 +- adapters/frvradn/frvradn.go | 10 +- adapters/frvradn/frvradn_test.go | 6 +- adapters/frvradn/params_test.go | 2 +- adapters/fwssp/fwssp.go | 10 +- adapters/fwssp/fwssp_test.go | 6 +- adapters/fwssp/params_test.go | 2 +- adapters/gamma/gamma.go | 10 +- adapters/gamma/gamma_test.go | 6 +- adapters/gamma/params_test.go | 2 +- adapters/gamoshi/gamoshi.go | 10 +- adapters/gamoshi/gamoshi_test.go | 6 +- adapters/gamoshi/params_test.go | 2 +- adapters/globalsun/globalsun.go | 10 +- adapters/globalsun/globalsun_test.go | 6 +- adapters/globalsun/params_test.go | 2 +- adapters/goldbach/goldbach.go | 232 + adapters/goldbach/goldbach_test.go | 28 + adapters/goldbach/params_test.go | 58 + adapters/gothamads/gothamads.go | 12 +- adapters/gothamads/params_test.go | 2 +- adapters/grid/grid.go | 12 +- adapters/grid/grid_test.go | 6 +- adapters/gumgum/gumgum.go | 10 +- adapters/gumgum/gumgum_test.go | 6 +- adapters/gumgum/params_test.go | 2 +- adapters/huaweiads/huaweiads.go | 12 +- adapters/huaweiads/huaweiads_test.go | 6 +- adapters/huaweiads/params_test.go | 2 +- adapters/imds/imds.go | 12 +- adapters/imds/imds_test.go | 6 +- adapters/imds/params_test.go | 2 +- adapters/impactify/impactify.go | 10 +- adapters/impactify/impactify_test.go | 6 +- adapters/impactify/params_test.go | 2 +- adapters/improvedigital/improvedigital.go | 10 +- .../improvedigital/improvedigital_test.go | 6 +- adapters/improvedigital/params_test.go | 2 +- adapters/infoawarebidder.go | 6 +- adapters/infoawarebidder_test.go | 6 +- adapters/infytv/infytv.go | 10 +- adapters/infytv/infytv_test.go | 6 +- adapters/infytv/params_test.go | 2 +- adapters/inmobi/inmobi.go | 10 +- adapters/inmobi/inmobi_test.go | 6 +- adapters/insticator/insticator.go | 12 +- adapters/insticator/insticator_test.go | 6 +- adapters/insticator/params_test.go | 2 +- .../interactiveoffers/interactiveoffers.go | 12 +- .../interactiveoffers_test.go | 6 +- adapters/interactiveoffers/params_test.go | 2 +- adapters/intertech/params_test.go | 2 +- adapters/invibes/invibes.go | 14 +- adapters/invibes/invibes_test.go | 6 +- adapters/invibes/params_test.go | 2 +- adapters/iqx/iqx.go | 12 +- adapters/iqx/iqxtest_test.go | 6 +- adapters/iqx/params_test.go | 2 +- adapters/iqzone/iqzone.go | 10 +- adapters/iqzone/iqzone_test.go | 6 +- adapters/iqzone/params_test.go | 2 +- adapters/ix/ix.go | 14 +- adapters/ix/ix_test.go | 10 +- adapters/ix/params_test.go | 2 +- adapters/jixie/jixie.go | 10 +- adapters/jixie/jixie_test.go | 6 +- adapters/jixie/params_test.go | 2 +- adapters/kargo/kargo.go | 10 +- adapters/kargo/kargo_test.go | 6 +- adapters/kargo/params_test.go | 2 +- adapters/kayzen/kayzen.go | 12 +- adapters/kayzen/kayzen_test.go | 6 +- adapters/kayzen/params_test.go | 2 +- adapters/kidoz/kidoz.go | 10 +- adapters/kidoz/kidoz_test.go | 8 +- adapters/kidoz/params_test.go | 2 +- adapters/kiviads/kiviads.go | 10 +- adapters/kiviads/kiviads_test.go | 6 +- adapters/kiviads/params_test.go | 2 +- adapters/kobler/kobler.go | 10 +- adapters/kobler/kobler_test.go | 6 +- adapters/kobler/params_test.go | 2 +- adapters/krushmedia/krushmedia.go | 12 +- adapters/krushmedia/krushmedia_test.go | 6 +- adapters/krushmedia/params_test.go | 2 +- adapters/kueezrtb/kueezrtb.go | 10 +- adapters/kueezrtb/kueezrtb_test.go | 6 +- adapters/kueezrtb/params_test.go | 2 +- adapters/lemmadigital/lemmadigital.go | 12 +- adapters/lemmadigital/lemmadigital_test.go | 6 +- adapters/lemmadigital/params_test.go | 2 +- adapters/limelightDigital/limelightDigital.go | 12 +- .../limelightDigital/limelightDigital_test.go | 6 +- adapters/limelightDigital/params_test.go | 2 +- adapters/lm_kiviads/lmkiviads.go | 12 +- adapters/lm_kiviads/lmkiviads_test.go | 6 +- adapters/lm_kiviads/params_test.go | 2 +- adapters/lockerdome/lockerdome.go | 10 +- adapters/lockerdome/lockerdome_test.go | 6 +- adapters/lockerdome/params_test.go | 2 +- adapters/logan/logan.go | 10 +- adapters/logan/logan_test.go | 6 +- adapters/logan/params_test.go | 2 +- adapters/logicad/logicad.go | 10 +- adapters/logicad/logicad_test.go | 6 +- adapters/logicad/params_test.go | 2 +- adapters/loopme/loopme.go | 8 +- adapters/loopme/loopme_test.go | 6 +- adapters/loopme/params_test.go | 2 +- adapters/loyal/loyal.go | 8 +- adapters/loyal/loyal_test.go | 6 +- adapters/loyal/params_test.go | 2 +- adapters/lunamedia/lunamedia.go | 12 +- adapters/lunamedia/lunamedia_test.go | 6 +- adapters/lunamedia/params_test.go | 2 +- adapters/mabidder/mabidder.go | 8 +- adapters/mabidder/mabidder_test.go | 6 +- adapters/mabidder/params_test.go | 2 +- adapters/madsense/madsense.go | 10 +- adapters/madsense/madsense_test.go | 6 +- adapters/madsense/params_test.go | 2 +- adapters/madsense/utils.go | 8 +- adapters/madvertise/madvertise.go | 12 +- adapters/madvertise/madvertise_test.go | 6 +- adapters/madvertise/params_test.go | 2 +- adapters/marsmedia/marsmedia.go | 10 +- adapters/marsmedia/marsmedia_test.go | 6 +- adapters/marsmedia/params_test.go | 2 +- adapters/mediago/mediago.go | 12 +- adapters/mediago/mediago_test.go | 6 +- adapters/mediago/params_test.go | 2 +- adapters/medianet/medianet.go | 10 +- adapters/medianet/medianet_test.go | 6 +- adapters/medianet/params_test.go | 2 +- adapters/mediasquare/mediasquare.go | 10 +- adapters/mediasquare/mediasquare_test.go | 8 +- adapters/mediasquare/params_test.go | 2 +- adapters/mediasquare/parsers.go | 2 +- adapters/mediasquare/structs.go | 5 +- adapters/mediasquare/utils.go | 4 +- adapters/melozen/melozen.go | 12 +- adapters/melozen/melozen_test.go | 6 +- adapters/melozen/params_test.go | 2 +- adapters/metax/metax.go | 14 +- adapters/metax/metax_test.go | 10 +- adapters/metax/params_test.go | 2 +- adapters/mgid/mgid.go | 10 +- adapters/mgid/mgid_test.go | 6 +- adapters/mgidX/mgidX.go | 8 +- adapters/mgidX/mgidX_test.go | 6 +- adapters/mgidX/params_test.go | 2 +- adapters/minutemedia/minutemedia.go | 10 +- adapters/minutemedia/minutemedia_test.go | 6 +- adapters/missena/missena.go | 14 +- adapters/missena/missena_test.go | 6 +- adapters/missena/params_test.go | 2 +- adapters/mobfoxpb/mobfoxpb.go | 10 +- adapters/mobfoxpb/mobfoxpb_test.go | 6 +- adapters/mobfoxpb/params_test.go | 2 +- adapters/mobilefuse/mobilefuse.go | 10 +- adapters/mobilefuse/mobilefuse_test.go | 6 +- adapters/mobilefuse/params_test.go | 2 +- adapters/mobkoi/mobkoi.go | 8 +- adapters/mobkoi/mobkoi_test.go | 6 +- adapters/mobkoi/params_test.go | 2 +- adapters/motorik/motorik.go | 12 +- adapters/motorik/motorik_test.go | 6 +- adapters/motorik/params_test.go | 2 +- adapters/msft/models.go | 60 + adapters/msft/msft.go | 395 ++ adapters/msft/msft_test.go | 77 + adapters/msft/params_test.go | 79 + adapters/nativery/nativery.go | 267 + adapters/nativo/nativo.go | 6 +- adapters/nativo/nativo_test.go | 6 +- adapters/nextmillennium/nextmillennium.go | 12 +- .../nextmillennium/nextmillennium_test.go | 6 +- adapters/nextmillennium/params_test.go | 2 +- adapters/nexx360/nexx360.go | 12 +- adapters/nexx360/nexx360_test.go | 6 +- adapters/nexx360/params_test.go | 2 +- adapters/nobid/nobid.go | 10 +- adapters/nobid/nobid_test.go | 6 +- adapters/nobid/params_test.go | 2 +- adapters/ogury/ogury.go | 10 +- adapters/ogury/ogury_test.go | 6 +- adapters/ogury/param_test.go | 2 +- adapters/oms/oms.go | 10 +- adapters/oms/oms_test.go | 6 +- adapters/oms/params_test.go | 2 +- adapters/onetag/onetag.go | 12 +- adapters/onetag/onetag_test.go | 6 +- adapters/onetag/params_test.go | 2 +- adapters/openweb/openweb.go | 10 +- adapters/openweb/openweb_test.go | 6 +- adapters/openweb/params_test.go | 2 +- adapters/openx/openx.go | 10 +- adapters/openx/openx_test.go | 8 +- adapters/openx/params_test.go | 2 +- adapters/operaads/operaads.go | 14 +- adapters/operaads/operaads_test.go | 6 +- adapters/operaads/params_test.go | 2 +- adapters/optidigital/optidigital.go | 10 +- adapters/optidigital/optidigital_test.go | 6 +- adapters/optidigital/params_test.go | 2 +- adapters/oraki/oraki.go | 8 +- adapters/oraki/oraki_test.go | 6 +- adapters/oraki/params_test.go | 2 +- adapters/orbidder/orbidder.go | 10 +- adapters/orbidder/orbidder_test.go | 8 +- adapters/orbidder/params_test.go | 2 +- adapters/outbrain/outbrain.go | 10 +- adapters/outbrain/outbrain_test.go | 6 +- adapters/outbrain/params_test.go | 2 +- adapters/ownadx/ownadx.go | 12 +- adapters/ownadx/ownadx_test.go | 6 +- adapters/pangle/pangle.go | 10 +- adapters/pangle/pangle_test.go | 6 +- adapters/pangle/param_test.go | 2 +- adapters/pgamssp/params_test.go | 2 +- adapters/pgamssp/pgamssp.go | 8 +- adapters/pgamssp/pgamssp_test.go | 6 +- adapters/playdigo/params_test.go | 2 +- adapters/playdigo/playdigo.go | 8 +- adapters/playdigo/playdigo_test.go | 6 +- adapters/pubmatic/params_test.go | 2 +- adapters/pubmatic/pubmatic.go | 12 +- adapters/pubmatic/pubmatic_test.go | 10 +- adapters/pubnative/pubnative.go | 12 +- adapters/pubnative/pubnative_test.go | 6 +- adapters/pubrise/params_test.go | 2 +- adapters/pubrise/pubrise.go | 8 +- adapters/pubrise/pubrise_test.go | 6 +- adapters/pulsepoint/params_test.go | 2 +- adapters/pulsepoint/pulsepoint.go | 10 +- adapters/pulsepoint/pulsepoint_test.go | 6 +- adapters/pwbid/params_test.go | 2 +- adapters/pwbid/pwbid.go | 10 +- adapters/pwbid/pwbid_test.go | 6 +- adapters/qt/params_test.go | 2 +- adapters/qt/qt.go | 8 +- adapters/qt/qt_test.go | 6 +- adapters/readpeak/params_test.go | 2 +- adapters/readpeak/readpeak.go | 10 +- adapters/readpeak/readpeak_test.go | 6 +- adapters/rediads/params_test.go | 2 +- adapters/rediads/rediads.go | 10 +- adapters/rediads/rediads_test.go | 6 +- adapters/relevantdigital/params_test.go | 2 +- adapters/relevantdigital/relevantdigital.go | 12 +- .../relevantdigital/relevantdigital_test.go | 6 +- adapters/resetdigital/params_test.go | 2 +- adapters/resetdigital/resetdigital.go | 8 +- adapters/resetdigital/resetdigital_test.go | 10 +- adapters/response.go | 2 +- adapters/response_test.go | 2 +- adapters/revcontent/revcontent.go | 10 +- adapters/revcontent/revcontent_test.go | 6 +- adapters/richaudience/params_test.go | 2 +- adapters/richaudience/richaudience.go | 10 +- adapters/richaudience/richaudience_test.go | 8 +- adapters/rise/rise.go | 8 +- adapters/rise/rise_test.go | 6 +- adapters/roulax/roulax.go | 10 +- adapters/roulax/roulax_test.go | 6 +- adapters/rtbhouse/rtbhouse.go | 10 +- adapters/rtbhouse/rtbhouse_test.go | 6 +- adapters/rubicon/rubicon.go | 16 +- adapters/rubicon/rubicon_test.go | 12 +- adapters/sa_lunamedia/params_test.go | 2 +- adapters/sa_lunamedia/salunamedia.go | 10 +- adapters/sa_lunamedia/salunamedia_test.go | 6 +- adapters/screencore/params_test.go | 2 +- adapters/seedingAlliance/params_test.go | 2 +- adapters/seedingAlliance/seedingAlliance.go | 12 +- .../seedingAlliance/seedingAlliance_test.go | 8 +- adapters/seedtag/params_test.go | 2 +- adapters/seedtag/seedtag.go | 8 +- adapters/seedtag/seedtag_test.go | 6 +- adapters/sharethrough/params_test.go | 2 +- adapters/sharethrough/sharethrough.go | 12 +- adapters/sharethrough/sharethrough_test.go | 6 +- adapters/showheroes/params_test.go | 51 + adapters/showheroes/showheroes.go | 223 + adapters/showheroes/showheroes_test.go | 20 + adapters/silvermob/params_test.go | 2 +- adapters/silvermob/silvermob.go | 12 +- adapters/silvermob/silvermob_test.go | 6 +- adapters/silverpush/params_test.go | 2 +- adapters/silverpush/silverpush.go | 12 +- adapters/silverpush/silverpush_test.go | 8 +- adapters/smaato/native.go | 4 +- adapters/smaato/params_test.go | 2 +- adapters/smaato/smaato.go | 14 +- adapters/smaato/smaato_test.go | 10 +- adapters/smartadserver/params_test.go | 2 +- adapters/smartadserver/smartadserver.go | 10 +- adapters/smartadserver/smartadserver_test.go | 6 +- adapters/smarthub/params_test.go | 2 +- adapters/smarthub/smarthub.go | 12 +- adapters/smarthub/smarthub_test.go | 6 +- adapters/smartrtb/smartrtb.go | 12 +- adapters/smartrtb/smartrtb_test.go | 6 +- adapters/smartx/params_test.go | 2 +- adapters/smartx/smartx.go | 8 +- adapters/smartx/smartx_test.go | 6 +- adapters/smartyads/params_test.go | 2 +- adapters/smartyads/smartyads.go | 12 +- adapters/smartyads/smartyads_test.go | 6 +- adapters/smilewanted/params_test.go | 2 +- adapters/smilewanted/smilewanted.go | 10 +- adapters/smilewanted/smilewanted_test.go | 9 +- adapters/smoot/params_test.go | 2 +- adapters/smoot/smoot.go | 8 +- adapters/smoot/smoot_test.go | 6 +- adapters/smrtconnect/smrtconnect.go | 12 +- adapters/smrtconnect/smrtconnect_test.go | 6 +- adapters/sonobi/params_test.go | 2 +- adapters/sonobi/sonobi.go | 10 +- adapters/sonobi/sonobi_test.go | 6 +- adapters/sovrn/params_test.go | 2 +- adapters/sovrn/sovrn.go | 10 +- adapters/sovrn/sovrn_test.go | 6 +- adapters/sovrnXsp/params_test.go | 2 +- adapters/sovrnXsp/sovrnXsp.go | 10 +- adapters/sovrnXsp/sovrnXsp_test.go | 6 +- adapters/sparteo/params_test.go | 2 +- adapters/sparteo/sparteo.go | 10 +- adapters/sparteo/sparteo_test.go | 6 +- adapters/sspBC/sspbc.go | 12 +- adapters/sspBC/sspbc_test.go | 10 +- adapters/startio/startio.go | 10 +- adapters/startio/startio_test.go | 6 +- adapters/stroeerCore/params_test.go | 2 +- adapters/stroeerCore/stroeercore.go | 10 +- adapters/stroeerCore/stroeercore_test.go | 6 +- adapters/taboola/params_test.go | 2 +- adapters/taboola/taboola.go | 12 +- adapters/taboola/taboola_test.go | 6 +- adapters/tappx/params_test.go | 2 +- adapters/tappx/tappx.go | 12 +- adapters/tappx/tappx_test.go | 6 +- adapters/teads/teads.go | 12 +- adapters/teads/teads_test.go | 6 +- adapters/telaria/params_test.go | 2 +- adapters/telaria/telaria.go | 10 +- adapters/telaria/telaria_test.go | 6 +- adapters/teqblaze/params_test.go | 2 +- adapters/teqblaze/teqblaze.go | 8 +- adapters/teqblaze/teqblaze_test.go | 6 +- adapters/theadx/params_test.go | 2 +- adapters/theadx/theadx.go | 10 +- adapters/theadx/theadx_test.go | 6 +- adapters/thetradedesk/params_test.go | 2 +- adapters/thetradedesk/thetradedesk.go | 10 +- adapters/thetradedesk/thetradedesk_test.go | 8 +- adapters/tpmn/params_test.go | 2 +- adapters/tpmn/tpmn.go | 8 +- adapters/tpmn/tpmn_test.go | 6 +- adapters/tradplus/params_test.go | 2 +- adapters/tradplus/tradplus.go | 12 +- adapters/tradplus/tradplus_test.go | 6 +- adapters/trafficgate/params_test.go | 2 +- adapters/trafficgate/trafficgate.go | 12 +- adapters/trafficgate/trafficgate_test.go | 6 +- adapters/triplelift/triplelift.go | 10 +- adapters/triplelift/triplelift_test.go | 6 +- adapters/triplelift_native/params_test.go | 2 +- .../triplelift_native/triplelift_native.go | 10 +- .../triplelift_native_test.go | 6 +- adapters/trustedstack/params_test.go | 2 +- adapters/trustedstack/trustedstack.go | 8 +- adapters/trustedstack/trustedstack_test.go | 6 +- adapters/trustx/params_test.go | 51 + adapters/trustx/trustx.go | 216 + adapters/trustx/trustx_test.go | 18 + adapters/ucfunnel/params_test.go | 2 +- adapters/ucfunnel/ucfunnel.go | 10 +- adapters/ucfunnel/ucfunnel_test.go | 6 +- adapters/undertone/params_test.go | 2 +- adapters/undertone/undertone.go | 10 +- adapters/undertone/undertone_test.go | 6 +- adapters/unicorn/params_test.go | 2 +- adapters/unicorn/unicorn.go | 10 +- adapters/unicorn/unicorn_test.go | 6 +- adapters/unruly/params_test.go | 2 +- adapters/unruly/unruly.go | 10 +- adapters/unruly/unruly_test.go | 6 +- adapters/vidazoo/params_test.go | 2 +- adapters/vidazoo/vidazoo.go | 10 +- adapters/vidazoo/vidazoo_test.go | 6 +- adapters/videobyte/params_test.go | 2 +- adapters/videobyte/videobyte.go | 10 +- adapters/videobyte/videobyte_test.go | 4 +- adapters/videoheroes/params_test.go | 2 +- adapters/videoheroes/videoheroes.go | 12 +- adapters/videoheroes/videoheroes_test.go | 6 +- adapters/vidoomy/params_test.go | 2 +- adapters/vidoomy/vidoomy.go | 12 +- adapters/vidoomy/vidoomy_test.go | 6 +- adapters/visiblemeasures/params_test.go | 2 +- adapters/visiblemeasures/visiblemeasures.go | 10 +- .../visiblemeasures/visiblemeasures_test.go | 6 +- adapters/visx/params_test.go | 2 +- adapters/visx/visx.go | 10 +- adapters/visx/visx_test.go | 6 +- adapters/vox/params_test.go | 2 +- adapters/vox/vox.go | 8 +- adapters/vox/vox_test.go | 6 +- adapters/vrtcal/params_test.go | 2 +- adapters/vrtcal/vrtcal.go | 10 +- adapters/vrtcal/vrtcal_test.go | 6 +- adapters/vungle/param_test.go | 2 +- adapters/vungle/vungle.go | 8 +- adapters/vungle/vungle_test.go | 6 +- adapters/xeworks/params_test.go | 2 +- adapters/xeworks/xeworks.go | 12 +- adapters/xeworks/xeworks_test.go | 6 +- adapters/yahooAds/params_test.go | 2 +- adapters/yahooAds/yahooAds.go | 12 +- adapters/yahooAds/yahooAds_test.go | 6 +- adapters/yandex/params_test.go | 2 +- adapters/yandex/yandex.go | 12 +- adapters/yandex/yandex_test.go | 6 +- adapters/yeahmobi/params_test.go | 2 +- adapters/yeahmobi/yeahmobi.go | 12 +- adapters/yeahmobi/yeahmobi_test.go | 6 +- adapters/yieldlab/params_test.go | 2 +- adapters/yieldlab/types.go | 2 +- adapters/yieldlab/yieldlab.go | 12 +- adapters/yieldlab/yieldlab_test.go | 6 +- adapters/yieldmo/params_test.go | 2 +- adapters/yieldmo/yieldmo.go | 10 +- adapters/yieldmo/yieldmo_test.go | 6 +- adapters/yieldone/params_test.go | 2 +- adapters/yieldone/yieldone.go | 10 +- adapters/yieldone/yieldone_test.go | 6 +- adapters/zentotem/zentotem.go | 6 +- adapters/zentotem/zentotem_test.go | 6 +- adapters/zeroclickfraud/zeroclickfraud.go | 12 +- .../zeroclickfraud/zeroclickfraud_test.go | 6 +- adapters/zeta_global_ssp/params_test.go | 2 +- adapters/zeta_global_ssp/zeta_global_ssp.go | 12 +- .../zeta_global_ssp/zeta_global_ssp_test.go | 6 +- adapters/zmaticoo/params_test.go | 2 +- adapters/zmaticoo/zmaticoo.go | 10 +- adapters/zmaticoo/zmaticoo_test.go | 6 +- adservertargeting/adservertargeting.go | 2 +- adservertargeting/adservertargeting_test.go | 4 +- adservertargeting/reqcache.go | 2 +- adservertargeting/requestlookup.go | 2 +- adservertargeting/requestlookup_test.go | 2 +- adservertargeting/respdataprocessor.go | 4 +- adservertargeting/respdataprocessor_test.go | 2 +- adservertargeting/utils.go | 4 +- amp/parse.go | 8 +- amp/parse_test.go | 8 +- analytics/agma/agma_module.go | 8 +- analytics/agma/agma_module_test.go | 6 +- analytics/agma/model.go | 4 +- analytics/agma/model_test.go | 2 +- analytics/agma/sender.go | 6 +- analytics/agma/sender_test.go | 2 +- analytics/build/build.go | 23 +- analytics/build/build_test.go | 13 +- analytics/core.go | 6 +- analytics/filesystem/file_module.go | 6 +- analytics/filesystem/file_module_test.go | 4 +- analytics/filesystem/model.go | 8 +- analytics/pubstack/config.go | 2 +- analytics/pubstack/configupdate.go | 2 +- .../pubstack/eventchannel/eventchannel.go | 2 +- analytics/pubstack/eventchannel/sender.go | 2 +- analytics/pubstack/helpers/json.go | 4 +- analytics/pubstack/helpers/json_test.go | 2 +- analytics/pubstack/helpers/model.go | 8 +- analytics/pubstack/pubstack_module.go | 8 +- analytics/pubstack/pubstack_module_test.go | 4 +- analytics/runner.go | 2 +- bidadjustment/apply.go | 4 +- bidadjustment/apply_test.go | 4 +- bidadjustment/build_rules.go | 4 +- bidadjustment/build_rules_test.go | 4 +- bidadjustment/validate.go | 2 +- bidadjustment/validate_test.go | 2 +- config/account.go | 4 +- config/account_module_decoder.go | 2 +- config/account_test.go | 2 +- config/bidderinfo.go | 10 +- config/bidderinfo_test.go | 4 +- config/compression.go | 2 +- config/compression_test.go | 2 +- config/config.go | 8 +- config/config_test.go | 4 +- config/stored_requests.go | 2 +- config/structlog.go | 2 +- currency/currency.go | 2 +- currency/currency_test.go | 6 +- currency/rate_converter.go | 8 +- currency/rate_converter_test.go | 2 +- currency/rates_test.go | 2 +- currency/validation.go | 4 +- currency/validation_test.go | 4 +- dsa/validate.go | 6 +- dsa/validate_test.go | 6 +- dsa/writer.go | 4 +- dsa/writer_test.go | 6 +- endpoints/cookie_sync.go | 34 +- endpoints/cookie_sync_test.go | 22 +- endpoints/currency_rates.go | 6 +- endpoints/currency_rates_test.go | 2 +- endpoints/events/account_test.go | 8 +- endpoints/events/event.go | 18 +- endpoints/events/event_test.go | 12 +- endpoints/events/vtrack.go | 20 +- endpoints/events/vtrack_test.go | 10 +- endpoints/getuids.go | 4 +- endpoints/getuids_test.go | 2 +- endpoints/info/bidders.go | 6 +- endpoints/info/bidders_detail.go | 8 +- endpoints/info/bidders_detail_test.go | 6 +- endpoints/info/bidders_test.go | 2 +- endpoints/openrtb2/amp_auction.go | 42 +- endpoints/openrtb2/amp_auction_test.go | 34 +- endpoints/openrtb2/auction.go | 58 +- endpoints/openrtb2/auction_benchmark_test.go | 24 +- endpoints/openrtb2/auction_test.go | 38 +- endpoints/openrtb2/interstitial.go | 6 +- endpoints/openrtb2/interstitial_test.go | 2 +- endpoints/openrtb2/test_utils.go | 46 +- endpoints/openrtb2/video_auction.go | 42 +- endpoints/openrtb2/video_auction_test.go | 30 +- endpoints/setuid.go | 26 +- endpoints/setuid_test.go | 20 +- endpoints/version.go | 4 +- exchange/adapter_builders.go | 518 +- exchange/adapter_util.go | 8 +- exchange/adapter_util_test.go | 12 +- exchange/auction.go | 10 +- exchange/auction_response.go | 2 +- exchange/auction_test.go | 12 +- exchange/bidder.go | 28 +- exchange/bidder_health_test.go | 6 +- exchange/bidder_test.go | 28 +- exchange/bidder_validate_bids.go | 12 +- exchange/bidder_validate_bids_test.go | 12 +- exchange/entities/entities.go | 2 +- exchange/events.go | 12 +- exchange/events_test.go | 4 +- exchange/exchange.go | 50 +- exchange/exchange_test.go | 48 +- exchange/non_bid_reason.go | 2 +- exchange/non_bid_reason_test.go | 2 +- exchange/price_granularity.go | 4 +- exchange/price_granularity_test.go | 6 +- exchange/seat_non_bids.go | 4 +- exchange/seat_non_bids_test.go | 4 +- exchange/targeting.go | 2 +- exchange/targeting_test.go | 20 +- exchange/tmax_adjustments.go | 2 +- exchange/tmax_adjustments_test.go | 2 +- exchange/utils.go | 28 +- exchange/utils_test.go | 18 +- experiment/adscert/SignerLogger.go | 2 +- experiment/adscert/inprocesssigner.go | 2 +- experiment/adscert/remotesigner.go | 2 +- experiment/adscert/signer.go | 2 +- experiment/adscert/signer_test.go | 2 +- firstpartydata/first_party_data.go | 8 +- firstpartydata/first_party_data_test.go | 6 +- floors/enforce.go | 8 +- floors/enforce_test.go | 10 +- floors/fetcher.go | 10 +- floors/fetcher_test.go | 12 +- floors/floors.go | 8 +- floors/floors_test.go | 10 +- floors/rule.go | 8 +- floors/rule_test.go | 6 +- floors/validate.go | 4 +- floors/validate_test.go | 4 +- gdpr/aggregated_config.go | 4 +- gdpr/aggregated_config_test.go | 4 +- gdpr/basic_enforcement_test.go | 2 +- gdpr/full_enforcement_test.go | 4 +- gdpr/gdpr.go | 6 +- gdpr/gdpr_test.go | 6 +- gdpr/gvl_vendor_ids.go | 119 + gdpr/gvl_vendor_ids_test.go | 169 + gdpr/impl.go | 4 +- gdpr/impl_test.go | 6 +- gdpr/purpose_config.go | 2 +- gdpr/purpose_config_test.go | 2 +- gdpr/purpose_enforcer.go | 4 +- gdpr/purpose_enforcer_test.go | 4 +- gdpr/signal.go | 2 +- gdpr/utils.go | 4 +- gdpr/utils_test.go | 4 +- gdpr/vendorlist-fetching.go | 6 +- gdpr/vendorlist-fetching_test.go | 6 +- go.mod | 4 +- hooks/empty_plan.go | 4 +- hooks/hookanalytics/analytics_test.go | 2 +- hooks/hookexecution/context.go | 8 +- hooks/hookexecution/enricher.go | 4 +- hooks/hookexecution/enricher_test.go | 8 +- hooks/hookexecution/errors.go | 2 +- hooks/hookexecution/execution.go | 18 +- hooks/hookexecution/execution_test.go | 8 +- hooks/hookexecution/executor.go | 16 +- hooks/hookexecution/executor_test.go | 22 +- hooks/hookexecution/mocks_test.go | 6 +- hooks/hookexecution/outcome.go | 2 +- hooks/hookexecution/test_utils.go | 2 +- hooks/hookstage/allprocessedbidresponses.go | 4 +- hooks/hookstage/bidderrequest.go | 2 +- hooks/hookstage/bidderrequest_mutations.go | 2 +- hooks/hookstage/invocation.go | 2 +- hooks/hookstage/processedauctionrequest.go | 2 +- .../processedauctionrequest_mutations.go | 2 +- .../processedauctionrequest_mutations_test.go | 2 +- hooks/hookstage/rawbidderresponse.go | 2 +- .../hookstage/rawbidderresponse_mutations.go | 2 +- hooks/plan.go | 6 +- hooks/plan_test.go | 6 +- hooks/repo.go | 2 +- hooks/repo_test.go | 2 +- injector/injector.go | 4 +- injector/injector_test.go | 8 +- macros/provider.go | 4 +- macros/provider_test.go | 4 +- macros/string_index_based_replacer_test.go | 4 +- main.go | 16 +- main_test.go | 2 +- metrics/config/metrics.go | 8 +- metrics/config/metrics_test.go | 6 +- metrics/go_metrics.go | 6 +- metrics/go_metrics_test.go | 4 +- metrics/metrics.go | 2 +- metrics/metrics_mock.go | 2 +- metrics/prometheus/preload.go | 4 +- metrics/prometheus/prometheus.go | 6 +- metrics/prometheus/prometheus_test.go | 6 +- modules/builder.go | 9 +- .../fiftyonedegrees/devicedetection/config.go | 2 +- .../devicedetection/device_info_extractor.go | 2 +- .../devicedetection/evidence_extractor.go | 2 +- .../evidence_extractor_test.go | 2 +- .../hook_auction_entrypoint.go | 4 +- .../hook_raw_auction_request.go | 4 +- .../fiftyonedegrees/devicedetection/module.go | 4 +- .../devicedetection/module_no_cgo_test.go | 2 +- .../devicedetection/module_test.go | 4 +- .../fiftyonedegrees/devicedetection/no-cgo.go | 2 +- modules/generator/builder.tmpl | 2 +- modules/helpers.go | 4 +- modules/moduledeps/deps.go | 2 +- modules/modules.go | 10 +- modules/modules_test.go | 8 +- modules/prebid/ortb2blocking/analytics.go | 4 +- modules/prebid/ortb2blocking/config.go | 2 +- .../ortb2blocking/hook_bidderrequest.go | 6 +- .../ortb2blocking/hook_bidderrequest_test.go | 738 +++ .../ortb2blocking/hook_raw_bidder_response.go | 6 +- modules/prebid/ortb2blocking/module.go | 4 +- modules/prebid/ortb2blocking/module_test.go | 12 +- .../rulesengine/bidder_config_ruleset.go | 2 +- .../bidder_config_ruleset_builder.go | 4 +- .../bidder_config_ruleset_builder_test.go | 2 +- .../rulesengine/bidder_config_ruleset_test.go | 4 +- modules/prebid/rulesengine/cache.go | 2 +- modules/prebid/rulesengine/cache_entry.go | 8 +- .../prebid/rulesengine/cache_entry_test.go | 8 +- modules/prebid/rulesengine/config/config.go | 4 +- .../rulesengine/hook_processed_auction.go | 6 +- .../hook_processed_auction_test.go | 6 +- modules/prebid/rulesengine/module.go | 6 +- modules/prebid/rulesengine/module_test.go | 2 +- .../prebid/rulesengine/result_functions.go | 8 +- .../rulesengine/result_functions_test.go | 8 +- modules/prebid/rulesengine/tree_builder.go | 4 +- .../prebid/rulesengine/tree_builder_test.go | 8 +- modules/prebid/rulesengine/tree_manager.go | 2 +- .../prebid/rulesengine/tree_manager_test.go | 2 +- modules/prebid/rulesengine/tree_test.go | 6 +- modules/scope3/rtd/masking.go | 4 +- modules/scope3/rtd/module.go | 13 +- modules/scope3/rtd/module_test.go | 7 +- modules/shutdown.go | 2 +- openrtb_ext/convert_down_test.go | 4 +- openrtb_ext/deal_tier.go | 2 +- openrtb_ext/deal_tier_test.go | 2 +- openrtb_ext/device.go | 2 +- openrtb_ext/device_test.go | 2 +- openrtb_ext/floors.go | 2 +- openrtb_ext/floors_test.go | 2 +- openrtb_ext/imp_appnexus.go | 2 +- openrtb_ext/imp_appnexus_test.go | 2 +- openrtb_ext/imp_connectad.go | 2 +- openrtb_ext/imp_freewheelssp.go | 2 +- openrtb_ext/imp_goldbach.go | 35 + openrtb_ext/imp_pulsepoint.go | 2 +- openrtb_ext/multibid_test.go | 2 +- openrtb_ext/regs_test.go | 2 +- openrtb_ext/request.go | 4 +- openrtb_ext/request_test.go | 4 +- openrtb_ext/request_wrapper.go | 4 +- openrtb_ext/request_wrapper_test.go | 4 +- openrtb_ext/site_test.go | 4 +- openrtb_ext/supplyChain.go | 2 +- openrtb_ext/supplyChain_test.go | 2 +- ortb/clone.go | 2 +- ortb/clone_test.go | 2 +- ortb/default.go | 4 +- ortb/default_test.go | 8 +- ortb/request_validator.go | 6 +- ortb/request_validator_banner.go | 2 +- ortb/request_validator_banner_test.go | 2 +- ortb/request_validator_native.go | 4 +- ortb/request_validator_test.go | 4 +- ortb/request_validator_video_test.go | 2 +- pbs/usersync.go | 6 +- prebid_cache_client/client.go | 6 +- prebid_cache_client/client_test.go | 8 +- privacy/activitycontrol.go | 4 +- privacy/activitycontrol_test.go | 6 +- privacy/ccpa/consentwriter_test.go | 2 +- privacy/ccpa/parsedpolicy.go | 2 +- privacy/ccpa/policy.go | 6 +- privacy/ccpa/policy_test.go | 2 +- privacy/lmt/ios.go | 4 +- privacy/lmt/ios_test.go | 2 +- privacy/rule_condition_test.go | 2 +- privacy/scrubber.go | 8 +- privacy/scrubber_test.go | 4 +- privacysandbox/topics.go | 4 +- privacysandbox/topics_test.go | 2 +- router/admin.go | 6 +- router/aspects/request_timeout_handler.go | 4 +- .../aspects/request_timeout_handler_test.go | 4 +- router/router.go | 60 +- router/router_test.go | 6 +- rules/schema_functions.go | 8 +- rules/schema_functions_test.go | 8 +- schain/schain.go | 2 +- schain/schain_test.go | 2 +- schain/schainwriter.go | 2 +- schain/schainwriter_test.go | 4 +- server/listener.go | 4 +- server/listener_test.go | 4 +- server/prometheus.go | 6 +- server/server.go | 8 +- server/server_test.go | 4 +- .../backends/db_fetcher/fetcher.go | 6 +- .../backends/db_fetcher/fetcher_test.go | 2 +- .../backends/db_provider/db_provider.go | 4 +- .../backends/db_provider/db_provider_mock.go | 2 +- .../backends/db_provider/mysql_dbprovider.go | 2 +- .../db_provider/mysql_dbprovider_test.go | 2 +- .../db_provider/postgres_dbprovider.go | 2 +- .../db_provider/postgres_dbprovider_test.go | 2 +- .../backends/empty_fetcher/fetcher.go | 2 +- .../backends/file_fetcher/fetcher.go | 4 +- .../backends/file_fetcher/fetcher_test.go | 4 +- .../backends/http_fetcher/fetcher.go | 6 +- .../backends/http_fetcher/fetcher_test.go | 2 +- stored_requests/caches/cachestest/reliable.go | 2 +- stored_requests/caches/memory/cache.go | 4 +- stored_requests/caches/memory/cache_test.go | 4 +- stored_requests/caches/memory/maps.go | 2 +- stored_requests/config/config.go | 32 +- stored_requests/config/config_test.go | 16 +- stored_requests/events/api/api.go | 4 +- stored_requests/events/api/api_test.go | 6 +- stored_requests/events/database/database.go | 12 +- .../events/database/database_test.go | 8 +- stored_requests/events/events.go | 2 +- stored_requests/events/events_test.go | 4 +- stored_requests/events/http/http.go | 6 +- stored_requests/events/http/http_test.go | 2 +- stored_requests/fetcher.go | 2 +- stored_requests/fetcher_test.go | 4 +- stored_responses/stored_responses.go | 4 +- stored_responses/stored_responses_test.go | 2 +- usersync/chooser.go | 4 +- usersync/chooser_test.go | 8 +- usersync/cookie.go | 6 +- usersync/cookie_test.go | 4 +- usersync/decoder.go | 2 +- usersync/encoder.go | 2 +- usersync/syncer.go | 4 +- usersync/syncer_test.go | 4 +- usersync/syncersbuilder.go | 2 +- usersync/syncersbuilder_test.go | 4 +- util/httputil/httputil.go | 2 +- util/httputil/httputil_test.go | 2 +- util/jsonutil/forcestring.go | 2 +- util/jsonutil/forcestring_test.go | 2 +- util/jsonutil/jsonutil.go | 2 +- util/jsonutil/merge.go | 2 +- util/task/ticker_task_test.go | 2 +- version/xprebidheader.go | 2 +- version/xprebidheader_test.go | 4 +- 1122 files changed, 13125 insertions(+), 3800 deletions(-) create mode 100644 adapters/alliance_gravity/alliance_gravity.go create mode 100644 adapters/alliance_gravity/alliance_gravity_test.go create mode 100644 adapters/beop/beop.go create mode 100644 adapters/boldwin_rapid/boldwin_rapid.go create mode 100644 adapters/boldwin_rapid/boldwin_rapid_test.go create mode 100644 adapters/clydo/clydo.go create mode 100644 adapters/clydo/clydo_test.go create mode 100644 adapters/clydo/params_test.go create mode 100644 adapters/contxtful/contxtful.go create mode 100644 adapters/contxtful/contxtful_relay_test.go create mode 100644 adapters/contxtful/contxtful_test.go create mode 100644 adapters/contxtful/params_test.go create mode 100644 adapters/elementaltv/elementaltv_test.go create mode 100644 adapters/elementaltv/params_test.go create mode 100644 adapters/goldbach/goldbach.go create mode 100644 adapters/goldbach/goldbach_test.go create mode 100644 adapters/goldbach/params_test.go create mode 100644 adapters/msft/models.go create mode 100644 adapters/msft/msft.go create mode 100644 adapters/msft/msft_test.go create mode 100644 adapters/msft/params_test.go create mode 100644 adapters/nativery/nativery.go create mode 100644 adapters/showheroes/params_test.go create mode 100644 adapters/showheroes/showheroes.go create mode 100644 adapters/showheroes/showheroes_test.go create mode 100644 adapters/trustx/params_test.go create mode 100644 adapters/trustx/trustx.go create mode 100644 adapters/trustx/trustx_test.go create mode 100644 gdpr/gvl_vendor_ids.go create mode 100644 gdpr/gvl_vendor_ids_test.go create mode 100644 modules/prebid/ortb2blocking/hook_bidderrequest_test.go create mode 100644 openrtb_ext/imp_goldbach.go diff --git a/Dockerfile b/Dockerfile index 81adc7d35..8966d7f8f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,43 +45,9 @@ COPY ./ ./ # Regenerate vendor directory to ensure consistency RUN go mod vendor - -# Generate modules and build with deterministic flags -RUN go generate modules/modules.go -# Generate cryptographic signature for build attestation -RUN COMMIT_HASH=$(git rev-parse HEAD) && \ - TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \ - echo "Generating build signature for commit: $COMMIT_HASH at $TIMESTAMP" && \ - openssl genrsa -out build_key.pem 2048 && \ - openssl rsa -in build_key.pem -pubout -out build_key.pub && \ - PAYLOAD="${COMMIT_HASH}:${TIMESTAMP}:openads-server-build" && \ - echo "Signing payload: $PAYLOAD" && \ - echo -n "$PAYLOAD" | openssl dgst -sha256 -sign build_key.pem -out signature.bin && \ - SIGNATURE=$(base64 -w 0 signature.bin) && \ - echo "=== BUILD ATTESTATION PUBLIC KEY ===" && \ - cat build_key.pub && \ - echo "=== END PUBLIC KEY ===" && \ - echo "=== BUILD SIGNATURE (BASE64) ===" && \ - echo "$SIGNATURE" && \ - echo "=== END SIGNATURE ===" && \ - echo "=== SIGNATURE PAYLOAD (PLAINTEXT) ===" && \ - echo "$PAYLOAD" && \ - echo "=== END PAYLOAD ===" && \ - echo "=== VERIFICATION INFO ===" && \ - echo "Git Commit: $COMMIT_HASH" && \ - echo "Build Timestamp: $TIMESTAMP" && \ - echo "Payload Format: ::openads-server-build" && \ - echo "=== END VERIFICATION INFO ===" && \ - # Create artifacts directory and save only the public key \ - mkdir -p /artifacts && \ - cp build_key.pub /artifacts/build_key.pub && \ - rm -f build_key.pem signature.bin && \ - go build \ - -mod=vendor \ - -trimpath \ - -buildmode=pie \ - -ldflags "-s -w -X github.com/prebid/prebid-server/v3/version.Ver=`git describe --tags | sed 's/^v//'` -X github.com/prebid/prebid-server/v3/version.Rev=`git rev-parse HEAD` -X github.com/prebid/prebid-server/v3/version.BuildSignature=${SIGNATURE} -X github.com/prebid/prebid-server/v3/version.BuildTimestamp=${TIMESTAMP}" \ - -o openads . +ARG TEST="true" +RUN if [ "$TEST" != "false" ]; then ./validate.sh ; fi +RUN go build -mod=vendor -ldflags "-X github.com/prebid/prebid-server/v4/version.Ver=`git describe --tags | sed 's/^v//'` -X github.com/prebid/prebid-server/v4/version.Rev=`git rev-parse HEAD`" . FROM ubuntu:22.04 AS release LABEL org.opencontainers.image.authors="openads-eng@thetradedesk.com" diff --git a/Makefile b/Makefile index 6d0c3cc3d..00cf43cec 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ test: deps ifeq "$(adapter)" "" ./validate.sh else - go test github.com/prebid/prebid-server/v3/adapters/$(adapter) -bench=. + go test github.com/prebid/prebid-server/v4/adapters/$(adapter) -bench=. endif # build-modules generates modules/builder.go file which provides a list of all available modules diff --git a/account/account.go b/account/account.go index 0087548cc..87597e5fe 100644 --- a/account/account.go +++ b/account/account.go @@ -6,13 +6,13 @@ import ( "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // GetAccount looks up the config.Account object referenced by the given accountID, with access rules applied diff --git a/account/account_test.go b/account/account_test.go index c8b17b53f..15963e3d0 100644 --- a/account/account_test.go +++ b/account/account_test.go @@ -6,13 +6,13 @@ import ( "fmt" "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/adapters/33across/33across.go b/adapters/33across/33across.go index 94ddf1f91..f0fc4bb5f 100644 --- a/adapters/33across/33across.go +++ b/adapters/33across/33across.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type TtxAdapter struct { diff --git a/adapters/33across/33across_test.go b/adapters/33across/33across_test.go index 3ed177dea..87880b0d9 100644 --- a/adapters/33across/33across_test.go +++ b/adapters/33across/33across_test.go @@ -3,9 +3,9 @@ package ttx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/33across/params_test.go b/adapters/33across/params_test.go index 3169a1d99..f43564186 100644 --- a/adapters/33across/params_test.go +++ b/adapters/33across/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/33across.json diff --git a/adapters/aax/aax.go b/adapters/aax/aax.go index 109695596..8dae76f39 100644 --- a/adapters/aax/aax.go +++ b/adapters/aax/aax.go @@ -7,11 +7,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/aax/aax_test.go b/adapters/aax/aax_test.go index ad24a2d62..d1adbcb39 100644 --- a/adapters/aax/aax_test.go +++ b/adapters/aax/aax_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/aax/params_test.go b/adapters/aax/params_test.go index 0f93a063e..8c652e2b4 100644 --- a/adapters/aax/params_test.go +++ b/adapters/aax/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/aax.json diff --git a/adapters/aceex/aceex.go b/adapters/aceex/aceex.go index 73a040bbe..202eb442b 100644 --- a/adapters/aceex/aceex.go +++ b/adapters/aceex/aceex.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/aceex/aceex_test.go b/adapters/aceex/aceex_test.go index 7aef7dd93..afa2a81c9 100644 --- a/adapters/aceex/aceex_test.go +++ b/adapters/aceex/aceex_test.go @@ -3,9 +3,9 @@ package aceex import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/aceex/params_test.go b/adapters/aceex/params_test.go index c09e26830..72a4bb238 100644 --- a/adapters/aceex/params_test.go +++ b/adapters/aceex/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/acuityads/acuityads.go b/adapters/acuityads/acuityads.go index e05ded95e..f9ae431b0 100644 --- a/adapters/acuityads/acuityads.go +++ b/adapters/acuityads/acuityads.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AcuityAdsAdapter struct { diff --git a/adapters/acuityads/acuityads_test.go b/adapters/acuityads/acuityads_test.go index b19abd3f7..0997a6caf 100644 --- a/adapters/acuityads/acuityads_test.go +++ b/adapters/acuityads/acuityads_test.go @@ -3,9 +3,9 @@ package acuityads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/acuityads/params_test.go b/adapters/acuityads/params_test.go index 756dda3ea..a1fe43f13 100644 --- a/adapters/acuityads/params_test.go +++ b/adapters/acuityads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/adagio/adagio.go b/adapters/adagio/adagio.go index 250b7d442..83088018b 100644 --- a/adapters/adagio/adagio.go +++ b/adapters/adagio/adagio.go @@ -7,11 +7,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adagio/adagio_test.go b/adapters/adagio/adagio_test.go index f006fe821..ef4e28916 100644 --- a/adapters/adagio/adagio_test.go +++ b/adapters/adagio/adagio_test.go @@ -3,9 +3,9 @@ package adagio import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adagio/params_test.go b/adapters/adagio/params_test.go index c0c09a273..44f339bed 100644 --- a/adapters/adagio/params_test.go +++ b/adapters/adagio/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adapterstest/test_json.go b/adapters/adapterstest/test_json.go index c2124abfc..13f2cb441 100644 --- a/adapters/adapterstest/test_json.go +++ b/adapters/adapterstest/test_json.go @@ -15,9 +15,9 @@ import ( "github.com/google/go-cmp/cmp/cmpopts" "github.com/mitchellh/copystructure" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/yudai/gojsondiff" "github.com/yudai/gojsondiff/formatter" diff --git a/adapters/adelement/adelement.go b/adapters/adelement/adelement.go index 11b79ad37..18f9533e9 100644 --- a/adapters/adelement/adelement.go +++ b/adapters/adelement/adelement.go @@ -6,12 +6,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adelement/adelement_test.go b/adapters/adelement/adelement_test.go index 2cfa599f8..77ee78196 100644 --- a/adapters/adelement/adelement_test.go +++ b/adapters/adelement/adelement_test.go @@ -3,9 +3,9 @@ package adelement import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adf/adf.go b/adapters/adf/adf.go index 08fb9b8bb..a75de8f29 100644 --- a/adapters/adf/adf.go +++ b/adapters/adf/adf.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adf/adf_test.go b/adapters/adf/adf_test.go index 21e8a769c..e362c600d 100644 --- a/adapters/adf/adf_test.go +++ b/adapters/adf/adf_test.go @@ -3,9 +3,9 @@ package adf import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adf/params_test.go b/adapters/adf/params_test.go index 9b3fd7b3e..f3b4ebfdf 100644 --- a/adapters/adf/params_test.go +++ b/adapters/adf/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adf.json diff --git a/adapters/adgeneration/adgeneration.go b/adapters/adgeneration/adgeneration.go index 31e27b862..89492eb7e 100644 --- a/adapters/adgeneration/adgeneration.go +++ b/adapters/adgeneration/adgeneration.go @@ -10,11 +10,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AdgenerationAdapter struct { diff --git a/adapters/adgeneration/adgeneration_test.go b/adapters/adgeneration/adgeneration_test.go index e12ed431f..14161750c 100644 --- a/adapters/adgeneration/adgeneration_test.go +++ b/adapters/adgeneration/adgeneration_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adgeneration/params_test.go b/adapters/adgeneration/params_test.go index bdef4ec1d..b343f079c 100644 --- a/adapters/adgeneration/params_test.go +++ b/adapters/adgeneration/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adhese/adhese.go b/adapters/adhese/adhese.go index 9440a1f58..79bfaef40 100644 --- a/adapters/adhese/adhese.go +++ b/adapters/adhese/adhese.go @@ -5,12 +5,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adhese/adhese_test.go b/adapters/adhese/adhese_test.go index 66ea75d86..3da9c74f2 100644 --- a/adapters/adhese/adhese_test.go +++ b/adapters/adhese/adhese_test.go @@ -4,9 +4,9 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adhese/params_test.go b/adapters/adhese/params_test.go index b8ca161d5..ec0f2c542 100644 --- a/adapters/adhese/params_test.go +++ b/adapters/adhese/params_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adkernel/adkernel.go b/adapters/adkernel/adkernel.go index 443da423f..d8c629027 100644 --- a/adapters/adkernel/adkernel.go +++ b/adapters/adkernel/adkernel.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/adkernel/adkernel_test.go b/adapters/adkernel/adkernel_test.go index f874e92d5..8eb8e6bbf 100644 --- a/adapters/adkernel/adkernel_test.go +++ b/adapters/adkernel/adkernel_test.go @@ -3,9 +3,9 @@ package adkernel import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adkernelAdn/adkernelAdn.go b/adapters/adkernelAdn/adkernelAdn.go index ffee88250..e04d86185 100644 --- a/adapters/adkernelAdn/adkernelAdn.go +++ b/adapters/adkernelAdn/adkernelAdn.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adkernelAdnAdapter struct { diff --git a/adapters/adkernelAdn/adkernelAdn_test.go b/adapters/adkernelAdn/adkernelAdn_test.go index f99da3294..269bea839 100644 --- a/adapters/adkernelAdn/adkernelAdn_test.go +++ b/adapters/adkernelAdn/adkernelAdn_test.go @@ -3,9 +3,9 @@ package adkernelAdn import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adman/adman.go b/adapters/adman/adman.go index 8f90a0fe5..818f38b2a 100644 --- a/adapters/adman/adman.go +++ b/adapters/adman/adman.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // AdmanAdapter struct diff --git a/adapters/adman/adman_test.go b/adapters/adman/adman_test.go index 1a8eccca6..04a6cea0e 100644 --- a/adapters/adman/adman_test.go +++ b/adapters/adman/adman_test.go @@ -3,9 +3,9 @@ package adman import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adman/params_test.go b/adapters/adman/params_test.go index 97b3d8f3f..0beac5f51 100644 --- a/adapters/adman/params_test.go +++ b/adapters/adman/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the adman schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/admatic/admatic.go b/adapters/admatic/admatic.go index 435eaba09..e435a7b72 100644 --- a/adapters/admatic/admatic.go +++ b/adapters/admatic/admatic.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/admatic/admatic_test.go b/adapters/admatic/admatic_test.go index c98f14e90..26dd8090d 100644 --- a/adapters/admatic/admatic_test.go +++ b/adapters/admatic/admatic_test.go @@ -3,9 +3,9 @@ package admatic import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/admatic/params_test.go b/adapters/admatic/params_test.go index fc92a1d77..4d656957f 100644 --- a/adapters/admatic/params_test.go +++ b/adapters/admatic/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/admixer/admixer.go b/adapters/admixer/admixer.go index 726c2cb98..71765e5a7 100644 --- a/adapters/admixer/admixer.go +++ b/adapters/admixer/admixer.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AdmixerAdapter struct { diff --git a/adapters/admixer/admixer_test.go b/adapters/admixer/admixer_test.go index 62615a63b..d092fbfc4 100644 --- a/adapters/admixer/admixer_test.go +++ b/adapters/admixer/admixer_test.go @@ -3,9 +3,9 @@ package admixer import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/admixer/params_test.go b/adapters/admixer/params_test.go index cdc8d56c7..687cceb1b 100644 --- a/adapters/admixer/params_test.go +++ b/adapters/admixer/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/admixer.json diff --git a/adapters/adnuntius/adnuntius.go b/adapters/adnuntius/adnuntius.go index c1a929a78..7b0f8f383 100644 --- a/adapters/adnuntius/adnuntius.go +++ b/adapters/adnuntius/adnuntius.go @@ -10,12 +10,12 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/timeutil" ) const defaultNetwork = "default" diff --git a/adapters/adnuntius/adnuntius_test.go b/adapters/adnuntius/adnuntius_test.go index 8b048f799..b2f78475e 100644 --- a/adapters/adnuntius/adnuntius_test.go +++ b/adapters/adnuntius/adnuntius_test.go @@ -4,10 +4,10 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adnuntius/adnuntius_types.go b/adapters/adnuntius/adnuntius_types.go index 17d81cd6a..11e2f09a3 100644 --- a/adapters/adnuntius/adnuntius_types.go +++ b/adapters/adnuntius/adnuntius_types.go @@ -3,7 +3,7 @@ package adnuntius import ( "encoding/json" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/util/timeutil" ) type QueryString map[string]string diff --git a/adapters/adnuntius/adnuntius_utils.go b/adapters/adnuntius/adnuntius_utils.go index ebbd7a800..7a3e06263 100644 --- a/adapters/adnuntius/adnuntius_utils.go +++ b/adapters/adnuntius/adnuntius_utils.go @@ -8,8 +8,8 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type RequestExt struct { diff --git a/adapters/adnuntius/params_test.go b/adapters/adnuntius/params_test.go index 92db0b9e5..9ecae3ef5 100644 --- a/adapters/adnuntius/params_test.go +++ b/adapters/adnuntius/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adnuntius.json diff --git a/adapters/adocean/adocean_test.go b/adapters/adocean/adocean_test.go index 4fb784bfc..2c9610a75 100644 --- a/adapters/adocean/adocean_test.go +++ b/adapters/adocean/adocean_test.go @@ -3,9 +3,9 @@ package adocean import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adoppler/adoppler.go b/adapters/adoppler/adoppler.go index ace52b93b..9aab39bc3 100644 --- a/adapters/adoppler/adoppler.go +++ b/adapters/adoppler/adoppler.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const DefaultClient = "app" diff --git a/adapters/adoppler/adoppler_test.go b/adapters/adoppler/adoppler_test.go index 3c6888f31..90d2e7736 100644 --- a/adapters/adoppler/adoppler_test.go +++ b/adapters/adoppler/adoppler_test.go @@ -3,9 +3,9 @@ package adoppler import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adot/adot.go b/adapters/adot/adot.go index fc32ef6ca..d0c8d8dd9 100644 --- a/adapters/adot/adot.go +++ b/adapters/adot/adot.go @@ -8,11 +8,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adot/adot_test.go b/adapters/adot/adot_test.go index d5d5afc6c..f25379b8d 100644 --- a/adapters/adot/adot_test.go +++ b/adapters/adot/adot_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adot/params_test.go b/adapters/adot/params_test.go index 99f8c9d93..28cc62c00 100644 --- a/adapters/adot/params_test.go +++ b/adapters/adot/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adot.json diff --git a/adapters/adpone/adpone.go b/adapters/adpone/adpone.go index bdf723988..944238767 100644 --- a/adapters/adpone/adpone.go +++ b/adapters/adpone/adpone.go @@ -6,12 +6,12 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // Builder builds a new instance of the Adpone adapter for the given bidder with the given config. diff --git a/adapters/adpone/adpone_test.go b/adapters/adpone/adpone_test.go index e90055b2e..418574cdc 100644 --- a/adapters/adpone/adpone_test.go +++ b/adapters/adpone/adpone_test.go @@ -3,9 +3,9 @@ package adpone import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "adponetest" diff --git a/adapters/adprime/adprime.go b/adapters/adprime/adprime.go index a4c041ae3..517ddca7a 100644 --- a/adapters/adprime/adprime.go +++ b/adapters/adprime/adprime.go @@ -7,11 +7,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // AdprimeAdapter struct diff --git a/adapters/adprime/adprime_test.go b/adapters/adprime/adprime_test.go index 0b238b5be..091c6ee7d 100644 --- a/adapters/adprime/adprime_test.go +++ b/adapters/adprime/adprime_test.go @@ -3,9 +3,9 @@ package adprime import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adprime/params_test.go b/adapters/adprime/params_test.go index 18556d990..ea05776e2 100644 --- a/adapters/adprime/params_test.go +++ b/adapters/adprime/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the adprime schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/adquery/adquery.go b/adapters/adquery/adquery.go index 418137000..f730bc9cd 100644 --- a/adapters/adquery/adquery.go +++ b/adapters/adquery/adquery.go @@ -9,11 +9,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/adquery/adquery_test.go b/adapters/adquery/adquery_test.go index 913e57819..d06f07772 100644 --- a/adapters/adquery/adquery_test.go +++ b/adapters/adquery/adquery_test.go @@ -3,9 +3,9 @@ package adquery import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adquery/params_test.go b/adapters/adquery/params_test.go index 5619f59cb..b88b54d8a 100644 --- a/adapters/adquery/params_test.go +++ b/adapters/adquery/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adquery/types.go b/adapters/adquery/types.go index 62692bb0d..db173ed40 100644 --- a/adapters/adquery/types.go +++ b/adapters/adquery/types.go @@ -1,6 +1,6 @@ package adquery -import "github.com/prebid/prebid-server/v3/openrtb_ext" +import "github.com/prebid/prebid-server/v4/openrtb_ext" type BidderRequest struct { V string `json:"v"` diff --git a/adapters/adrino/adrino.go b/adapters/adrino/adrino.go index 9139d0178..545956383 100644 --- a/adapters/adrino/adrino.go +++ b/adapters/adrino/adrino.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adrino/adrino_test.go b/adapters/adrino/adrino_test.go index 48875bed7..fe481dc7f 100644 --- a/adapters/adrino/adrino_test.go +++ b/adapters/adrino/adrino_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adrino/params_test.go b/adapters/adrino/params_test.go index a160113fb..43d9ae924 100644 --- a/adapters/adrino/params_test.go +++ b/adapters/adrino/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adrino.json diff --git a/adapters/ads_interactive/ads_interactive_test.go b/adapters/ads_interactive/ads_interactive_test.go index f8a16d50a..9fb9bc548 100644 --- a/adapters/ads_interactive/ads_interactive_test.go +++ b/adapters/ads_interactive/ads_interactive_test.go @@ -3,9 +3,9 @@ package ads_interactive import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/ads_interactive/params_test.go b/adapters/ads_interactive/params_test.go index ec7dc6302..7de6ff1b4 100644 --- a/adapters/ads_interactive/params_test.go +++ b/adapters/ads_interactive/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adsinteractive/params_test.go b/adapters/adsinteractive/params_test.go index 6b377d6aa..e1a700026 100644 --- a/adapters/adsinteractive/params_test.go +++ b/adapters/adsinteractive/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adsinteractive.json diff --git a/adapters/adtarget/adtarget.go b/adapters/adtarget/adtarget.go index c78ffe830..1e5820d63 100644 --- a/adapters/adtarget/adtarget.go +++ b/adapters/adtarget/adtarget.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AdtargetAdapter struct { diff --git a/adapters/adtarget/adtarget_test.go b/adapters/adtarget/adtarget_test.go index 23cb51fdf..57d9f74b9 100644 --- a/adapters/adtarget/adtarget_test.go +++ b/adapters/adtarget/adtarget_test.go @@ -3,9 +3,9 @@ package adtarget import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adtarget/params_test.go b/adapters/adtarget/params_test.go index cb5a8c947..aace4e61a 100644 --- a/adapters/adtarget/params_test.go +++ b/adapters/adtarget/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adtarget.json diff --git a/adapters/adtelligent/adtelligent.go b/adapters/adtelligent/adtelligent.go index f56a39736..b10b35b2f 100644 --- a/adapters/adtelligent/adtelligent.go +++ b/adapters/adtelligent/adtelligent.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AdtelligentAdapter struct { diff --git a/adapters/adtelligent/adtelligent_test.go b/adapters/adtelligent/adtelligent_test.go index 64a4573ac..5e3b8d163 100644 --- a/adapters/adtelligent/adtelligent_test.go +++ b/adapters/adtelligent/adtelligent_test.go @@ -3,9 +3,9 @@ package adtelligent import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adtelligent/params_test.go b/adapters/adtelligent/params_test.go index bd3a2b858..e9fc43552 100644 --- a/adapters/adtelligent/params_test.go +++ b/adapters/adtelligent/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adtelligent.json diff --git a/adapters/adtonos/adtonos.go b/adapters/adtonos/adtonos.go index e3c20cd93..a15918b99 100644 --- a/adapters/adtonos/adtonos.go +++ b/adapters/adtonos/adtonos.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adtonos/adtonos_test.go b/adapters/adtonos/adtonos_test.go index 683ce3e44..ff2709547 100644 --- a/adapters/adtonos/adtonos_test.go +++ b/adapters/adtonos/adtonos_test.go @@ -3,9 +3,9 @@ package adtonos import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adtonos/params_test.go b/adapters/adtonos/params_test.go index 703446c9d..b3401fc88 100644 --- a/adapters/adtonos/params_test.go +++ b/adapters/adtonos/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adtrgtme/adtrgtme.go b/adapters/adtrgtme/adtrgtme.go index a592cfc7c..977a5a57a 100644 --- a/adapters/adtrgtme/adtrgtme.go +++ b/adapters/adtrgtme/adtrgtme.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adtrgtme/adtrgtme_test.go b/adapters/adtrgtme/adtrgtme_test.go index d57b5943a..6d9ae7f5a 100644 --- a/adapters/adtrgtme/adtrgtme_test.go +++ b/adapters/adtrgtme/adtrgtme_test.go @@ -3,9 +3,9 @@ package adtrgtme import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/adtrgtme/params_test.go b/adapters/adtrgtme/params_test.go index 19acaedc8..bedd06ba0 100644 --- a/adapters/adtrgtme/params_test.go +++ b/adapters/adtrgtme/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/aduptech/aduptech.go b/adapters/aduptech/aduptech.go index dee3e679e..574afe45f 100644 --- a/adapters/aduptech/aduptech.go +++ b/adapters/aduptech/aduptech.go @@ -7,12 +7,12 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - prebidcurrency "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + prebidcurrency "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "golang.org/x/text/currency" ) diff --git a/adapters/aduptech/aduptech_test.go b/adapters/aduptech/aduptech_test.go index 64dc6b3d4..26a59c022 100644 --- a/adapters/aduptech/aduptech_test.go +++ b/adapters/aduptech/aduptech_test.go @@ -6,9 +6,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/aduptech/params_test.go b/adapters/aduptech/params_test.go index ce0ae7d12..2899d0ee5 100644 --- a/adapters/aduptech/params_test.go +++ b/adapters/aduptech/params_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/advangelists/advangelists.go b/adapters/advangelists/advangelists.go index 1d4cd4fb6..677d46e0a 100644 --- a/adapters/advangelists/advangelists.go +++ b/adapters/advangelists/advangelists.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AdvangelistsAdapter struct { diff --git a/adapters/advangelists/advangelists_test.go b/adapters/advangelists/advangelists_test.go index 64ae4c89f..bfebf98c6 100644 --- a/adapters/advangelists/advangelists_test.go +++ b/adapters/advangelists/advangelists_test.go @@ -3,9 +3,9 @@ package advangelists import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/advangelists/params_test.go b/adapters/advangelists/params_test.go index 8286f7f84..349f8ea95 100644 --- a/adapters/advangelists/params_test.go +++ b/adapters/advangelists/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adverxo/adverxo.go b/adapters/adverxo/adverxo.go index c76038ebd..f0f784d71 100644 --- a/adapters/adverxo/adverxo.go +++ b/adapters/adverxo/adverxo.go @@ -11,11 +11,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type adapter struct { diff --git a/adapters/adverxo/adverxo_test.go b/adapters/adverxo/adverxo_test.go index ca32d50bc..6194208dd 100644 --- a/adapters/adverxo/adverxo_test.go +++ b/adapters/adverxo/adverxo_test.go @@ -3,9 +3,9 @@ package adverxo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adverxo/params_test.go b/adapters/adverxo/params_test.go index a871a03c6..f18aea3d9 100644 --- a/adapters/adverxo/params_test.go +++ b/adapters/adverxo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adview/adview.go b/adapters/adview/adview.go index 55bf22845..8ea0009d5 100644 --- a/adapters/adview/adview.go +++ b/adapters/adview/adview.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/adview/adview_test.go b/adapters/adview/adview_test.go index 08e824a09..3d9b8a531 100644 --- a/adapters/adview/adview_test.go +++ b/adapters/adview/adview_test.go @@ -3,9 +3,9 @@ package adview import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/adview/params_test.go b/adapters/adview/params_test.go index 9dd1c57c2..748572f1c 100644 --- a/adapters/adview/params_test.go +++ b/adapters/adview/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/adxcg/adxcg.go b/adapters/adxcg/adxcg.go index 3b5e290ca..355b68514 100644 --- a/adapters/adxcg/adxcg.go +++ b/adapters/adxcg/adxcg.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // Builder builds a new instance of the Adxcg adapter for the given bidder with the given config. diff --git a/adapters/adxcg/adxcg_test.go b/adapters/adxcg/adxcg_test.go index 0d9472139..3e21e8294 100644 --- a/adapters/adxcg/adxcg_test.go +++ b/adapters/adxcg/adxcg_test.go @@ -3,9 +3,9 @@ package adxcg import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "adxcgtest" diff --git a/adapters/adyoulike/adyoulike.go b/adapters/adyoulike/adyoulike.go index dbc76f3f7..49118a806 100644 --- a/adapters/adyoulike/adyoulike.go +++ b/adapters/adyoulike/adyoulike.go @@ -8,11 +8,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { diff --git a/adapters/adyoulike/adyoulike_test.go b/adapters/adyoulike/adyoulike_test.go index 5a6c91b1c..80b4d8e9f 100644 --- a/adapters/adyoulike/adyoulike_test.go +++ b/adapters/adyoulike/adyoulike_test.go @@ -3,9 +3,9 @@ package adyoulike import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsBidderEndpoint = "https://localhost/bid/4" diff --git a/adapters/adyoulike/params_test.go b/adapters/adyoulike/params_test.go index 7c6630fbe..f76a9bf45 100644 --- a/adapters/adyoulike/params_test.go +++ b/adapters/adyoulike/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/adyoulike.json diff --git a/adapters/afront/afront.go b/adapters/afront/afront.go index f9c41b6a1..5d69bd013 100644 --- a/adapters/afront/afront.go +++ b/adapters/afront/afront.go @@ -6,12 +6,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/afront/afront_test.go b/adapters/afront/afront_test.go index 8a2fde952..2472f6296 100644 --- a/adapters/afront/afront_test.go +++ b/adapters/afront/afront_test.go @@ -3,9 +3,9 @@ package afront import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/afront/params_test.go b/adapters/afront/params_test.go index b50ff1642..252c8ce04 100644 --- a/adapters/afront/params_test.go +++ b/adapters/afront/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/aidem/aidem.go b/adapters/aidem/aidem.go index 6e8a74095..7486e3798 100644 --- a/adapters/aidem/aidem.go +++ b/adapters/aidem/aidem.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/aidem/aidem_test.go b/adapters/aidem/aidem_test.go index 395bd2ca7..8224cb7a0 100644 --- a/adapters/aidem/aidem_test.go +++ b/adapters/aidem/aidem_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/aidem/params_test.go b/adapters/aidem/params_test.go index bea1d26e3..933df8458 100644 --- a/adapters/aidem/params_test.go +++ b/adapters/aidem/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/aidem.json TODO: MUST BE CREATED diff --git a/adapters/aja/aja.go b/adapters/aja/aja.go index 82007b02d..2ed1306c7 100644 --- a/adapters/aja/aja.go +++ b/adapters/aja/aja.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type AJAAdapter struct { diff --git a/adapters/aja/aja_test.go b/adapters/aja/aja_test.go index ab4165d09..6de57ef68 100644 --- a/adapters/aja/aja_test.go +++ b/adapters/aja/aja_test.go @@ -3,9 +3,9 @@ package aja import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsBidderEndpoint = "https://localhost/bid/4" diff --git a/adapters/akcelo/akcelo.go b/adapters/akcelo/akcelo.go index 4abb4c9ef..78f99bca6 100644 --- a/adapters/akcelo/akcelo.go +++ b/adapters/akcelo/akcelo.go @@ -5,12 +5,12 @@ import ( "fmt" "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "net/http" "net/url" ) diff --git a/adapters/akcelo/akcelo_test.go b/adapters/akcelo/akcelo_test.go index a67a31efc..1b2cf90d6 100644 --- a/adapters/akcelo/akcelo_test.go +++ b/adapters/akcelo/akcelo_test.go @@ -1,9 +1,9 @@ package akcelo import ( - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/require" "testing" ) diff --git a/adapters/akcelo/params_test.go b/adapters/akcelo/params_test.go index 0ff4d9e01..2b61d9fbf 100644 --- a/adapters/akcelo/params_test.go +++ b/adapters/akcelo/params_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/algorix/algorix.go b/adapters/algorix/algorix.go index f6848e58e..2e1ee250b 100644 --- a/adapters/algorix/algorix.go +++ b/adapters/algorix/algorix.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/algorix/algorix_test.go b/adapters/algorix/algorix_test.go index 6b6d21e4d..575e7fdef 100644 --- a/adapters/algorix/algorix_test.go +++ b/adapters/algorix/algorix_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/algorix/params_test.go b/adapters/algorix/params_test.go index 6b5570c9a..e5d48cfc3 100644 --- a/adapters/algorix/params_test.go +++ b/adapters/algorix/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/alkimi/alkimi.go b/adapters/alkimi/alkimi.go index c85b79331..a207c37ac 100644 --- a/adapters/alkimi/alkimi.go +++ b/adapters/alkimi/alkimi.go @@ -8,14 +8,14 @@ import ( "strconv" "strings" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/floors" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/floors" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const price_macro = "${AUCTION_PRICE}" diff --git a/adapters/alkimi/alkimi_test.go b/adapters/alkimi/alkimi_test.go index 65f296a58..292f2ea1e 100644 --- a/adapters/alkimi/alkimi_test.go +++ b/adapters/alkimi/alkimi_test.go @@ -3,10 +3,10 @@ package alkimi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/alkimi/params_test.go b/adapters/alkimi/params_test.go index 0ed0be05c..0d92aab62 100644 --- a/adapters/alkimi/params_test.go +++ b/adapters/alkimi/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/alliance_gravity/alliance_gravity.go b/adapters/alliance_gravity/alliance_gravity.go new file mode 100644 index 000000000..73aec9b04 --- /dev/null +++ b/adapters/alliance_gravity/alliance_gravity.go @@ -0,0 +1,181 @@ +package alliance_gravity + +import ( + "encoding/json" + "fmt" + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type adapter struct { + endpoint string +} + +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + bidder := &adapter{ + endpoint: config.Endpoint, + } + return bidder, nil +} + +func generateImps(imps []openrtb2.Imp) ([]openrtb2.Imp, error) { + var generatedImps []openrtb2.Imp + for _, imp := range imps { + var bidderExt adapters.ExtImpBidder + if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { + return nil, &errortypes.BadInput{ + Message: err.Error(), + } + } + + var allianceGravityExt openrtb_ext.ExtImpAllianceGravity + if err := jsonutil.Unmarshal(bidderExt.Bidder, &allianceGravityExt); err != nil { + return nil, &errortypes.BadInput{ + Message: err.Error(), + } + } + + bidderExt.Bidder = json.RawMessage(`{}`) + bidderExt.Prebid = &openrtb_ext.ExtImpPrebid{ + StoredRequest: &openrtb_ext.ExtStoredRequest{ + ID: allianceGravityExt.SrId, + }, + } + + bidderExtJSON, err := jsonutil.Marshal(bidderExt) + if err != nil { + return nil, &errortypes.BadInput{ + Message: err.Error(), + } + } + + impCopy := imp + impCopy.Ext = bidderExtJSON + + generatedImps = append(generatedImps, impCopy) + } + return generatedImps, nil +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var generatedImps, err = generateImps(request.Imp) + if err != nil { + return nil, []error{err} + } + + request.Imp = generatedImps + + requestJSON, err := jsonutil.Marshal(request) + + if err != nil { + return nil, []error{err} + } + + headers := http.Header{} + headers.Add("Content-Type", "application/json;charset=utf-8") + headers.Add("Accept", "application/json") + + if request.Device != nil { + if request.Device.UA != "" { + headers.Add("User-Agent", request.Device.UA) + } + if request.Device.IP != "" { + headers.Add("X-Forwarded-For", request.Device.IP) + } else if request.Device.IPv6 != "" { + headers.Add("X-Forwarded-For", request.Device.IPv6) + } + } + if request.Site != nil { + if request.Site.Page != "" { + headers.Add("Referer", request.Site.Page) + } + } + + if request.User != nil && request.User.BuyerUID != "" { + headers.Add("Cookie", "uids="+request.User.BuyerUID) + } + + requestData := &adapters.RequestData{ + Method: "POST", + Uri: a.endpoint, + Body: requestJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + } + + return []*adapters.RequestData{requestData}, nil +} + +func (a *adapter) MakeBids(request *openrtb2.BidRequest, requestData *adapters.RequestData, responseData *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if responseData.StatusCode == http.StatusNoContent { + return nil, nil + } + + if responseData.StatusCode == http.StatusBadRequest { + err := &errortypes.BadInput{ + Message: "Unexpected status code: 400. Bad request from publisher. Run with request.debug = 1 for more info.", + } + return nil, []error{err} + } + + if responseData.StatusCode != http.StatusOK { + err := &errortypes.BadServerResponse{ + Message: fmt.Sprintf("Unexpected status code: %d. Run with request.debug = 1 for more info.", responseData.StatusCode), + } + return nil, []error{err} + } + + var response openrtb2.BidResponse + if err := jsonutil.Unmarshal(responseData.Body, &response); err != nil { + return nil, []error{err} + } + + var bids []*adapters.TypedBid + var errors []error + for _, seatBid := range response.SeatBid { + for i, bid := range seatBid.Bid { + bidType, err := getMediaTypeForBid(bid) + if err != nil { + errors = append(errors, err) + continue + } + bids = append(bids, &adapters.TypedBid{ + Bid: &seatBid.Bid[i], + BidType: bidType, + }) + } + } + + if len(bids) == 0 { + return nil, nil + } + + bidResponse := adapters.NewBidderResponseWithBidsCapacity(len(bids)) + + if response.Cur != "" { + bidResponse.Currency = response.Cur + } + bidResponse.Bids = bids + + return bidResponse, errors +} + +func getMediaTypeForBid(bid openrtb2.Bid) (openrtb_ext.BidType, error) { + if bid.Ext != nil { + var bidExt openrtb_ext.ExtBid + err := jsonutil.Unmarshal(bid.Ext, &bidExt) + if err == nil && bidExt.Prebid != nil { + return openrtb_ext.ParseBidType(string(bidExt.Prebid.Type)) + } + } + + return "", &errortypes.BadServerResponse{ + Message: fmt.Sprintf("Failed to parse impression \"%s\" mediatype", bid.ImpID), + } +} diff --git a/adapters/alliance_gravity/alliance_gravity_test.go b/adapters/alliance_gravity/alliance_gravity_test.go new file mode 100644 index 000000000..7378ec06d --- /dev/null +++ b/adapters/alliance_gravity/alliance_gravity_test.go @@ -0,0 +1,20 @@ +package alliance_gravity + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderAllianceGravity, config.Adapter{ + Endpoint: "http://endpoint"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "alliance_gravitytest", bidder) +} diff --git a/adapters/amx/amx.go b/adapters/amx/amx.go index 38e0f4512..e133b16cc 100644 --- a/adapters/amx/amx.go +++ b/adapters/amx/amx.go @@ -7,11 +7,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const nbrHeaderName = "x-nbr" diff --git a/adapters/amx/amx_test.go b/adapters/amx/amx_test.go index 152fcf2b4..e1522a88a 100644 --- a/adapters/amx/amx_test.go +++ b/adapters/amx/amx_test.go @@ -6,12 +6,12 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" ) const ( diff --git a/adapters/amx/params_test.go b/adapters/amx/params_test.go index e44f8a7bb..9b6f56178 100644 --- a/adapters/amx/params_test.go +++ b/adapters/amx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/apacdex/apacdex.go b/adapters/apacdex/apacdex.go index 698c204e2..fbcff9ee6 100644 --- a/adapters/apacdex/apacdex.go +++ b/adapters/apacdex/apacdex.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/apacdex/apacdex_test.go b/adapters/apacdex/apacdex_test.go index 4e9e2f4b0..3fde5068e 100644 --- a/adapters/apacdex/apacdex_test.go +++ b/adapters/apacdex/apacdex_test.go @@ -3,9 +3,9 @@ package apacdex import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/apacdex/params_test.go b/adapters/apacdex/params_test.go index ba680ea68..37140f782 100644 --- a/adapters/apacdex/params_test.go +++ b/adapters/apacdex/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/apacdex.json diff --git a/adapters/appnexus/appnexus.go b/adapters/appnexus/appnexus.go index a25f3f316..457ffa642 100644 --- a/adapters/appnexus/appnexus.go +++ b/adapters/appnexus/appnexus.go @@ -13,15 +13,15 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/util/randomutil" - - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/randomutil" + + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/appnexus/appnexus_test.go b/adapters/appnexus/appnexus_test.go index 63973c6dc..077202619 100644 --- a/adapters/appnexus/appnexus_test.go +++ b/adapters/appnexus/appnexus_test.go @@ -4,9 +4,9 @@ import ( "net/url" "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/adapters/appnexus/params_test.go b/adapters/appnexus/params_test.go index 225b1ac32..6ac1ddc42 100644 --- a/adapters/appnexus/params_test.go +++ b/adapters/appnexus/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/appnexus.json diff --git a/adapters/appush/appush.go b/adapters/appush/appush.go index c78e0b872..f6fa89e10 100644 --- a/adapters/appush/appush.go +++ b/adapters/appush/appush.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/appush/appush_test.go b/adapters/appush/appush_test.go index 1fe49f87d..d0c879943 100644 --- a/adapters/appush/appush_test.go +++ b/adapters/appush/appush_test.go @@ -3,9 +3,9 @@ package appush import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/appush/params_test.go b/adapters/appush/params_test.go index b877eb7bf..21809cd04 100644 --- a/adapters/appush/params_test.go +++ b/adapters/appush/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/aso/aso.go b/adapters/aso/aso.go index 6df776949..c73616bc9 100644 --- a/adapters/aso/aso.go +++ b/adapters/aso/aso.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/aso/aso_test.go b/adapters/aso/aso_test.go index 41d8e6504..c18ac4efb 100644 --- a/adapters/aso/aso_test.go +++ b/adapters/aso/aso_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/aso/params_test.go b/adapters/aso/params_test.go index 4d303220d..71ba371f5 100644 --- a/adapters/aso/params_test.go +++ b/adapters/aso/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/audienceNetwork/facebook.go b/adapters/audienceNetwork/facebook.go index dc4042412..acf618ecb 100644 --- a/adapters/audienceNetwork/facebook.go +++ b/adapters/audienceNetwork/facebook.go @@ -13,13 +13,13 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/maputil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/maputil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) var supportedBannerHeights = map[int64]struct{}{ diff --git a/adapters/audienceNetwork/facebook_test.go b/adapters/audienceNetwork/facebook_test.go index 6fdc121f9..a9740bb57 100644 --- a/adapters/audienceNetwork/facebook_test.go +++ b/adapters/audienceNetwork/facebook_test.go @@ -4,10 +4,10 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/automatad/automatad.go b/adapters/automatad/automatad.go index cfe5f5089..6ce0602fb 100644 --- a/adapters/automatad/automatad.go +++ b/adapters/automatad/automatad.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/automatad/automatad_test.go b/adapters/automatad/automatad_test.go index 515025c86..faa3431e8 100644 --- a/adapters/automatad/automatad_test.go +++ b/adapters/automatad/automatad_test.go @@ -3,9 +3,9 @@ package automatad import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/automatad/params_test.go b/adapters/automatad/params_test.go index 7f8d6e789..ec3a42e5f 100644 --- a/adapters/automatad/params_test.go +++ b/adapters/automatad/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/avocet/avocet.go b/adapters/avocet/avocet.go index 8bf2b7d89..a18bc4ed9 100644 --- a/adapters/avocet/avocet.go +++ b/adapters/avocet/avocet.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // AvocetAdapter implements a adapters.Bidder compatible with the Avocet advertising platform. diff --git a/adapters/avocet/avocet_test.go b/adapters/avocet/avocet_test.go index 082a7c1ee..42a417aca 100644 --- a/adapters/avocet/avocet_test.go +++ b/adapters/avocet/avocet_test.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/axis/axis.go b/adapters/axis/axis.go index d28eca6a8..3f104c75e 100644 --- a/adapters/axis/axis.go +++ b/adapters/axis/axis.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/axis/axis_test.go b/adapters/axis/axis_test.go index 24048f185..42481f0e4 100644 --- a/adapters/axis/axis_test.go +++ b/adapters/axis/axis_test.go @@ -3,9 +3,9 @@ package axis import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/axis/params_test.go b/adapters/axis/params_test.go index ad5cec52f..aa5b82f5d 100644 --- a/adapters/axis/params_test.go +++ b/adapters/axis/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/axonix/axonix.go b/adapters/axonix/axonix.go index 81e5937a1..33b19e14f 100644 --- a/adapters/axonix/axonix.go +++ b/adapters/axonix/axonix.go @@ -10,12 +10,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/axonix/axonix_test.go b/adapters/axonix/axonix_test.go index 1d398c535..73ac0d981 100644 --- a/adapters/axonix/axonix_test.go +++ b/adapters/axonix/axonix_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/axonix/params_test.go b/adapters/axonix/params_test.go index b839bcb20..645a72338 100644 --- a/adapters/axonix/params_test.go +++ b/adapters/axonix/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/axonix.json diff --git a/adapters/beachfront/beachfront.go b/adapters/beachfront/beachfront.go index 8e293837f..869451c98 100644 --- a/adapters/beachfront/beachfront.go +++ b/adapters/beachfront/beachfront.go @@ -10,12 +10,12 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) const Seat = "beachfront" diff --git a/adapters/beachfront/beachfront_test.go b/adapters/beachfront/beachfront_test.go index 304747503..b2beadce3 100644 --- a/adapters/beachfront/beachfront_test.go +++ b/adapters/beachfront/beachfront_test.go @@ -3,9 +3,9 @@ package beachfront import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/beachfront/params_test.go b/adapters/beachfront/params_test.go index 3bfbeba63..13e341b5b 100644 --- a/adapters/beachfront/params_test.go +++ b/adapters/beachfront/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/beintoo/beintoo.go b/adapters/beintoo/beintoo.go index 18290e6df..a76d57966 100644 --- a/adapters/beintoo/beintoo.go +++ b/adapters/beintoo/beintoo.go @@ -8,11 +8,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type BeintooAdapter struct { diff --git a/adapters/beintoo/beintoo_test.go b/adapters/beintoo/beintoo_test.go index 8dfb257b3..d6ca33bf1 100644 --- a/adapters/beintoo/beintoo_test.go +++ b/adapters/beintoo/beintoo_test.go @@ -3,9 +3,9 @@ package beintoo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/beintoo/params_test.go b/adapters/beintoo/params_test.go index 211912a8c..f9c4e8f34 100644 --- a/adapters/beintoo/params_test.go +++ b/adapters/beintoo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/bematterfull/bematterfull.go b/adapters/bematterfull/bematterfull.go index 89b984c5e..3c9c16d6b 100644 --- a/adapters/bematterfull/bematterfull.go +++ b/adapters/bematterfull/bematterfull.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type bidType struct { diff --git a/adapters/bematterfull/bematterfulltest_test.go b/adapters/bematterfull/bematterfulltest_test.go index 92296231b..9789cccae 100644 --- a/adapters/bematterfull/bematterfulltest_test.go +++ b/adapters/bematterfull/bematterfulltest_test.go @@ -3,9 +3,9 @@ package bematterfull import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/bematterfull/params_test.go b/adapters/bematterfull/params_test.go index 769195f6f..bd7478c4e 100644 --- a/adapters/bematterfull/params_test.go +++ b/adapters/bematterfull/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/beop/beop.go b/adapters/beop/beop.go new file mode 100644 index 000000000..bb4f862a5 --- /dev/null +++ b/adapters/beop/beop.go @@ -0,0 +1,172 @@ +package beop + +import ( + "encoding/json" + "fmt" + "net/http" + "net/url" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type adapter struct { + endpoint string +} + +func Builder( + bidderName openrtb_ext.BidderName, + config config.Adapter, + server config.Server) ( + adapters.Bidder, error, +) { + bidder := &adapter{ + endpoint: config.Endpoint, + } + return bidder, nil +} + +func (a *adapter) getRequestExtImpBeop(imp *openrtb2.Imp) (*openrtb_ext.ExtImpBeop, error) { + var bidderExt adapters.ExtImpBidder + if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { + return nil, &errortypes.BadInput{ + Message: "ext.bidder not provided", + } + } + var beopExt openrtb_ext.ExtImpBeop + if err := jsonutil.Unmarshal(bidderExt.Bidder, &beopExt); err != nil { + return nil, &errortypes.BadInput{ + Message: "ext.bidder not provided", + } + } + return &beopExt, nil +} + +func (a *adapter) buildEndpointURL(params *openrtb_ext.ExtImpBeop) (string, error) { + url, _ := url.Parse(a.endpoint) + query := url.Query() + if pid := params.BeopPublisherID; len(pid) != 0 { + query.Set("pid", pid) + } + if nid := params.BeopNetworkID; len(nid) != 0 { + query.Set("nid", nid) + } + if nptnid := params.BeopNetworkPartnerID; len(nptnid) != 0 { + query.Set("nptnid", nptnid) + } + url.RawQuery = query.Encode() + return url.String(), nil +} + +func (a *adapter) MakeRequests( + request *openrtb2.BidRequest, + requestInfo *adapters.ExtraRequestInfo) ( + []*adapters.RequestData, []error, +) { + var beopExt *openrtb_ext.ExtImpBeop + var err error + + beopExt, err = a.getRequestExtImpBeop(&request.Imp[0]) + if err != nil { + return nil, []error{err} + } + + requestJSON, err := json.Marshal(request) + if err != nil { + return nil, []error{err} + } + + headers := http.Header{} + headers.Add("Content-Type", "application/json;charset=utf-8") + headers.Add("Accept", "application/json") + + url, err := a.buildEndpointURL(beopExt) + if err != nil { + return nil, []error{err} + } + + requestData := &adapters.RequestData{ + Method: "POST", + Uri: url, + Body: requestJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + } + + return []*adapters.RequestData{requestData}, nil +} + +func getMediaTypeForBid(bid *openrtb2.Bid) (openrtb_ext.BidType, error) { + mType := bid.MType + var bidType openrtb_ext.BidType + switch mType { + case openrtb2.MarkupBanner: + bidType = openrtb_ext.BidTypeBanner + case openrtb2.MarkupVideo: + bidType = openrtb_ext.BidTypeVideo + default: + return bidType, fmt.Errorf("Failed to parse bid mType for impression \"%s\"", bid.ImpID) + } + return bidType, nil +} + +func (a *adapter) MakeBids( + request *openrtb2.BidRequest, + requestData *adapters.RequestData, + responseData *adapters.ResponseData) ( + *adapters.BidderResponse, []error, +) { + if responseData.StatusCode == http.StatusNoContent { + return nil, nil + } + + if responseData.StatusCode == http.StatusServiceUnavailable { + return nil, []error{&errortypes.BadInput{ + Message: fmt.Sprintf("Service Unavailable. Status Code: [ %d ] ", responseData.StatusCode), + }} + } + + if responseData.StatusCode == http.StatusBadRequest { + err := &errortypes.BadServerResponse{ + Message: fmt.Sprintf("Unexpected status code: %d. Run with request.debug = 1 for more info.", responseData.StatusCode), + } + return nil, []error{err} + } + + var responseBody openrtb2.BidResponse + if err := jsonutil.Unmarshal(responseData.Body, &responseBody); err != nil { + return nil, []error{&errortypes.BadServerResponse{ + Message: "Bad Server Response", + }} + } + + if len(responseBody.SeatBid) == 0 { + return nil, []error{&errortypes.BadServerResponse{ + Message: "Empty SeatBid array", + }} + } + + bidResponseFinal := adapters.NewBidderResponseWithBidsCapacity(len(responseBody.SeatBid[0].Bid)) + seatBid := responseBody.SeatBid[0] + var errors []error + for i := range seatBid.Bid { + bid := &seatBid.Bid[i] + bidType, err := getMediaTypeForBid(bid) + if err != nil { + errors = append(errors, err) + continue + } + bidResponseFinal.Bids = append(bidResponseFinal.Bids, &adapters.TypedBid{ + Bid: bid, + BidType: bidType, + }) + } + if len(bidResponseFinal.Bids) == 0 { + return nil, errors + } + return bidResponseFinal, errors +} diff --git a/adapters/between/between.go b/adapters/between/between.go index fe2097828..6cbb88ca1 100644 --- a/adapters/between/between.go +++ b/adapters/between/between.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type BetweenAdapter struct { diff --git a/adapters/between/between_test.go b/adapters/between/between_test.go index 61f759126..1a33e7710 100644 --- a/adapters/between/between_test.go +++ b/adapters/between/between_test.go @@ -3,9 +3,9 @@ package between import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/between/params_test.go b/adapters/between/params_test.go index 5e30dba11..7d16056f5 100644 --- a/adapters/between/params_test.go +++ b/adapters/between/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/between.json diff --git a/adapters/beyondmedia/beyondmedia.go b/adapters/beyondmedia/beyondmedia.go index bafa5791d..4e026aa0f 100644 --- a/adapters/beyondmedia/beyondmedia.go +++ b/adapters/beyondmedia/beyondmedia.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/beyondmedia/beyondmedia_test.go b/adapters/beyondmedia/beyondmedia_test.go index 94eb5bd74..6050f7048 100644 --- a/adapters/beyondmedia/beyondmedia_test.go +++ b/adapters/beyondmedia/beyondmedia_test.go @@ -3,9 +3,9 @@ package beyondmedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/beyondmedia/params_test.go b/adapters/beyondmedia/params_test.go index 2f6d969f1..9804f12bd 100644 --- a/adapters/beyondmedia/params_test.go +++ b/adapters/beyondmedia/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/bidder.go b/adapters/bidder.go index fb0ec07e0..0be99b008 100644 --- a/adapters/bidder.go +++ b/adapters/bidder.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Bidder describes how to connect to external demand. diff --git a/adapters/bidmachine/bidmachine.go b/adapters/bidmachine/bidmachine.go index 81a72cdac..b56fff83d 100644 --- a/adapters/bidmachine/bidmachine.go +++ b/adapters/bidmachine/bidmachine.go @@ -12,12 +12,12 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bidmachine/bidmachine_test.go b/adapters/bidmachine/bidmachine_test.go index dc26633c4..f303e49cd 100644 --- a/adapters/bidmachine/bidmachine_test.go +++ b/adapters/bidmachine/bidmachine_test.go @@ -3,9 +3,9 @@ package bidmachine import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/bidmachine/params_test.go b/adapters/bidmachine/params_test.go index 319fef890..56d796c27 100644 --- a/adapters/bidmachine/params_test.go +++ b/adapters/bidmachine/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/bidmatic/bidmatic.go b/adapters/bidmatic/bidmatic.go index 32b7a2ee8..06678021d 100644 --- a/adapters/bidmatic/bidmatic.go +++ b/adapters/bidmatic/bidmatic.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bidmatic/bidmatic_test.go b/adapters/bidmatic/bidmatic_test.go index b546eca54..f803c898a 100644 --- a/adapters/bidmatic/bidmatic_test.go +++ b/adapters/bidmatic/bidmatic_test.go @@ -3,9 +3,9 @@ package bidmatic import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bidmatic/params_test.go b/adapters/bidmatic/params_test.go index bfea9fdda..cc13f7b97 100644 --- a/adapters/bidmatic/params_test.go +++ b/adapters/bidmatic/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/bidmatic.json diff --git a/adapters/bidmyadz/bidmyadz.go b/adapters/bidmyadz/bidmyadz.go index b2f8cda56..87c92eb3b 100644 --- a/adapters/bidmyadz/bidmyadz.go +++ b/adapters/bidmyadz/bidmyadz.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bidmyadz/bidmyadz_test.go b/adapters/bidmyadz/bidmyadz_test.go index f01af44cf..53b4bcc59 100644 --- a/adapters/bidmyadz/bidmyadz_test.go +++ b/adapters/bidmyadz/bidmyadz_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bidmyadz/params_test.go b/adapters/bidmyadz/params_test.go index fca34b102..e8a50bd7e 100644 --- a/adapters/bidmyadz/params_test.go +++ b/adapters/bidmyadz/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/bidscube/bidscube.go b/adapters/bidscube/bidscube.go index 8ccd794f8..2bb9dc25c 100644 --- a/adapters/bidscube/bidscube.go +++ b/adapters/bidscube/bidscube.go @@ -9,11 +9,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bidscube/bidscube_test.go b/adapters/bidscube/bidscube_test.go index 5396ccd42..aec8219b8 100644 --- a/adapters/bidscube/bidscube_test.go +++ b/adapters/bidscube/bidscube_test.go @@ -3,9 +3,9 @@ package bidscube import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bidscube/params_test.go b/adapters/bidscube/params_test.go index 9f368f939..00bc51dd1 100644 --- a/adapters/bidscube/params_test.go +++ b/adapters/bidscube/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the bidscube schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/bidstack/bidstack.go b/adapters/bidstack/bidstack.go index 555abff0c..5172db1bb 100644 --- a/adapters/bidstack/bidstack.go +++ b/adapters/bidstack/bidstack.go @@ -9,10 +9,10 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/bidstack/bidstack_test.go b/adapters/bidstack/bidstack_test.go index 9010ce501..14d506497 100644 --- a/adapters/bidstack/bidstack_test.go +++ b/adapters/bidstack/bidstack_test.go @@ -7,9 +7,9 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bidstack/params_test.go b/adapters/bidstack/params_test.go index 3cca0f447..cc2402928 100644 --- a/adapters/bidstack/params_test.go +++ b/adapters/bidstack/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/bidtheatre/bidtheatre.go b/adapters/bidtheatre/bidtheatre.go index 8d3b149c7..6e56171b2 100644 --- a/adapters/bidtheatre/bidtheatre.go +++ b/adapters/bidtheatre/bidtheatre.go @@ -6,11 +6,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bidtheatre/bidtheatre_test.go b/adapters/bidtheatre/bidtheatre_test.go index 8a4daf5fb..ca78a03f2 100644 --- a/adapters/bidtheatre/bidtheatre_test.go +++ b/adapters/bidtheatre/bidtheatre_test.go @@ -2,9 +2,9 @@ package bidtheatre import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "strings" "testing" ) diff --git a/adapters/bidtheatre/params_test.go b/adapters/bidtheatre/params_test.go index 64870afcb..51caec5f9 100644 --- a/adapters/bidtheatre/params_test.go +++ b/adapters/bidtheatre/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/bigoad/bigoad.go b/adapters/bigoad/bigoad.go index e968139d5..7e4edd51f 100644 --- a/adapters/bigoad/bigoad.go +++ b/adapters/bigoad/bigoad.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bigoad/bigoad_test.go b/adapters/bigoad/bigoad_test.go index 7c51c8f80..a171d66dc 100644 --- a/adapters/bigoad/bigoad_test.go +++ b/adapters/bigoad/bigoad_test.go @@ -3,9 +3,9 @@ package bigoad import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/bigoad/param_test.go b/adapters/bigoad/param_test.go index 772bcb772..9f456f65d 100644 --- a/adapters/bigoad/param_test.go +++ b/adapters/bigoad/param_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/blasto/blasto.go b/adapters/blasto/blasto.go index e9917d088..c02c4a1ce 100644 --- a/adapters/blasto/blasto.go +++ b/adapters/blasto/blasto.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/blasto/blasto_test.go b/adapters/blasto/blasto_test.go index 9b09c19ae..4bce53bcd 100644 --- a/adapters/blasto/blasto_test.go +++ b/adapters/blasto/blasto_test.go @@ -3,9 +3,9 @@ package blasto import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/blasto/params_test.go b/adapters/blasto/params_test.go index c23f162d0..762b51185 100644 --- a/adapters/blasto/params_test.go +++ b/adapters/blasto/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/bliink/bliink.go b/adapters/bliink/bliink.go index 900c1de7e..d5ce144c8 100644 --- a/adapters/bliink/bliink.go +++ b/adapters/bliink/bliink.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bliink/bliink_test.go b/adapters/bliink/bliink_test.go index d5fa3aa58..404f90127 100644 --- a/adapters/bliink/bliink_test.go +++ b/adapters/bliink/bliink_test.go @@ -3,9 +3,9 @@ package bliink import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bliink/params_test.go b/adapters/bliink/params_test.go index 646ab96e4..8b3620e96 100644 --- a/adapters/bliink/params_test.go +++ b/adapters/bliink/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/blis/blis.go b/adapters/blis/blis.go index ed701a224..617c6b82e 100644 --- a/adapters/blis/blis.go +++ b/adapters/blis/blis.go @@ -8,13 +8,13 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/iterutil" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/iterutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/blis/blis_test.go b/adapters/blis/blis_test.go index b9fcc9836..7ae808d8e 100644 --- a/adapters/blis/blis_test.go +++ b/adapters/blis/blis_test.go @@ -4,9 +4,9 @@ import ( "github.com/stretchr/testify/assert" "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/require" ) diff --git a/adapters/blis/params_test.go b/adapters/blis/params_test.go index 2a62836a0..b1535e884 100644 --- a/adapters/blis/params_test.go +++ b/adapters/blis/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/adapters/blue/blue.go b/adapters/blue/blue.go index 08b5167dd..6f9537507 100644 --- a/adapters/blue/blue.go +++ b/adapters/blue/blue.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/blue/blue_test.go b/adapters/blue/blue_test.go index 696d855d6..815cbaf56 100644 --- a/adapters/blue/blue_test.go +++ b/adapters/blue/blue_test.go @@ -3,9 +3,9 @@ package blue import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestBidderBlue(t *testing.T) { diff --git a/adapters/blue/params_test.go b/adapters/blue/params_test.go index 27b1e02ea..aac600299 100644 --- a/adapters/blue/params_test.go +++ b/adapters/blue/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/bluesea/bluesea.go b/adapters/bluesea/bluesea.go index 0428b22b6..835f98c48 100644 --- a/adapters/bluesea/bluesea.go +++ b/adapters/bluesea/bluesea.go @@ -7,11 +7,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bluesea/bluesea_test.go b/adapters/bluesea/bluesea_test.go index 2d0b5bdac..df4ed7d6e 100644 --- a/adapters/bluesea/bluesea_test.go +++ b/adapters/bluesea/bluesea_test.go @@ -3,9 +3,9 @@ package bluesea import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bluesea/params_test.go b/adapters/bluesea/params_test.go index 79d15d0ba..f9f7ee5b9 100644 --- a/adapters/bluesea/params_test.go +++ b/adapters/bluesea/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the bluesea schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/bmtm/brightmountainmedia.go b/adapters/bmtm/brightmountainmedia.go index 6f48df6d4..f1c8fd971 100644 --- a/adapters/bmtm/brightmountainmedia.go +++ b/adapters/bmtm/brightmountainmedia.go @@ -7,11 +7,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/bmtm/brightmountainmedia_test.go b/adapters/bmtm/brightmountainmedia_test.go index 28af575c5..51ec50e6c 100644 --- a/adapters/bmtm/brightmountainmedia_test.go +++ b/adapters/bmtm/brightmountainmedia_test.go @@ -3,9 +3,9 @@ package bmtm import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/bmtm/params_test.go b/adapters/bmtm/params_test.go index f6f8b6105..a2ff1104c 100644 --- a/adapters/bmtm/params_test.go +++ b/adapters/bmtm/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/boldwin/boldwin.go b/adapters/boldwin/boldwin.go index 2dbb14542..52f545086 100644 --- a/adapters/boldwin/boldwin.go +++ b/adapters/boldwin/boldwin.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/boldwin/boldwin_test.go b/adapters/boldwin/boldwin_test.go index 1a270fcfe..a6d3e3238 100644 --- a/adapters/boldwin/boldwin_test.go +++ b/adapters/boldwin/boldwin_test.go @@ -3,9 +3,9 @@ package boldwin import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/boldwin/params_test.go b/adapters/boldwin/params_test.go index 627af2418..b12237684 100644 --- a/adapters/boldwin/params_test.go +++ b/adapters/boldwin/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/boldwin_rapid/boldwin_rapid.go b/adapters/boldwin_rapid/boldwin_rapid.go new file mode 100644 index 000000000..62d2131fe --- /dev/null +++ b/adapters/boldwin_rapid/boldwin_rapid.go @@ -0,0 +1,172 @@ +package boldwin_rapid + +import ( + "encoding/json" + "fmt" + "text/template" + + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type adapter struct { + endpoint *template.Template +} + +func Builder(_ openrtb_ext.BidderName, config config.Adapter, _ config.Server) (adapters.Bidder, error) { + endpointTemplate, err := template.New("endpointTemplate").Parse(config.Endpoint) + if err != nil { + return nil, fmt.Errorf("unable to parse endpoint template: %v", err) + } + + bidder := &adapter{ + endpoint: endpointTemplate, + } + + return bidder, nil +} + +func (a *adapter) buildEndpointURL(boldwinExt openrtb_ext.ImpExtBoldwinRapid) (string, error) { + endpointParams := macros.EndpointTemplateParams{ + PublisherID: boldwinExt.Pid, + PlacementID: boldwinExt.Tid, + } + + return macros.ResolveMacros(a.endpoint, endpointParams) +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, _ *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var adapterRequests []*adapters.RequestData + + reqCopy := *request + headers := a.getHeaders(request) + + for _, imp := range request.Imp { + // Create a new request with just this impression + reqCopy.Imp = []openrtb2.Imp{imp} + + var bidderExt adapters.ExtImpBidder + var boldwinExt openrtb_ext.ImpExtBoldwinRapid + + // Use the current impression's Ext + if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { + return nil, []error{err} + } + + if err := jsonutil.Unmarshal(bidderExt.Bidder, &boldwinExt); err != nil { + return nil, []error{err} + } + + endpoint, err := a.buildEndpointURL(boldwinExt) + if err != nil { + return nil, []error{err} + } + + adapterReq, err := a.makeRequest(&reqCopy, endpoint, headers) + if err != nil { + return nil, []error{err} + } + + if adapterReq != nil { + adapterRequests = append(adapterRequests, adapterReq) + } + } + + return adapterRequests, nil +} + +func (a *adapter) getHeaders(request *openrtb2.BidRequest) http.Header { + headers := http.Header{} + headers.Add("Content-Type", "application/json;charset=utf-8") + headers.Add("Accept", "application/json") + headers.Add("x-openrtb-version", "2.5") + headers.Add("Host", "rtb.beardfleet.com") // required header for the request + + if request.Device != nil { + if request.Device.UA != "" { + headers.Add("User-Agent", request.Device.UA) + } + + if len(request.Device.IPv6) > 0 { + headers.Set("X-Forwarded-For", request.Device.IPv6) + } + + if len(request.Device.IP) > 0 { + headers.Set("X-Forwarded-For", request.Device.IP) + headers.Add("IP", request.Device.IP) + } + } + + return headers +} + +func (a *adapter) makeRequest(request *openrtb2.BidRequest, endpoint string, headers http.Header) (*adapters.RequestData, error) { + reqJSON, err := json.Marshal(request) + if err != nil { + return nil, fmt.Errorf("failed to marshal request: %w", err) + } + + return &adapters.RequestData{ + Method: "POST", + Uri: endpoint, + Body: reqJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + }, nil +} + +func (a *adapter) MakeBids(request *openrtb2.BidRequest, _ *adapters.RequestData, responseData *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if adapters.IsResponseStatusCodeNoContent(responseData) { + return nil, nil + } + + err := adapters.CheckResponseStatusCodeForErrors(responseData) + if err != nil { + return nil, []error{err} + } + + var response openrtb2.BidResponse + if err := jsonutil.Unmarshal(responseData.Body, &response); err != nil { + return nil, []error{err} + } + + bidResponse := adapters.NewBidderResponseWithBidsCapacity(len(request.Imp)) + if response.Cur != "" { + bidResponse.Currency = response.Cur + } + + for _, seatBid := range response.SeatBid { + for i := range seatBid.Bid { + bidType, err := getBidMediaType(&seatBid.Bid[i]) + if err != nil { + return nil, []error{err} + } + + b := &adapters.TypedBid{ + Bid: &seatBid.Bid[i], + BidType: bidType, + } + bidResponse.Bids = append(bidResponse.Bids, b) + } + } + return bidResponse, nil +} + +func getBidMediaType(bid *openrtb2.Bid) (openrtb_ext.BidType, error) { + switch bid.MType { + case openrtb2.MarkupBanner: + return openrtb_ext.BidTypeBanner, nil + case openrtb2.MarkupVideo: + return openrtb_ext.BidTypeVideo, nil + case openrtb2.MarkupNative: + return openrtb_ext.BidTypeNative, nil + default: + return "", fmt.Errorf("Unable to fetch mediaType in multi-format: %s", bid.ImpID) + } +} diff --git a/adapters/boldwin_rapid/boldwin_rapid_test.go b/adapters/boldwin_rapid/boldwin_rapid_test.go new file mode 100644 index 000000000..da55e420a --- /dev/null +++ b/adapters/boldwin_rapid/boldwin_rapid_test.go @@ -0,0 +1,530 @@ +package boldwin_rapid + +import ( + "encoding/json" + "errors" + "testing" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder( + openrtb_ext.BidderBoldwinRapid, config.Adapter{ + Endpoint: "https://rtb.beardfleet.com/auction/bid?pid={{.PublisherID}}&tid={{.PlacementID}}", + }, + config.Server{ + ExternalUrl: "http://hosturl.com", + GvlID: 1, + DataCenter: "2", + }, + ) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "boldwin_rapidtest", bidder) +} + +func TestEndpointTemplateMalformed(t *testing.T) { + _, buildErr := Builder(openrtb_ext.BidderAdhese, config.Adapter{ + Endpoint: "{{Malformed}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + assert.Error(t, buildErr) +} + +// TestMakeRequestsErrors tests error handling in the MakeRequests method +func TestMakeRequestsErrors(t *testing.T) { + testCases := []struct { + name string + givenBidRequest *openrtb2.BidRequest + mockAdapter *mockAdapter + expectedError string + }{ + { + name: "Error unmarshalling imp.Ext", + givenBidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`invalid json`), + }, + }, + }, + mockAdapter: &mockAdapter{}, + expectedError: "invalid character 'i' looking for beginning of value", + }, + { + name: "Error unmarshalling bidderExt.Bidder", + givenBidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`{"bidder": "invalid json"}`), + }, + }, + }, + mockAdapter: &mockAdapter{}, + expectedError: "json: cannot unmarshal string into Go value of type openrtb_ext.ImpExtBoldwinRapid", + }, + { + name: "Error building endpoint URL", + givenBidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`{"bidder": {"pid": "123", "tid": "456"}}`), + }, + }, + }, + mockAdapter: &mockAdapter{ + buildEndpointURLErr: errors.New("endpoint URL error"), + }, + expectedError: "endpoint URL error", + }, + { + name: "Error making request", + givenBidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`{"bidder": {"pid": "123", "tid": "456"}}`), + }, + }, + }, + mockAdapter: &mockAdapter{ + makeRequestErr: errors.New("make request error"), + }, + expectedError: "make request error", + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + // When + requests, errs := tc.mockAdapter.MakeRequests(tc.givenBidRequest, nil) + + // Then + assert.Nil(t, requests) + require.Len(t, errs, 1) + assert.Contains(t, errs[0].Error(), tc.expectedError) + }) + } +} + +// Mock adapter for testing +type mockAdapter struct { + buildEndpointURLErr error + makeRequestErr error +} + +func (m *mockAdapter) MakeRequests(request *openrtb2.BidRequest, _ *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var adapterRequests []*adapters.RequestData + + reqCopy := *request + + for _, imp := range request.Imp { + // Create a new request with just this impression + reqCopy.Imp = []openrtb2.Imp{imp} + + var bidderExt adapters.ExtImpBidder + var boldwinExt openrtb_ext.ImpExtBoldwinRapid + + // Use the current impression's Ext + if err := json.Unmarshal(imp.Ext, &bidderExt); err != nil { + return nil, []error{err} + } + + if err := json.Unmarshal(bidderExt.Bidder, &boldwinExt); err != nil { + return nil, []error{err} + } + + if m.buildEndpointURLErr != nil { + return nil, []error{m.buildEndpointURLErr} + } + + if m.makeRequestErr != nil { + return nil, []error{m.makeRequestErr} + } + } + + return adapterRequests, nil +} + +func TestMakeRequestsUnmarshalErrors(t *testing.T) { + adapter, buildErr := Builder(openrtb_ext.BidderBoldwinRapid, config.Adapter{ + Endpoint: "https://rtb.beardfleet.com/auction/bid?pid={{.PublisherID}}&tid={{.PlacementID}}", + }, config.Server{}) + assert.NoError(t, buildErr) + + t.Run("invalid imp.Ext json", func(t *testing.T) { + bidRequest := &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`{invalid json}`), + }, + }, + } + + requests, errs := adapter.MakeRequests(bidRequest, nil) + assert.Nil(t, requests) + assert.Len(t, errs, 1) + assert.Error(t, errs[0]) + }) + + t.Run("invalid bidder extension json", func(t *testing.T) { + bidRequest := &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`{"bidder": {invalid json}}`), + }, + }, + } + + requests, errs := adapter.MakeRequests(bidRequest, nil) + assert.Nil(t, requests) + assert.Len(t, errs, 1) + assert.Error(t, errs[0]) + }) + + t.Run("bidder field is not valid json object", func(t *testing.T) { + bidRequest := &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Ext: json.RawMessage(`{"bidder": "not an object"}`), + }, + }, + } + + requests, errs := adapter.MakeRequests(bidRequest, nil) + assert.Nil(t, requests) + assert.Len(t, errs, 1) + assert.Error(t, errs[0]) + }) +} + +func TestGetHeaders(t *testing.T) { + adapter := &adapter{} + + tests := []struct { + name string + requestJSON string + expectedHeader map[string]string + checkHeaders []string + }{ + { + name: "device with IP", + requestJSON: `{ + "device": { + "ip": "192.168.1.1" + } + }`, + expectedHeader: map[string]string{ + "X-Forwarded-For": "192.168.1.1", + "IP": "192.168.1.1", + }, + checkHeaders: []string{"X-Forwarded-For", "IP"}, + }, + { + name: "device with IPv6", + requestJSON: `{ + "device": { + "ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334" + } + }`, + expectedHeader: map[string]string{ + "X-Forwarded-For": "2001:0db8:85a3:0000:0000:8a2e:0370:7334", + }, + checkHeaders: []string{"X-Forwarded-For"}, + }, + { + name: "device with both IP and IPv6", + requestJSON: `{ + "device": { + "ip": "192.168.1.1", + "ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334" + } + }`, + expectedHeader: map[string]string{ + "X-Forwarded-For": "192.168.1.1", + "IP": "192.168.1.1", + }, + checkHeaders: []string{"X-Forwarded-For", "IP"}, + }, + { + name: "device with User-Agent", + requestJSON: `{ + "device": { + "ua": "Mozilla/5.0" + } + }`, + expectedHeader: map[string]string{ + "User-Agent": "Mozilla/5.0", + }, + checkHeaders: []string{"User-Agent"}, + }, + { + name: "device with all fields", + requestJSON: `{ + "device": { + "ua": "Mozilla/5.0", + "ip": "192.168.1.1", + "ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334" + } + }`, + expectedHeader: map[string]string{ + "User-Agent": "Mozilla/5.0", + "X-Forwarded-For": "192.168.1.1", + "IP": "192.168.1.1", + }, + checkHeaders: []string{"User-Agent", "X-Forwarded-For", "IP"}, + }, + { + name: "no device", + requestJSON: `{}`, + expectedHeader: map[string]string{}, + checkHeaders: []string{}, + }, + { + name: "empty device fields", + requestJSON: `{ + "device": { + "ua": "", + "ip": "", + "ipv6": "" + } + }`, + expectedHeader: map[string]string{}, + checkHeaders: []string{}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + var request openrtb2.BidRequest + err := json.Unmarshal([]byte(tt.requestJSON), &request) + assert.NoError(t, err) + + headers := adapter.getHeaders(&request) + + // Check required headers are always present + assert.Equal(t, "application/json;charset=utf-8", headers.Get("Content-Type")) + assert.Equal(t, "application/json", headers.Get("Accept")) + assert.Equal(t, "2.5", headers.Get("x-openrtb-version")) + assert.Equal(t, "rtb.beardfleet.com", headers.Get("Host")) + + // Check expected headers + for _, headerName := range tt.checkHeaders { + assert.Equal(t, tt.expectedHeader[headerName], headers.Get(headerName), "header %s mismatch", headerName) + } + + // Verify headers that should not be present when device fields are empty + if len(tt.checkHeaders) == 0 && request.Device != nil { + if request.Device.UA == "" { + assert.Empty(t, headers.Get("User-Agent")) + } + if len(request.Device.IP) == 0 && len(request.Device.IPv6) == 0 { + // X-Forwarded-For should only have one value or none + assert.True(t, headers.Get("X-Forwarded-For") == "" || len(headers.Values("X-Forwarded-For")) <= 1) + } + } + }) + } +} + +func TestMakeBids(t *testing.T) { + adapter := &adapter{} + + t.Run("no content response", func(t *testing.T) { + responseData := &adapters.ResponseData{ + StatusCode: 204, + } + + bidderResp, errs := adapter.MakeBids(nil, nil, responseData) + assert.Nil(t, bidderResp) + assert.Nil(t, errs) + }) + + t.Run("error status code", func(t *testing.T) { + responseData := &adapters.ResponseData{ + StatusCode: 500, + Body: []byte("Internal Server Error"), + } + + bidderResp, errs := adapter.MakeBids(nil, nil, responseData) + assert.Nil(t, bidderResp) + assert.Len(t, errs, 1) + }) + + t.Run("invalid response body json", func(t *testing.T) { + responseData := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(`{invalid json}`), + } + + bidderResp, errs := adapter.MakeBids(nil, nil, responseData) + assert.Nil(t, bidderResp) + assert.Len(t, errs, 1) + assert.Error(t, errs[0]) + }) + + t.Run("successful response with currency", func(t *testing.T) { + responseJSON := `{ + "id": "test-request-id", + "cur": "USD", + "seatbid": [ + { + "bid": [ + { + "id": "bid1", + "impid": "imp1", + "price": 1.5, + "mtype": 1 + } + ] + } + ] + }` + + responseData := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + request := &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{{ID: "imp1"}}, + } + + bidderResp, errs := adapter.MakeBids(request, nil, responseData) + assert.Nil(t, errs) + assert.NotNil(t, bidderResp) + assert.Equal(t, "USD", bidderResp.Currency) + assert.Len(t, bidderResp.Bids, 1) + assert.Equal(t, openrtb_ext.BidTypeBanner, bidderResp.Bids[0].BidType) + }) + + t.Run("multiple bids with different types", func(t *testing.T) { + responseJSON := `{ + "id": "test-request-id", + "seatbid": [ + { + "bid": [ + { + "id": "bid1", + "impid": "imp1", + "price": 1.5, + "mtype": 1 + }, + { + "id": "bid2", + "impid": "imp2", + "price": 2.0, + "mtype": 2 + }, + { + "id": "bid3", + "impid": "imp3", + "price": 3.0, + "mtype": 4 + } + ] + } + ] + }` + + responseData := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + request := &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + {ID: "imp1"}, + {ID: "imp2"}, + {ID: "imp3"}, + }, + } + + bidderResp, errs := adapter.MakeBids(request, nil, responseData) + assert.Nil(t, errs) + assert.NotNil(t, bidderResp) + assert.Len(t, bidderResp.Bids, 3) + assert.Equal(t, openrtb_ext.BidTypeBanner, bidderResp.Bids[0].BidType) + assert.Equal(t, openrtb_ext.BidTypeVideo, bidderResp.Bids[1].BidType) + assert.Equal(t, openrtb_ext.BidTypeNative, bidderResp.Bids[2].BidType) + }) +} + +func TestGetBidMediaType(t *testing.T) { + t.Run("banner type", func(t *testing.T) { + bid := &openrtb2.Bid{ + ImpID: "imp1", + MType: openrtb2.MarkupBanner, + } + + bidType, err := getBidMediaType(bid) + assert.NoError(t, err) + assert.Equal(t, openrtb_ext.BidTypeBanner, bidType) + }) + + t.Run("video type", func(t *testing.T) { + bid := &openrtb2.Bid{ + ImpID: "imp1", + MType: openrtb2.MarkupVideo, + } + + bidType, err := getBidMediaType(bid) + assert.NoError(t, err) + assert.Equal(t, openrtb_ext.BidTypeVideo, bidType) + }) + + t.Run("native type", func(t *testing.T) { + bid := &openrtb2.Bid{ + ImpID: "imp1", + MType: openrtb2.MarkupNative, + } + + bidType, err := getBidMediaType(bid) + assert.NoError(t, err) + assert.Equal(t, openrtb_ext.BidTypeNative, bidType) + }) +} + +func TestMakeRequestsMultipleImpressions(t *testing.T) { + adapter, err := Builder(openrtb_ext.BidderBoldwinRapid, config.Adapter{ + Endpoint: "https://rtb.beardfleet.com/auction/bid?pid={{.PublisherID}}&tid={{.PlacementID}}", + }, config.Server{}) + require.NoError(t, err) + + t.Run("multiple impressions create multiple requests", func(t *testing.T) { + bidRequest := &openrtb2.BidRequest{ + ID: "test-request", + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Ext: json.RawMessage(`{"bidder": {"pid": "pub1", "tid": "tag1"}}`), + }, + { + ID: "imp2", + Ext: json.RawMessage(`{"bidder": {"pid": "pub2", "tid": "tag2"}}`), + }, + }, + } + + requests, errs := adapter.MakeRequests(bidRequest, nil) + assert.Nil(t, errs) + assert.Len(t, requests, 2) + assert.Contains(t, requests[0].Uri, "pid=pub1&tid=tag1") + assert.Contains(t, requests[1].Uri, "pid=pub2&tid=tag2") + }) +} diff --git a/adapters/brave/brave.go b/adapters/brave/brave.go index 4cca024f4..595df0ea0 100755 --- a/adapters/brave/brave.go +++ b/adapters/brave/brave.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/brave/brave_test.go b/adapters/brave/brave_test.go index a1ea0cd70..aceebd3a5 100644 --- a/adapters/brave/brave_test.go +++ b/adapters/brave/brave_test.go @@ -3,9 +3,9 @@ package brave import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/brave/params_test.go b/adapters/brave/params_test.go index fd0a6f8c6..06ec9f5f5 100644 --- a/adapters/brave/params_test.go +++ b/adapters/brave/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/bwx/bwx.go b/adapters/bwx/bwx.go index 55e64a05c..22b945193 100644 --- a/adapters/bwx/bwx.go +++ b/adapters/bwx/bwx.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type bidType struct { diff --git a/adapters/bwx/bwx_test.go b/adapters/bwx/bwx_test.go index 10246ee8a..edd87acf6 100644 --- a/adapters/bwx/bwx_test.go +++ b/adapters/bwx/bwx_test.go @@ -3,9 +3,9 @@ package bwx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/bwx/params_test.go b/adapters/bwx/params_test.go index 515fbd507..cd5d969bb 100644 --- a/adapters/bwx/params_test.go +++ b/adapters/bwx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/cadent_aperture_mx/cadentaperturemx.go b/adapters/cadent_aperture_mx/cadentaperturemx.go index 58902bad5..9d62c1a5e 100644 --- a/adapters/cadent_aperture_mx/cadentaperturemx.go +++ b/adapters/cadent_aperture_mx/cadentaperturemx.go @@ -11,11 +11,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/cadent_aperture_mx/cadentaperturemx_test.go b/adapters/cadent_aperture_mx/cadentaperturemx_test.go index 7a951555d..a17eac4b6 100644 --- a/adapters/cadent_aperture_mx/cadentaperturemx_test.go +++ b/adapters/cadent_aperture_mx/cadentaperturemx_test.go @@ -3,10 +3,10 @@ package cadentaperturemx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/cadent_aperture_mx/params_test.go b/adapters/cadent_aperture_mx/params_test.go index d505bd832..8fc1377c6 100644 --- a/adapters/cadent_aperture_mx/params_test.go +++ b/adapters/cadent_aperture_mx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/ccx/ccx.go b/adapters/ccx/ccx.go index 64bb599af..7685e624a 100644 --- a/adapters/ccx/ccx.go +++ b/adapters/ccx/ccx.go @@ -6,12 +6,12 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/ccx/ccx_test.go b/adapters/ccx/ccx_test.go index de095d725..3c68e9ccc 100644 --- a/adapters/ccx/ccx_test.go +++ b/adapters/ccx/ccx_test.go @@ -3,9 +3,9 @@ package ccx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/ccx/params_test.go b/adapters/ccx/params_test.go index ff600fada..2d296bc88 100644 --- a/adapters/ccx/params_test.go +++ b/adapters/ccx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/clydo/clydo.go b/adapters/clydo/clydo.go new file mode 100644 index 000000000..967aab568 --- /dev/null +++ b/adapters/clydo/clydo.go @@ -0,0 +1,273 @@ +package clydo + +import ( + "fmt" + "net/http" + "text/template" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type adapter struct { + endpoint *template.Template +} + +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + template, err := template.New("endpointTemplate").Parse(config.Endpoint) + if err != nil { + return nil, fmt.Errorf("Failed to parse endpoint url: %v", err) + } + bidder := &adapter{ + endpoint: template, + } + return bidder, nil +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var requests []*adapters.RequestData + var errors []error + + impIds, err := prepareImpIds(request) + if err != nil { + return nil, append(errors, err) + } + + headers, err := prepareHeaders(request) + if err != nil { + return nil, append(errors, err) + } + + for _, imp := range request.Imp { + reqData, err := a.prepareRequest(request, imp, impIds, headers) + if err != nil { + errors = append(errors, err) + continue + } + requests = append(requests, reqData) + } + return requests, errors +} + +func (a *adapter) MakeBids( + request *openrtb2.BidRequest, + requestData *adapters.RequestData, + responseData *adapters.ResponseData, +) (*adapters.BidderResponse, []error) { + if adapters.IsResponseStatusCodeNoContent(responseData) { + return nil, nil + } + + if errResp := adapters.CheckResponseStatusCodeForErrors(responseData); errResp != nil { + return nil, []error{errResp} + } + response, err := prepareBidResponse(responseData.Body) + if err != nil { + return nil, []error{err} + } + + bidResponse := adapters.NewBidderResponseWithBidsCapacity(len(request.Imp)) + if response.Cur != "" { + bidResponse.Currency = response.Cur + } + + bidTypeMap, err := buildBidTypeMap(request.Imp) + if err != nil { + return nil, []error{err} + } + bids := prepareSeatBids(response.SeatBid, bidTypeMap) + bidResponse.Bids = bids + + return bidResponse, nil +} + +func (a *adapter) prepareRequest(request *openrtb2.BidRequest, imp openrtb2.Imp, impIds []string, headers http.Header) (*adapters.RequestData, error) { + params, err := prepareExtParams(imp) + if err != nil { + return nil, err + } + endpoint, err := a.prepareEndpoint(params) + if err != nil { + return nil, err + } + body, err := prepareBody(request, imp) + if err != nil { + return nil, err + } + + return &adapters.RequestData{ + Method: "POST", + Uri: endpoint, + Body: body, + Headers: headers, + ImpIDs: impIds, + }, nil +} + +func prepareExtParams(imp openrtb2.Imp) (*openrtb_ext.ImpExtClydo, error) { + var clydoImpExt openrtb_ext.ImpExtClydo + var bidderExt adapters.ExtImpBidder + if len(imp.Ext) == 0 { + return nil, &errortypes.BadInput{ + Message: "missing ext", + } + } + if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { + return nil, &errortypes.BadInput{ + Message: "invalid ext", + } + } + if len(bidderExt.Bidder) == 0 { + return nil, &errortypes.BadInput{ + Message: "missing ext.bidder", + } + } + if err := jsonutil.Unmarshal(bidderExt.Bidder, &clydoImpExt); err != nil { + return nil, &errortypes.BadInput{ + Message: "invalid ext.bidder", + } + } + return &clydoImpExt, nil +} + +func (a *adapter) prepareEndpoint(params *openrtb_ext.ImpExtClydo) (string, error) { + partnerId := params.PartnerId + if partnerId == "" { + return "", &errortypes.BadInput{ + Message: "invalid partnerId", + } + } + + region := params.Region + if region == "" { + region = "us" + } + + endpointParams := macros.EndpointTemplateParams{ + PartnerId: partnerId, + Region: region, + } + return macros.ResolveMacros(a.endpoint, endpointParams) +} + +func prepareBody(request *openrtb2.BidRequest, imp openrtb2.Imp) ([]byte, error) { + reqCopy := *request + reqCopy.Imp = []openrtb2.Imp{imp} + + body, err := jsonutil.Marshal(&reqCopy) + if err != nil { + return nil, err + } + + return body, nil +} + +func prepareHeaders(request *openrtb2.BidRequest) (http.Header, error) { + allHeaders := map[string]string{ + "X-OpenRTB-Version": "2.5", + "Accept": "application/json", + "Content-Type": "application/json; charset=utf-8", + } + + allHeaders, err := appendDeviceHeaders(allHeaders, request) + if err != nil { + return nil, err + } + + headers := make(http.Header) + for k, v := range allHeaders { + headers.Add(k, v) + } + + return headers, nil +} + +func appendDeviceHeaders(headers map[string]string, request *openrtb2.BidRequest) (map[string]string, error) { + if request.Device == nil { + return nil, &errortypes.BadInput{Message: "Failed to get device headers"} + } + + if ipv6 := request.Device.IPv6; ipv6 != "" { + headers["X-Forwarded-For"] = ipv6 + } + if ip := request.Device.IP; ip != "" { + headers["X-Forwarded-For"] = ip + } + if ua := request.Device.UA; ua != "" { + headers["User-Agent"] = ua + } + + return headers, nil +} + +func prepareImpIds(request *openrtb2.BidRequest) ([]string, error) { + impIds := openrtb_ext.GetImpIDs(request.Imp) + if impIds == nil { + return nil, &errortypes.BadInput{Message: "Failed to get imp ids"} + } + return impIds, nil +} + +func prepareBidResponse(body []byte) (openrtb2.BidResponse, error) { + var response openrtb2.BidResponse + if err := jsonutil.Unmarshal(body, &response); err != nil { + return response, err + } + return response, nil +} + +func prepareSeatBids(seatBids []openrtb2.SeatBid, bidTypeMap map[string]openrtb_ext.BidType) []*adapters.TypedBid { + var typedBids []*adapters.TypedBid + + for _, seatBid := range seatBids { + for i := range seatBid.Bid { + bid := &seatBid.Bid[i] + bidType := getMediaTypeForBid(bid, bidTypeMap) + typedBids = append(typedBids, &adapters.TypedBid{ + Bid: bid, + BidType: bidType, + }) + } + } + + return typedBids +} + +func buildBidTypeMap(imps []openrtb2.Imp) (map[string]openrtb_ext.BidType, error) { + bidTypeMap := make(map[string]openrtb_ext.BidType, len(imps)) + for _, imp := range imps { + if _, exists := bidTypeMap[imp.ID]; exists { + return nil, &errortypes.BadInput{ + Message: "Duplicate impression ID found", + } + } + + switch { + case imp.Audio != nil: + bidTypeMap[imp.ID] = openrtb_ext.BidTypeAudio + case imp.Video != nil: + bidTypeMap[imp.ID] = openrtb_ext.BidTypeVideo + case imp.Native != nil: + bidTypeMap[imp.ID] = openrtb_ext.BidTypeNative + case imp.Banner != nil: + bidTypeMap[imp.ID] = openrtb_ext.BidTypeBanner + default: + return nil, &errortypes.BadInput{ + Message: "Failed to get media type", + } + } + } + return bidTypeMap, nil +} + +func getMediaTypeForBid(bid *openrtb2.Bid, bidTypeMap map[string]openrtb_ext.BidType) openrtb_ext.BidType { + if mediaType, ok := bidTypeMap[bid.ImpID]; ok { + return mediaType + } + return openrtb_ext.BidTypeBanner +} diff --git a/adapters/clydo/clydo_test.go b/adapters/clydo/clydo_test.go new file mode 100644 index 000000000..c381fc6ad --- /dev/null +++ b/adapters/clydo/clydo_test.go @@ -0,0 +1,30 @@ +package clydo + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/assert" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderClydo, config.Adapter{ + Endpoint: "http://{{.Region}}.clydo.io/{{.PartnerId}}"}, + config.Server{ExternalUrl: "http://hosturl.com"}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "clydotest", bidder) +} + +func TestEndpointTemplateMalformed(t *testing.T) { + _, buildErr := Builder(openrtb_ext.BidderClydo, config.Adapter{ + Endpoint: "{{Malformed}}"}, + config.Server{ExternalUrl: "http://hosturl.com"}) + + assert.Error(t, buildErr) +} diff --git a/adapters/clydo/params_test.go b/adapters/clydo/params_test.go new file mode 100644 index 000000000..f3172f83b --- /dev/null +++ b/adapters/clydo/params_test.go @@ -0,0 +1,52 @@ +package clydo + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the json schema. %v", err) + } + + for _, p := range validParams { + if err := validator.Validate(openrtb_ext.BidderClydo, json.RawMessage(p)); err != nil { + t.Errorf("Schema rejected valid params: %s", p) + } + } +} + +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the json schema. %v", err) + } + + for _, p := range invalidParams { + if err := validator.Validate(openrtb_ext.BidderClydo, json.RawMessage(p)); err == nil { + t.Errorf("Schema allowed invalid params: %s", p) + } + } +} + +var validParams = []string{ + `{"partnerId": "rxeMfUb992Ocxm9C"}`, + `{"partnerId": "jDrTOH0ADArSEqrR"}`, + `{"partnerId": "MZP6aFUyHqjoqMCs"}`, + `{"partnerId": "rxeMfUb992Ocxm9C", "region": "us"}`, + `{"partnerId": "rxeMfUb992Ocxm9C", "region": "usw"}`, + `{"partnerId": "jDrTOH0ADArSEqrR", "region": "eu"}`, + `{"partnerId": "MZP6aFUyHqjoqMCs", "region": "apac"}`, +} + +var invalidParams = []string{ + `{"partnerId": ""}`, + `{"partnerId": 111}`, + `{"partnerId": "rxeMfUb992Ocxm9C", "region": "uswest"}`, + `{"partnerId": "rxeMfUb992Ocxm9C", "region": "europa"}`, + `{"partnerId": "rxeMfUb992Ocxm9C", "region": "singapore"}`, +} diff --git a/adapters/cointraffic/cointraffic.go b/adapters/cointraffic/cointraffic.go index 781d8def8..d5aff0055 100644 --- a/adapters/cointraffic/cointraffic.go +++ b/adapters/cointraffic/cointraffic.go @@ -5,10 +5,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/cointraffic/cointraffic_test.go b/adapters/cointraffic/cointraffic_test.go index 133dfd2af..c73d8d6b3 100644 --- a/adapters/cointraffic/cointraffic_test.go +++ b/adapters/cointraffic/cointraffic_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "cointraffictest" diff --git a/adapters/cointraffic/params_test.go b/adapters/cointraffic/params_test.go index 484a72c66..3d0044d94 100644 --- a/adapters/cointraffic/params_test.go +++ b/adapters/cointraffic/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/cointraffic.json diff --git a/adapters/coinzilla/coinzilla.go b/adapters/coinzilla/coinzilla.go index 21e321406..eeec012a3 100644 --- a/adapters/coinzilla/coinzilla.go +++ b/adapters/coinzilla/coinzilla.go @@ -6,12 +6,12 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { diff --git a/adapters/coinzilla/coinzilla_test.go b/adapters/coinzilla/coinzilla_test.go index 830028f24..fff81adf1 100644 --- a/adapters/coinzilla/coinzilla_test.go +++ b/adapters/coinzilla/coinzilla_test.go @@ -3,9 +3,9 @@ package coinzilla import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "coinzillatest" diff --git a/adapters/coinzilla/params_test.go b/adapters/coinzilla/params_test.go index d174b1441..61586a891 100644 --- a/adapters/coinzilla/params_test.go +++ b/adapters/coinzilla/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/colossus/colossus.go b/adapters/colossus/colossus.go index 0fc1e50a2..5f3b2d1c7 100644 --- a/adapters/colossus/colossus.go +++ b/adapters/colossus/colossus.go @@ -7,11 +7,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type ColossusAdapter struct { diff --git a/adapters/colossus/colossus_test.go b/adapters/colossus/colossus_test.go index 227bd635a..903cd2ec6 100644 --- a/adapters/colossus/colossus_test.go +++ b/adapters/colossus/colossus_test.go @@ -3,9 +3,9 @@ package colossus import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/colossus/params_test.go b/adapters/colossus/params_test.go index bf924e4ea..d4e80e467 100644 --- a/adapters/colossus/params_test.go +++ b/adapters/colossus/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the colossus schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/compass/compass.go b/adapters/compass/compass.go index 28f46bc7e..0ab775a51 100644 --- a/adapters/compass/compass.go +++ b/adapters/compass/compass.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/compass/compass_test.go b/adapters/compass/compass_test.go index 7aed7616d..9e043d1c6 100644 --- a/adapters/compass/compass_test.go +++ b/adapters/compass/compass_test.go @@ -3,9 +3,9 @@ package compass import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/compass/params_test.go b/adapters/compass/params_test.go index edabac297..6de87dfe0 100644 --- a/adapters/compass/params_test.go +++ b/adapters/compass/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/concert/concert.go b/adapters/concert/concert.go index adf714427..5ac326900 100644 --- a/adapters/concert/concert.go +++ b/adapters/concert/concert.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/concert/concert_test.go b/adapters/concert/concert_test.go index d6cea80fb..397043b3d 100644 --- a/adapters/concert/concert_test.go +++ b/adapters/concert/concert_test.go @@ -3,9 +3,9 @@ package concert import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/concert/params_test.go b/adapters/concert/params_test.go index b8ec65bda..512f01648 100644 --- a/adapters/concert/params_test.go +++ b/adapters/concert/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/connatix/connatix.go b/adapters/connatix/connatix.go index 11cf7a146..5adaf5d9d 100644 --- a/adapters/connatix/connatix.go +++ b/adapters/connatix/connatix.go @@ -9,11 +9,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/connatix/connatix_test.go b/adapters/connatix/connatix_test.go index 018926ef2..fdaa76bee 100644 --- a/adapters/connatix/connatix_test.go +++ b/adapters/connatix/connatix_test.go @@ -3,9 +3,9 @@ package connatix import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/connatix/models.go b/adapters/connatix/models.go index 95317d7e2..53c64ea7c 100644 --- a/adapters/connatix/models.go +++ b/adapters/connatix/models.go @@ -1,7 +1,7 @@ package connatix import ( - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type adapter struct { diff --git a/adapters/connatix/params_test.go b/adapters/connatix/params_test.go index 254f660c1..beb681aa7 100644 --- a/adapters/connatix/params_test.go +++ b/adapters/connatix/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/connatix.json diff --git a/adapters/connectad/connectad.go b/adapters/connectad/connectad.go index dd13bc376..146e583ea 100644 --- a/adapters/connectad/connectad.go +++ b/adapters/connectad/connectad.go @@ -8,11 +8,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type ConnectAdAdapter struct { diff --git a/adapters/connectad/connectad_test.go b/adapters/connectad/connectad_test.go index 4563e0045..ac876a7a6 100644 --- a/adapters/connectad/connectad_test.go +++ b/adapters/connectad/connectad_test.go @@ -3,9 +3,9 @@ package connectad import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/connectad/params_test.go b/adapters/connectad/params_test.go index dc7c40be7..12dd9c7be 100644 --- a/adapters/connectad/params_test.go +++ b/adapters/connectad/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/consumable/consumable.go b/adapters/consumable/consumable.go index 9b80fb145..47d1ba3ea 100644 --- a/adapters/consumable/consumable.go +++ b/adapters/consumable/consumable.go @@ -5,11 +5,11 @@ import ( "fmt" "net/http" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/consumable/consumable_test.go b/adapters/consumable/consumable_test.go index 200d6159e..76a28d40d 100644 --- a/adapters/consumable/consumable_test.go +++ b/adapters/consumable/consumable_test.go @@ -6,11 +6,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/consumable/params_test.go b/adapters/consumable/params_test.go index 3820acc73..6584982d8 100644 --- a/adapters/consumable/params_test.go +++ b/adapters/consumable/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/consumable.json diff --git a/adapters/contxtful/contxtful.go b/adapters/contxtful/contxtful.go new file mode 100644 index 000000000..3513579ff --- /dev/null +++ b/adapters/contxtful/contxtful.go @@ -0,0 +1,388 @@ +package contxtful + +import ( + "fmt" + "net/http" + "text/template" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +// ContxtfulRequestPayload represents the complete request payload structure +type ContxtfulRequestPayload struct { + ORTB2 *openrtb2.BidRequest `json:"ortb2"` + BidRequests []ContxtfulBidRequest `json:"bidRequests"` + BidderRequest ContxtfulBidderRequest `json:"bidderRequest"` + Config ContxtfulConfig `json:"config"` +} + +// ContxtfulBidRequest represents an individual bid request +type ContxtfulBidRequest struct { + Bidder string `json:"bidder"` + Params ContxtfulBidRequestParams `json:"params"` + BidID string `json:"bidId"` +} + +// ContxtfulBidRequestParams represents the parameters for a bid request +type ContxtfulBidRequestParams struct { + PlacementID string `json:"placementId"` +} + +// ContxtfulBidderRequest represents the bidder request information +type ContxtfulBidderRequest struct { + BidderCode string `json:"bidderCode"` +} + +// ContxtfulConfig represents the configuration section +type ContxtfulConfig struct { + Contxtful ContxtfulConfigDetails `json:"contxtful"` +} + +// ContxtfulConfigDetails represents the detailed configuration +type ContxtfulConfigDetails struct { + Version string `json:"version"` + Customer string `json:"customer"` +} + +// BidExtensions represents the complete bid extensions structure +type BidExtensions struct { + OrigBidCPM float64 `json:"origbidcpm"` + OrigBidCur string `json:"origbidcur"` + Prebid openrtb_ext.ExtBidPrebid `json:"prebid"` +} + +type ContxtfulExchangeBid struct { + RequestID string `json:"requestId"` + CPM float64 `json:"cpm"` + Currency string `json:"currency"` + Width int `json:"width"` + Height int `json:"height"` + CreativeID string `json:"creativeId"` + AdM string `json:"adm"` + TTL int `json:"ttl"` + NetRevenue bool `json:"netRevenue"` + MediaType string `json:"mediaType"` + BidderCode string `json:"bidderCode"` + PlacementID string `json:"placementId"` + TraceId string `json:"traceId,omitempty"` + Random float64 `json:"random,omitempty"` + NURL string `json:"nurl"` + BURL string `json:"burl"` + LURL string `json:"lurl,omitempty"` + Ext jsonutil.RawMessage `json:"ext,omitempty"` +} + +type BidProcessingContext struct { + request *openrtb2.BidRequest + requestData *adapters.RequestData + customerId string + bidderResponse *adapters.BidderResponse + errors []error + // Event URL generation fields + version string + domain string + adRequestID string +} + +type adapter struct { + endpointTemplate *template.Template +} + +// Essential constants +const ( + BidderName = "contxtful" + DefaultVersion = "v1" + FieldBidder = "bidder" + PbsPath = "/pbs/" +) + +// Helper to safely extract bidder parameters from impression extension +func extractBidderParams(impExt jsonutil.RawMessage) (*openrtb_ext.ExtImpContxtful, error) { + var bidderExt adapters.ExtImpBidder + if err := jsonutil.Unmarshal(impExt, &bidderExt); err != nil { + return nil, err + } + + var contxtfulParams openrtb_ext.ExtImpContxtful + if err := jsonutil.Unmarshal(bidderExt.Bidder, &contxtfulParams); err != nil { + return nil, err + } + + return &contxtfulParams, nil +} + +// Builder builds a new instance of the Contxtful adapter for the given bidder with the given config. +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + return &adapter{ + endpointTemplate: template.Must(template.New("endpointTemplate").Parse(config.Endpoint)), + }, nil +} + +// Extract impression parameters (validation handled by JSON schema) +func validateImpressions(request *openrtb2.BidRequest) ([]string, string, []error) { + var errors []error + var customerId string + validPlacements := make([]string, 0, len(request.Imp)) + + for _, imp := range request.Imp { + contxtfulParams, err := extractBidderParams(imp.Ext) + if err != nil { + errors = append(errors, err) + continue + } + + if customerId == "" { + customerId = contxtfulParams.CustomerId + } + validPlacements = append(validPlacements, contxtfulParams.PlacementId) + } + + return validPlacements, customerId, errors +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, reqInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var errors []error + + // Build headers efficiently + headers := http.Header{ + "Content-Type": []string{"application/json;charset=utf-8"}, + "Accept": []string{"application/json"}, + } + + // Build dynamic endpoint URL and validate impressions + endpoint, validPlacements, customerId, endpointErrors := a.buildEndpointURL(request) + errors = append(errors, endpointErrors...) + + if len(validPlacements) == 0 { + return nil, errors + } + + // Create payload + payload := createRequestPayload(request, validPlacements, customerId) + + requestJSON, err := jsonutil.Marshal(payload) + if err != nil { + errors = append(errors, err) + return nil, errors + } + + requestData := &adapters.RequestData{ + Method: http.MethodPost, + Uri: endpoint, + Body: requestJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + } + + return []*adapters.RequestData{requestData}, errors +} + +// buildEndpointURL validates impressions and creates the endpoint URL +func (a *adapter) buildEndpointURL(request *openrtb2.BidRequest) (string, []string, string, []error) { + // Validate impressions and extract parameters + validPlacements, customerId, validationErrors := validateImpressions(request) + + if len(validationErrors) > 0 { + return "", validPlacements, customerId, validationErrors + } + + // Use bidder config customer as primary source for endpoint URL + endpointCustomerId := customerId + + // Build dynamic endpoint URL + endpointParams := macros.EndpointTemplateParams{ + AccountID: endpointCustomerId, + } + endpoint, err := macros.ResolveMacros(a.endpointTemplate, endpointParams) + if err != nil { + return "", validPlacements, customerId, []error{err} + } + + return endpoint, validPlacements, customerId, nil +} + +// Streamlined payload creation +func createRequestPayload(request *openrtb2.BidRequest, validPlacements []string, customerId string) ContxtfulRequestPayload { + // Create clean request copy + requestCopy := *request + + adapterVersion := DefaultVersion + customer := customerId + + uid := extractUserIDForCookie(request) + + // Ensure UID is written to ortb2.user.buyeruid with deep copy + if uid != "" { + // Create a deep copy of the User object to avoid modifying the original + userCopy := *requestCopy.User + requestCopy.User = &userCopy + requestCopy.User.BuyerUID = uid + } + + // Build bid requests + bidRequests := make([]ContxtfulBidRequest, len(request.Imp)) + for i, imp := range request.Imp { + bidRequests[i] = ContxtfulBidRequest{ + Bidder: BidderName, + Params: ContxtfulBidRequestParams{ + PlacementID: validPlacements[i], + }, + BidID: imp.ID, + } + } + + return ContxtfulRequestPayload{ + ORTB2: &requestCopy, + BidRequests: bidRequests, + BidderRequest: ContxtfulBidderRequest{ + BidderCode: BidderName, + }, + Config: ContxtfulConfig{ + Contxtful: ContxtfulConfigDetails{ + Version: adapterVersion, + Customer: customer, + }, + }, + } +} + +// Response format handlers +// Direct response processing without over-engineered handler pattern +func (a *adapter) processResponse(responseBody []byte, ctx *BidProcessingContext) bool { + // Try PrebidJS format first + var prebidBids []ContxtfulExchangeBid + if err := jsonutil.Unmarshal(responseBody, &prebidBids); err == nil && len(prebidBids) > 0 { + return a.processPrebidJSBids(prebidBids, ctx) + } + + return false +} + +func (a *adapter) processPrebidJSBids(prebidBids []ContxtfulExchangeBid, ctx *BidProcessingContext) bool { + for _, prebidBid := range prebidBids { + if prebidBid.CPM == 0 || prebidBid.RequestID == "" { + continue + } + if prebidBid.MediaType == "" { + ctx.errors = append(ctx.errors, &errortypes.BadServerResponse{Message: "bid has no ad media type"}) + continue + } + if prebidBid.AdM == "" { + ctx.errors = append(ctx.errors, &errortypes.BadServerResponse{Message: "bid has no ad markup"}) + continue + } + currency := prebidBid.Currency + if currency == "" { + currency = "USD" + } + + a.createBid(prebidBid, currency, ctx) + + if prebidBid.Currency != "" { + ctx.bidderResponse.Currency = prebidBid.Currency + } + } + return true +} + +func (a *adapter) MakeBids(request *openrtb2.BidRequest, requestData *adapters.RequestData, response *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if adapters.IsResponseStatusCodeNoContent(response) { + return nil, nil + } + + if err := adapters.CheckResponseStatusCodeForErrors(response); err != nil { + return nil, []error{err} + } + + // Extract domain for event URLs + domain := "" + if request.Site != nil && request.Site.Domain != "" { + domain = request.Site.Domain + } + + ctx := &BidProcessingContext{ + request: request, + requestData: requestData, + bidderResponse: adapters.NewBidderResponse(), + domain: domain, + adRequestID: request.ID, + } + + if a.processResponse(response.Body, ctx) { + return ctx.bidderResponse, ctx.errors + } + + return nil, []error{fmt.Errorf("failed to parse response as Contxtful relay or Prebid.js format")} +} + +// Simplified bid creation using prebid bid struct +func (a *adapter) createBid( + prebidBid ContxtfulExchangeBid, + currency string, + ctx *BidProcessingContext, +) { + // Determine media type from impression + var bidType openrtb_ext.BidType = openrtb_ext.BidTypeBanner + for _, imp := range ctx.request.Imp { + if imp.ID == prebidBid.RequestID { + if imp.Video != nil { + bidType = openrtb_ext.BidTypeVideo + } else if imp.Native != nil { + bidType = openrtb_ext.BidTypeNative + } + break + } + } + + bid := &openrtb2.Bid{ + ID: fmt.Sprintf("%s-%s", BidderName, prebidBid.RequestID), + ImpID: prebidBid.RequestID, + Price: prebidBid.CPM, + AdM: prebidBid.AdM, + W: int64(prebidBid.Width), + H: int64(prebidBid.Height), + CrID: prebidBid.CreativeID, + NURL: prebidBid.NURL, + BURL: prebidBid.BURL, + LURL: prebidBid.LURL, + Ext: prebidBid.Ext, + } + + typedBid := &adapters.TypedBid{ + Bid: bid, + BidType: bidType, + } + + ctx.bidderResponse.Bids = append(ctx.bidderResponse.Bids, typedBid) +} + +func extractUserIDForCookie(request *openrtb2.BidRequest) string { + if request.User == nil { + return "" + } + + // Priority 1: Standard ORTB2 BuyerUID field + if request.User.BuyerUID != "" { + return request.User.BuyerUID + } + + // Priority 2: PBS buyeruids map (simplified navigation) + if request.User.Ext != nil { + var userExt openrtb_ext.ExtUser + if err := jsonutil.Unmarshal(request.User.Ext, &userExt); err == nil { + if userExt.Prebid != nil && userExt.Prebid.BuyerUIDs != nil { + if uid := userExt.Prebid.BuyerUIDs[BidderName]; uid != "" { + return uid + } + } + } + } + + return "" +} diff --git a/adapters/contxtful/contxtful_relay_test.go b/adapters/contxtful/contxtful_relay_test.go new file mode 100644 index 000000000..c668047c1 --- /dev/null +++ b/adapters/contxtful/contxtful_relay_test.go @@ -0,0 +1,238 @@ +package contxtful + +import ( + "encoding/json" + "testing" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/assert" +) + +// TestContxtfulRelay tests that the adapter correctly transforms input OpenRTB requests +// to the expected format for the Contxtful relay endpoint +func TestContxtfulRelay(t *testing.T) { + // Create a test adapter + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", // Use the dynamic endpoint template + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Load the test OpenRTB request + inputRequest := createTestOpenRTBRequest(t) + + // Execute the adapter's request transformation logic + requestsData, errs := bidder.MakeRequests(inputRequest, &adapters.ExtraRequestInfo{}) + + // Verify no errors occurred + assert.Empty(t, errs, "Expected no errors") + assert.Len(t, requestsData, 1, "Expected one request") + + // Verify the request URI matches what we expect (should be resolved with customerId) + expectedEndpoint := "https://prebid.receptivity.io/v1/pbs/test-customer-123/bid" + assert.Equal(t, expectedEndpoint, requestsData[0].Uri, "Unexpected request URI") + assert.Equal(t, "POST", requestsData[0].Method, "Unexpected HTTP method") + + // Decode the request body to verify structure + var requestBody map[string]interface{} + err := json.Unmarshal(requestsData[0].Body, &requestBody) + assert.NoError(t, err, "Should unmarshal request body without errors") + + // Verify basic structure of the request + assert.Contains(t, requestBody, "ortb2", "Request body should contain ortb2 field") + assert.Equal(t, "1", inputRequest.Imp[0].ID, "Imp ID should be preserved") + + // Verify headers + assert.Equal(t, "application/json;charset=utf-8", requestsData[0].Headers.Get("Content-Type"), "Content-Type header should be set") + assert.Equal(t, "application/json", requestsData[0].Headers.Get("Accept"), "Accept header should be set") +} + +// createTestOpenRTBRequest creates a test OpenRTB request similar to the example provided +func createTestOpenRTBRequest(t *testing.T) *openrtb2.BidRequest { + // Sample request based on the structure provided + rawJson := `{ + "imp": [{ + "ext": { + "data": { + "divId": "/19968336/header-bid-tag-0", + "adg_rtd": { + "adunit_position": "8x151" + }, + "placement": "in_article" + }, + "bidder": { + "placementId": "p10000001", + "customerId": "test-customer-123" + }, + "prebid": { + "adunitcode": "/19968336/header-bid-tag-0" + } + }, + "id": "1", + "banner": { + "topframe": 1, + "format": [{ + "w": 300, + "h": 250 + }, + { + "w": 300, + "h": 600 + } + ] + }, + "secure": 1 + }], + "test": 1, + "app": { + "id": "test-app-id", + "bundle": "test.bundle" + }, + "site": { + "domain": "prometheus.receptivity.io", + "publisher": { + "domain": "receptivity.io", + "id": "1" + }, + "page": "https://example.receptivity.io/", + "ext": { + "data": { + "documentLang": "en", + "adg_rtd": { + "uid": "4b9f3464-8177-4b6f-9bf5-baf69be33b10", + "pageviewId": "d3c75c57-3cb5-48d9-b7b6-3ea2e401759b", + "features": { + "page_dimensions": "2034x668", + "viewport_dimensions": "2034x652", + "user_timestamp": "1746128988", + "dom_loading": "512" + }, + "session": { + "rnd": 0.17883197907537263, + "pages": 3, + "new": true, + "vwSmplg": 0, + "vwSmplgNxt": 0, + "expiry": 1746141471202, + "lastActivityTime": 1746139671202, + "id": "45811c08-b3f0-4395-9040-a87077325ced" + } + } + } + } + }, + "device": { + "w": 2560, + "h": 1080, + "dnt": 1, + "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36", + "language": "fr", + "ext": { + "vpw": 2034, + "vph": 344 + }, + "sua": { + "source": 1, + "platform": { + "brand": "macOS" + }, + "browsers": [{ + "brand": "Chromium", + "version": ["135"] + }, + { + "brand": "Not-A.Brand", + "version": ["8"] + } + ], + "mobile": 0 + } + }, + "ext": { + "prebid": { + "auctiontimestamp": 1746143432301, + "targeting": { + "includewinners": true, + "includebidderkeys": false + }, + "bidderconfig": [{ + "bidders": ["pubmatic"], + "config": { + } + }], + "debug": true, + "channel": { + "name": "pbjs", + "version": "v9.39.0-pre" + }, + "createtids": false + }, + "tmaxmax": 3000 + }, + "id": "3dc63dbf-dcfa-4645-bf2a-23d32fb759d2", + "tmax": 1000 + }` + + var req openrtb2.BidRequest + err := json.Unmarshal([]byte(rawJson), &req) + assert.NoError(t, err, "Should unmarshal test request without errors") + + return &req +} + +// TestContxtfulTransformStructure performs a deeper test of the request transformation structure +func TestContxtfulTransformStructure(t *testing.T) { + // Create a test adapter + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", // Use the dynamic endpoint template + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Load the test OpenRTB request + inputRequest := createTestOpenRTBRequest(t) + + // Execute the adapter's request transformation logic + requestsData, errs := bidder.MakeRequests(inputRequest, &adapters.ExtraRequestInfo{}) + + if errs != nil && len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Verify we got a request back + assert.Len(t, requestsData, 1, "Expected one request") + + // Decode the request body to inspect the structure in detail + var requestBody map[string]interface{} + err := json.Unmarshal(requestsData[0].Body, &requestBody) + assert.NoError(t, err, "Should unmarshal request body without errors") + + // Check for the expected fields in the transformed request + assert.Contains(t, requestBody, "ortb2", "Request should contain ortb2") + + // Check that ortb2 is a map + _, ok := requestBody["ortb2"].(map[string]interface{}) + assert.True(t, ok, "ortb2 should be a map") + + // Verify the bidRequests field structure + assert.Contains(t, requestBody, "bidRequests", "Request should contain bidRequests") + bidRequests, ok := requestBody["bidRequests"].([]interface{}) + assert.True(t, ok, "bidRequests should be an array") + assert.GreaterOrEqual(t, len(bidRequests), 1, "bidRequests should have at least one entry") + + // Verify bidRequest contains the expected fields + bidRequest, ok := bidRequests[0].(map[string]interface{}) + assert.True(t, ok, "bidRequest should be a map") + assert.Contains(t, bidRequest, "bidder", "bidRequest should contain bidder") + assert.Contains(t, bidRequest, "params", "bidRequest should contain params") + + // Verify the bidderRequest field is present + assert.Contains(t, requestBody, "bidderRequest", "Request should contain bidderRequest") +} diff --git a/adapters/contxtful/contxtful_test.go b/adapters/contxtful/contxtful_test.go new file mode 100644 index 000000000..846144e9b --- /dev/null +++ b/adapters/contxtful/contxtful_test.go @@ -0,0 +1,4353 @@ +package contxtful + +import ( + "encoding/json" + "fmt" + "strings" + "testing" + + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/stretchr/testify/assert" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "contxtfultest", bidder) +} + +func TestPayloadFormat(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create a test request + requestJSON := `{ + "id": "test-request-id", + "imp": [ + { + "id": "test-imp-id", + "banner": { + "format": [ + {"w": 300, "h": 250} + ] + }, + "ext": { + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer-123" + } + } + } + ], + "site": { + "id": "test-site", + "page": "https://example.com" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify the payload structure + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + // Check required top-level fields + if _, exists := payload["ortb2"]; !exists { + t.Error("Payload missing 'ortb2' field") + } + if _, exists := payload["bidRequests"]; !exists { + t.Error("Payload missing 'bidRequests' field") + } + if _, exists := payload["bidderRequest"]; !exists { + t.Error("Payload missing 'bidderRequest' field") + } + if _, exists := payload["config"]; !exists { + t.Error("Payload missing 'config' field") + } + + // Verify bidRequests structure + bidRequests, ok := payload["bidRequests"].([]interface{}) + if !ok || len(bidRequests) != 1 { + t.Error("bidRequests should be an array with one element") + } + + bidRequest, ok := bidRequests[0].(map[string]interface{}) + if !ok { + t.Error("bidRequest should be an object") + } + + // Check bidRequest fields + if bidRequest["bidder"] != "contxtful" { + t.Error("bidRequest.bidder should be 'contxtful'") + } + + params, ok := bidRequest["params"].(map[string]interface{}) + if !ok { + t.Error("bidRequest.params should be an object") + } + + if params["placementId"] != "test-placement" { + t.Error("bidRequest.params.placementId should be 'test-placement'") + } + + // Verify endpoint URL + expectedURL := "https://prebid.receptivity.io/v1/pbs/test-customer-123/bid" + if requests[0].Uri != expectedURL { + t.Errorf("Expected URL %s, got %s", expectedURL, requests[0].Uri) + } +} + +// TestCookieFlowWithBuyerUID tests cookie handling when BuyerUID is present +func TestCookieFlowWithBuyerUID(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + requestJSON := `{ + "id": "test-request-cookie", + "imp": [ + { + "id": "test-imp-cookie", + "banner": { + "format": [{"w": 300, "h": 250}] + }, + "ext": { + "bidder": { + "placementId": "test-placement-cookie", + "customerId": "test-customer-cookie" + } + } + } + ], + "site": { + "id": "test-site-cookie", + "page": "https://example.com/cookie-test" + }, + "user": { + "id": "test-user-123", + "buyeruid": "contxtful-v1-eyJjdXN0b21lciI6IkNVU1RPTUVSMTIzIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCJ9LCJ2ZXJzaW9uIjoidjEifQ==" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify user data in payload + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + if user["buyeruid"] != "contxtful-v1-eyJjdXN0b21lciI6IkNVU1RPTUVSMTIzIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCJ9LCJ2ZXJzaW9uIjoidjEifQ==" { + t.Error("ortb2.user.buyeruid should be preserved") + } +} + +// TestCookieFlowWithoutBuyerUID tests cookie handling when BuyerUID is not present +func TestCookieFlowWithoutBuyerUID(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + requestJSON := `{ + "id": "test-request-no-cookie", + "imp": [ + { + "id": "test-imp-no-cookie", + "banner": { + "format": [{"w": 320, "h": 50}] + }, + "ext": { + "bidder": { + "placementId": "test-placement-no-cookie", + "customerId": "test-customer-no-cookie" + } + } + } + ], + "site": { + "id": "test-site-no-cookie", + "page": "https://example.com/no-cookie-test" + }, + "user": { + "id": "test-user-no-cookie" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + +} + +// TestORTB2HandlingWithExistingData tests generic ORTB2 data preservation using real-world payload +func TestORTB2HandlingWithExistingData(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Real-world ORTB2 payload with rich Contxtful data (anonymized) + requestJSON := `{ + "id": "46c96dbb-eb94-4661-8f82-17b026ee4fd8", + "test": 0, + "tmax": 1500, + "cur": ["USD"], + "imp": [ + { + "id": "273ad93d17f890a8", + "banner": { + "topframe": 1, + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "secure": 1, + "ext": { + "data": { + "adserver": { + "name": "gam", + "adslot": "/139271940/example>fr/example_site:header-2" + }, + "pbadslot": "/139271940/example>fr/example_site:header-2" + }, + "gpid": "/139271940/example>fr/example_site:header-2" + } + } + ], + "source": { + "ext": { + "schain": { + "ver": "1.0", + "complete": 1, + "nodes": [ + { + "asi": "contxtful.com", + "sid": "241212", + "hp": 1 + } + ] + } + } + }, + "ext": { + "prebid": { + "adServerCurrency": "USD" + } + }, + "site": { + "domain": "example.com", + "publisher": { + "domain": "example.com" + }, + "page": "https://example.com/", + "ext": { + "data": { + "documentLang": "fr-CA" + } + } + }, + "device": { + "w": 1728, + "h": 1117, + "dnt": 1, + "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", + "language": "fr", + "ext": { + "vpw": 1316, + "vph": 477 + }, + "sua": { + "source": 1, + "platform": { + "brand": "macOS" + }, + "browsers": [ + { + "brand": "Chromium", + "version": ["137"] + }, + { + "brand": "Not/A)Brand", + "version": ["24"] + } + ], + "mobile": 0 + } + }, + "user": { + "ext": { + "eids": [ + { + "source": "id5-sync.com", + "uids": [ + { + "id": "0", + "atype": 1, + "ext": { + "linkType": 0, + "pba": "QmkNifwqcX/XxmsANFijVw==" + } + } + ] + }, + { + "source": "pubcid.org", + "uids": [ + { + "id": "44609c87-de45-42d6-b024-2e159fc49df6", + "atype": 1 + } + ] + } + ] + }, + "data": [ + { + "name": "contxtful", + "ext": { + "sm": null, + "params": { + "ev": "v1", + "ci": "ABCD123456" + }, + "rx": { + "ReceptivityState": "NonReceptive", + "EclecticChinchilla": "false", + "score": "4", + "gptP": [ + { + "gpt": 1 + } + ], + "rand": 64.15681135773268 + } + }, + "segment": [ + { + "id": "NonReceptive" + } + ] + } + ] + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + // Add bidder parameters that would be injected by PBS + request.Imp[0].Ext = json.RawMessage(`{ + "bidder": { + "placementId": "test-placement-real", + "customerId": "ABCD123456" + }, + "data": { + "adserver": { + "name": "gam", + "adslot": "/139271940/example>fr/example_site:header-2" + }, + "pbadslot": "/139271940/example>fr/example_site:header-2" + }, + "gpid": "/139271940/example>fr/example_site:header-2" + }`) + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify ORTB2 data preservation + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + // Verify site data preservation (real-world structure) + site, ok := ortb2["site"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.site should be an object") + } + + if site["domain"] != "example.com" { + t.Error("ortb2.site.domain should be preserved") + } + + if site["page"] != "https://example.com/" { + t.Error("ortb2.site.page should be preserved") + } + + publisher, ok := site["publisher"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.site.publisher should be an object") + } + + if publisher["domain"] != "example.com" { + t.Error("ortb2.site.publisher.domain should be preserved") + } + + siteExt, ok := site["ext"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.site.ext should be an object") + } + + siteData, ok := siteExt["data"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.site.ext.data should be preserved") + } + + if siteData["documentLang"] != "fr-CA" { + t.Error("ortb2.site.ext.data.documentLang should be preserved") + } + + // Verify user data preservation and Contxtful data structure + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + // Verify user extensions with eids + userExt, ok := user["ext"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user.ext should be an object") + } + + eids, ok := userExt["eids"].([]interface{}) + if !ok || len(eids) < 2 { + t.Fatal("ortb2.user.ext.eids should be an array with multiple ID providers") + } + + // Check for ID5 and PubcID providers + var foundID5, foundPubcID bool + for _, eid := range eids { + eidObj, ok := eid.(map[string]interface{}) + if !ok { + continue + } + source := eidObj["source"].(string) + if source == "id5-sync.com" { + foundID5 = true + } + if source == "pubcid.org" { + foundPubcID = true + } + } + + if !foundID5 { + t.Error("ID5 external ID should be preserved") + } + if !foundPubcID { + t.Error("PubcID external ID should be preserved") + } + + // Verify Contxtful user data with rich structure + userData, ok := user["data"].([]interface{}) + if !ok { + t.Fatal("ortb2.user.data should be an array") + } + + if len(userData) != 1 { + t.Fatal("ortb2.user.data should contain exactly one Contxtful data segment") + } + + // Verify Contxtful data structure + contxtfulData, ok := userData[0].(map[string]interface{}) + if !ok { + t.Fatal("Contxtful user data should be an object") + } + + if contxtfulData["name"] != "contxtful" { + t.Error("User data should have name 'contxtful'") + } + + // Verify segments + segments, ok := contxtfulData["segment"].([]interface{}) + if !ok || len(segments) != 1 { + t.Fatal("Contxtful data should have segment array") + } + + segment := segments[0].(map[string]interface{}) + if segment["id"] != "NonReceptive" { + t.Error("Contxtful segment should be 'NonReceptive'") + } + + // Verify rich Contxtful extensions + contxtfulExt, ok := contxtfulData["ext"].(map[string]interface{}) + if !ok { + t.Fatal("Contxtful data should have ext object") + } + + // Check for params + params, ok := contxtfulExt["params"].(map[string]interface{}) + if !ok { + t.Fatal("Contxtful data should have params in ext") + } + + if params["ci"] != "ABCD123456" { + t.Error("Contxtful params should include correct customer ID (ABCD123456)") + } + + if params["ev"] != "v1" { + t.Error("Contxtful params should include correct version (v1)") + } + + // Verify receptivity data + rx, ok := contxtfulExt["rx"].(map[string]interface{}) + if !ok { + t.Fatal("Contxtful data should have rx (receptivity) object") + } + + if rx["ReceptivityState"] != "NonReceptive" { + t.Error("Receptivity state should be 'NonReceptive'") + } + + if rx["score"] != "4" { + t.Error("Receptivity score should be '4'") + } + + // Verify device data preservation (real-world structure) + device, ok := ortb2["device"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.device should be an object") + } + + if device["language"] != "fr" { + t.Error("ortb2.device.language should be preserved") + } + + if device["w"] != float64(1728) { + t.Error("ortb2.device.w should be preserved") + } + + if device["h"] != float64(1117) { + t.Error("ortb2.device.h should be preserved") + } + + // Verify SUA (Structured User Agent) data + sua, ok := device["sua"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.device.sua should be preserved") + } + + platform, ok := sua["platform"].(map[string]interface{}) + if !ok { + t.Fatal("SUA platform should be preserved") + } + + if platform["brand"] != "macOS" { + t.Error("SUA platform brand should be 'macOS'") + } + + browsers, ok := sua["browsers"].([]interface{}) + if !ok || len(browsers) < 2 { + t.Fatal("SUA browsers should be preserved") + } + + // Verify impression data preservation (without extensions) + imps, ok := ortb2["imp"].([]interface{}) + if !ok || len(imps) != 1 { + t.Fatal("ortb2.imp should be an array with one element") + } + + imp := imps[0].(map[string]interface{}) + + // Verify basic impression fields are preserved + if imp["id"] != "273ad93d17f890a8" { + t.Error("Impression ID should be preserved") + } + + if imp["secure"] != float64(1) { + t.Error("Impression secure flag should be preserved") + } + + // Verify banner object + banner, ok := imp["banner"].(map[string]interface{}) + if !ok { + t.Fatal("Impression banner should be preserved") + } + + if banner["topframe"] != float64(1) { + t.Error("Banner topframe should be preserved") + } + + // Note: Impression extensions (ext.data, ext.bidder) are correctly removed + // in the generic ORTB2 passthrough to avoid leaking bidder-specific data to the relay + + // Verify supply chain (schain) data + source, ok := ortb2["source"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.source should be preserved") + } + + sourceExt, ok := source["ext"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.source.ext should be preserved") + } + + schain, ok := sourceExt["schain"].(map[string]interface{}) + if !ok { + t.Fatal("Supply chain should be preserved") + } + + nodes, ok := schain["nodes"].([]interface{}) + if !ok || len(nodes) != 1 { + t.Fatal("Supply chain nodes should be preserved") + } + + node := nodes[0].(map[string]interface{}) + if node["asi"] != "contxtful.com" { + t.Error("Supply chain ASI should be 'contxtful.com'") + } +} + +// TestEventTrackingConfiguration tests that the adapter properly builds requests +// Note: Event tracking URLs are now injected by the Contxtful relay, not by PBS +func TestEventTrackingConfiguration(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create a video request to test that the adapter builds proper requests for relay event injection + requestJSON := `{ + "id": "test-request-events", + "imp": [ + { + "id": "test-imp-events", + "video": { + "mimes": ["video/mp4"], + "minduration": 5, + "maxduration": 30, + "protocols": [2, 3, 5, 6], + "w": 640, + "h": 480, + "startdelay": 0, + "placement": 1, + "linearity": 1, + "skip": 0, + "playbackmethod": [1, 3], + "delivery": [1], + "api": [1, 2] + }, + "ext": { + "bidder": { + "placementId": "test-placement-events", + "customerId": "test-customer-events" + } + } + } + ], + "site": { + "id": "test-site-events", + "page": "https://example.com/event-test", + "domain": "example.com" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify the request structure is properly built for relay processing + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + // Verify request structure contains necessary data for relay event injection + bidRequests, ok := payload["bidRequests"].([]interface{}) + if !ok || len(bidRequests) != 1 { + t.Fatal("bidRequests should be an array with one element") + } + + bidRequest, ok := bidRequests[0].(map[string]interface{}) + if !ok { + t.Fatal("bidRequest should be an object") + } + + // Verify bidder code is present for relay event URL generation + if bidRequest["bidder"] != "contxtful" { + t.Error("Bidder code should be 'contxtful' for relay event tracking") + } + + // Verify bid ID is present for relay event URL generation + if bidRequest["bidId"] == nil { + t.Error("Bid ID should be present for relay event tracking") + } + + // Verify ORTB2 structure contains necessary data for relay + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + imp, ok := ortb2["imp"].([]interface{}) + if !ok || len(imp) != 1 { + t.Fatal("ortb2.imp should be an array with one element") + } + + impObj, ok := imp[0].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.imp[0] should be an object") + } + + // Verify impression ID is preserved for relay event tracking + if impObj["id"] != "test-imp-events" { + t.Error("Impression ID should be preserved for relay event tracking") + } + + // Verify the adapter preserves original media type (video stays video) + video, hasVideo := impObj["video"].(map[string]interface{}) + _, hasBanner := impObj["banner"].(map[string]interface{}) + + // Should have either video or banner (depending on original request) + if !hasVideo && !hasBanner { + t.Error("Impression should preserve original media type (video or banner)") + } + + // If video was in original request, it should be preserved + if hasVideo && video == nil { + t.Error("Video object should be preserved for relay processing") + } +} + +// TestCookieSyncEndpointGeneration tests cookie sync URL generation +func TestCookieSyncEndpointGeneration(t *testing.T) { + _, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Note: User sync configuration is handled through PBS bidder-info files + // not through adapter config. This test verifies the adapter can be built + // successfully for sync scenarios. +} + +// TestBiddingProcessWithDifferentFormats tests bidding with various response formats +func TestBiddingProcessWithDifferentFormats(t *testing.T) { + tests := []struct { + name string + response string + expected bool + }{ + { + name: "Prebid.js format response", + response: `[{ + "cpm": 4.25, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "test-bid-1", + "mediaType": "banner", + "adm": "
Test Ad
", + "ttl": 300, + "creativeId": "test-creative-1", + "netRevenue": true + }]`, + expected: true, + }, + { + name: "Trace format response (should be ignored)", + response: `{ + "trace": { + "request_id": "test-trace-1", + "debug": true, + "messages": ["Debug message"] + } + }`, + expected: false, + }, + } + + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(tt.response), + } + + // Create a dummy request for the response processing + requestJSON := `{ + "id": "test-request-formats", + "imp": [{ + "id": "test-imp-formats", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "test", "customerId": "test"}} + }] + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + if tt.expected { + if len(errs) > 0 { + t.Errorf("Expected no errors, got: %v", errs) + } + if bids == nil || len(bids.Bids) == 0 { + t.Error("Expected bids to be returned") + } + } else { + // Trace responses should not generate bids + if bids != nil && len(bids.Bids) > 0 { + t.Error("Expected no bids for trace response") + } + } + }) + } +} + +// TestEventTrackingURLGeneration tests NURL and BURL event tracking URL generation +func TestEventTrackingURLGeneration(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + nurl := "https://monitoring.receptivity.io/v1/pbs/EVNT123/pbs-impression?b=contxtful-test-imp-events&a=EVNT123&bidder=contxtful&impId=test-imp-events&price=3.50&traceId=trace-abc-123&random=0.742856&domain=example.com&adRequestId=req-abc-456&w=728&h=90&f=b" + burl := "https://monitoring.receptivity.io/v1/pbs/EVNT123/pbs-billing?b=contxtful-test-imp-events&a=EVNT123&bidder=contxtful&impId=test-imp-events&price=3.50&traceId=trace-abc-123&random=0.742856&domain=example.com&adRequestId=req-abc-456&w=728&h=90&f=b" + + responseJSON := fmt.Sprintf(`[{ + "requestId": "test-imp-events", + "cpm": 3.50, + "currency": "USD", + "width": 728, + "height": 90, + "creativeId": "event-creative-1", + "adm": "
Event Tracking Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-abc-123", + "random": 0.742856, + "nurl": "%s", + "burl": "%s" + }]`, nurl, burl) + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + requestJSON := `{ + "id": "req-abc-456", + "imp": [{ + "id": "test-imp-events", + "banner": {"format": [{"w": 728, "h": 90}]}, + "ext": {"bidder": {"placementId": "event-test", "customerId": "EVNT123"}} + }], + "site": { + "domain": "example.com", + "page": "https://example.com/test-page" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + if bids == nil || len(bids.Bids) != 1 { + bidCount := 0 + if bids != nil { + bidCount = len(bids.Bids) + } + t.Fatalf("Expected 1 bid, got %d", bidCount) + } + + bid := bids.Bids[0] + + // Verify NURL (win notice URL) matches expected value exactly + if bid.Bid.NURL != nurl { + t.Errorf("NURL should be %s, got %s", nurl, bid.Bid.NURL) + } + + // Verify BURL (billing URL) matches expected value exactly + if bid.Bid.BURL != burl { + t.Errorf("BURL should be %s, got %s", burl, bid.Bid.BURL) + } +} + +// TestUserSyncWithBuyerUID tests user sync behavior when BuyerUID is present +func TestUserSyncWithBuyerUID(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + requestJSON := `{ + "id": "test-request-sync-existing", + "imp": [{ + "id": "test-imp-sync-existing", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "sync-test", "customerId": "SYNC123"}} + }], + "user": { + "buyeruid": "contxtful-v1-1234" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify payload includes user ID + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + buyerUID, ok := user["buyeruid"].(string) + if !ok || buyerUID == "" { + t.Error("User BuyerUID should be preserved in payload") + } + + if buyerUID != "contxtful-v1-1234" { + t.Errorf("Expected BuyerUID 'contxtful-v1-1234', got '%s'", buyerUID) + } +} + +// TestBuyerUIDFromPrebidMap tests reading UID from request.user.ext.prebid.buyeruids.contxtful and writing to ortb2.user.buyeruid +func TestBuyerUIDFromPrebidMap(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Test with UID in prebid buyeruids map (Priority 2 in extractUserIDForCookie) + testUID := "contxtful-v1-prebid-map-test-uid-456" + requestJSON := `{ + "id": "test-request-prebid-map", + "imp": [ + { + "id": "test-imp-prebid-map", + "banner": { + "format": [{"w": 300, "h": 250}] + }, + "ext": { + "bidder": { + "placementId": "prebid-map-test", + "customerId": "PBMAP123" + } + } + } + ], + "site": { + "id": "test-site-prebid-map", + "page": "https://example.com/prebid-map-test" + }, + "user": { + "id": "test-user-prebid-map", + "ext": { + "prebid": { + "buyeruids": { + "contxtful": "` + testUID + `" + } + } + } + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify UID from prebid buyeruids map is written to ortb2.user.buyeruid + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + buyerUID, ok := user["buyeruid"].(string) + if !ok { + t.Fatal("ortb2.user.buyeruid should be present") + } + + if buyerUID != testUID { + t.Errorf("Expected UID from prebid buyeruids map '%s' to be written to ortb2.user.buyeruid, got '%s'", testUID, buyerUID) + } +} + +// TestNoCookieHeaders tests that cookie headers are never set (we only use ortb2.user.buyeruid) +func TestNoCookieHeaders(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + testCases := []struct { + name string + requestJSON string + description string + }{ + { + name: "With standard User.BuyerUID", + requestJSON: `{ + "id": "test-no-cookie-standard", + "imp": [{"id": "test-imp", "banner": {"format": [{"w": 300, "h": 250}]}, "ext": {"bidder": {"placementId": "test-placement", "customerId": "NOCOOKIE123"}}}], + "user": {"buyeruid": "standard-buyer-uid-123"} + }`, + description: "Standard BuyerUID should not generate cookie headers", + }, + { + name: "With prebid buyeruids map", + requestJSON: `{ + "id": "test-no-cookie-prebid", + "imp": [{"id": "test-imp", "banner": {"format": [{"w": 300, "h": 250}]}, "ext": {"bidder": {"placementId": "test-placement", "customerId": "NOCOOKIE123"}}}], + "user": {"ext": {"prebid": {"buyeruids": {"contxtful": "prebid-map-uid-456"}}}} + }`, + description: "Prebid buyeruids map should not generate cookie headers", + }, + { + name: "With no user data", + requestJSON: `{ + "id": "test-no-cookie-empty", + "imp": [{"id": "test-imp", "banner": {"format": [{"w": 300, "h": 250}]}, "ext": {"bidder": {"placementId": "test-placement", "customerId": "NOCOOKIE123"}}}] + }`, + description: "No user data should not generate cookie headers", + }, + { + name: "With Base64 encoded UID", + requestJSON: `{ + "id": "test-no-cookie-base64", + "imp": [{"id": "test-imp", "banner": {"format": [{"w": 300, "h": 250}]}, "ext": {"bidder": {"placementId": "test-placement", "customerId": "NOCOOKIE123"}}}], + "user": {"buyeruid": "contxtful-v1-1234"} + }`, + description: "Base64 encoded UID should not generate cookie headers", + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(tc.requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // This is the single place where we verify no cookie headers are set + if len(requests) == 0 { + t.Fatal("No requests to check for cookie header") + } + cookieHeader := requests[0].Headers.Get("Cookie") + if cookieHeader != "" { + t.Errorf("Expected no Cookie header, got %s", cookieHeader) + } + }) + } +} + +// TestErrorHandling tests various error scenarios +func TestErrorHandling(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + tests := []struct { + name string + statusCode int + responseBody string + expectedErrors int + }{ + { + name: "HTTP 400 Error", + statusCode: 400, + responseBody: `{"error": "Bad Request"}`, + expectedErrors: 1, + }, + { + name: "HTTP 500 Error", + statusCode: 500, + responseBody: `{"error": "Internal Server Error"}`, + expectedErrors: 1, + }, + { + name: "Invalid JSON Response", + statusCode: 200, + responseBody: `{invalid json}`, + expectedErrors: 1, + }, + { + name: "Empty Response", + statusCode: 200, + responseBody: ``, + expectedErrors: 1, // Empty response should return error + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + response := &adapters.ResponseData{ + StatusCode: tt.statusCode, + Body: []byte(tt.responseBody), + } + + requestJSON := `{ + "id": "test-request-error", + "imp": [{ + "id": "test-imp-error", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "error-test", "customerId": "ERROR123"}} + }] + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + if len(errs) != tt.expectedErrors { + t.Errorf("Expected %d errors, got %d: %v", tt.expectedErrors, len(errs), errs) + } + + // For error cases, we shouldn't get any bids + if tt.statusCode >= 400 && bids != nil && len(bids.Bids) > 0 { + t.Error("Should not return bids on HTTP error") + } + }) + } +} + +// Helper function to check if a string contains a substring +func contains(s, substr string) bool { + return len(s) >= len(substr) && (s == substr || len(s) > len(substr) && + (s[:len(substr)] == substr || s[len(s)-len(substr):] == substr || + findSubstring(s, substr))) +} + +func findSubstring(s, substr string) bool { + for i := 0; i <= len(s)-len(substr); i++ { + if s[i:i+len(substr)] == substr { + return true + } + } + return false +} + +// TestBase64PartnerUIDHandling tests the new Base64 encoded partner UID functionality +func TestBase64PartnerUIDHandling(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Test with Base64 encoded UID containing multiple partner UIDs + // This simulates what the relay would create after syncing with multiple partners + encodedUID := "contxtful-v1-eyJjdXN0b21lciI6IkNVU1RPTUVSMTIzIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtMTczNDU2Nzg5MC1hYmMxMjMiLCJzbWFhdG8iOiJzbWFhdG8tMTczNDU2Nzg5MC1kZWY0NTYiLCJpbWRzIjoiaW1kcy0xNzM0NTY3ODkwLWdoaTc4OSJ9LCJ2ZXJzaW9uIjoidjEifQ==" + + requestJSON := `{ + "id": "test-request-base64-uid", + "imp": [{ + "id": "test-imp-base64-uid", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "base64-test", "customerId": "CUSTOMER123"}} + }], + "user": { + "id": "test-user-base64", + "buyeruid": "` + encodedUID + `" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify the Base64 encoded UID is passed through correctly + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + buyerUID, ok := user["buyeruid"].(string) + if !ok || buyerUID == "" { + t.Error("User BuyerUID should be preserved in payload") + } + + if buyerUID != encodedUID { + t.Errorf("Expected encoded UID to be preserved, got '%s'", buyerUID) + } + + // Verify endpoint URL uses correct customer ID + expectedURL := "https://prebid.receptivity.io/v1/pbs/CUSTOMER123/bid" + if requests[0].Uri != expectedURL { + t.Errorf("Expected URL %s, got %s", expectedURL, requests[0].Uri) + } +} + +// TestBase64UIDVersioning tests different versions of Base64 encoded UIDs +func TestBase64UIDVersioning(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + testCases := []struct { + name string + version string + encodedUID string + expectError bool + }{ + { + name: "Version 1 UID", + version: "v1", + encodedUID: "contxtful-v1-eyJjdXN0b21lciI6IlRFU1RDVVNUIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCJ9LCJ2ZXJzaW9uIjoidjEifQ==", + expectError: false, + }, + { + name: "Version 1 UID (current)", + version: "v1", + encodedUID: "contxtful-v1-eyJjdXN0b21lciI6IlRFU1RDVVNUIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCIsInNtYWF0byI6InNtYWF0by10ZXN0In0sInZlcnNpb24iOiJ2MSJ9", + expectError: false, + }, + { + name: "Future Version v2 UID", + version: "v2", + encodedUID: "contxtful-v2-eyJjdXN0b21lciI6IlRFU1RDVVNUIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCIsInNtYWF0byI6InNtYWF0by10ZXN0In0sInZlcnNpb24iOiJ2MiJ9", + expectError: false, // PBS adapter should pass through any version + }, + { + name: "Future Version v3 UID", + version: "v3", + encodedUID: "contxtful-v3-eyJjdXN0b21lciI6IlRFU1RDVVNUIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCJ9LCJ2ZXJzaW9uIjoidjMifQ==", + expectError: false, // PBS adapter should pass through any version + }, + { + name: "Legacy Format (passthrough - no validation)", + version: "legacy", + encodedUID: "contxtful-TESTCUST-1734567890-abc123", + expectError: false, // Passthrough approach - no validation, relay handles format + }, + { + name: "Old Format with Customer (passthrough - no validation)", + version: "old", + encodedUID: "contxtful-v2-TESTCUST-eyJjdXN0b21lciI6IlRFU1RDVVNUIiwidGltZXN0YW1wIjoxNzM0NTY3ODkwMDAwLCJwYXJ0bmVycyI6eyJhbXgiOiJhbXgtdGVzdCJ9LCJ2ZXJzaW9uIjoidjIifQ==", + expectError: false, // Passthrough approach - no validation, relay handles format + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + requestJSON := `{ + "id": "test-request-versioning", + "imp": [{ + "id": "test-imp-versioning", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "version-test", "customerId": "TESTCUST"}} + }], + "user": { + "buyeruid": "` + tc.encodedUID + `" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if tc.expectError { + if len(errs) == 0 { + t.Errorf("Expected error for %s, but got none", tc.name) + } + return + } + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned unexpected errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify the versioned UID is passed through correctly + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + buyerUID, ok := user["buyeruid"].(string) + if !ok || buyerUID != tc.encodedUID { + t.Errorf("Expected UID %s to be preserved, got %s", tc.encodedUID, buyerUID) + } + }) + } +} + +// TestMultiPartnerUIDSize tests that the adapter handles large Base64 UIDs with many partners +func TestMultiPartnerUIDSize(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Simulate a large Base64 UID with 20 partners + // This tests the size limits and ensures the adapter can handle realistic scenarios + largeUID := "contxtful-v1-eyJjdXN0b21lciI6IkxBUkdFQ1VTVCIsInRpbWVzdGFtcCI6MTczNDU2Nzg5MDAwMCwicGFydG5lcnMiOnsiYW14IjoiYW14LTE3MzQ1Njc4OTAtYWJjMTIzIiwic21hYXRvIjoic21hYXRvLTE3MzQ1Njc4OTAtZGVmNDU2IiwiaW1kcyI6ImltZHMtMTczNDU2Nzg5MC1naGk3ODkiLCJwdWJtYXRpYyI6InB1Ym1hdGljLTE3MzQ1Njc4OTAtamtsMDEyIiwiaXgiOiJpeC0xNzM0NTY3ODkwLW1ubzM0NSIsIm9wZW54Ijoib3BlbngtMTczNDU2Nzg5MC1wcXI2NzgiLCJydWJpY29uIjoicnViaWNvbi0xNzM0NTY3ODkwLXN0dTkwMSIsImFwcG5leHVzIjoiYXBwbmV4dXMtMTczNDU2Nzg5MC12d3gyMzQiLCJjcml0ZW8iOiJjcml0ZW8tMTczNDU2Nzg5MC15ejU2NyIsImtpZG96Ijoia2lkb3otMTczNDU2Nzg5MC1hYmM4OTAiLCJtZ2lkIjoibWdpZC0xNzM0NTY3ODkwLWRlZjEyMyIsInVuaXJ1bHkiOiJ1bmlydWx5LTE3MzQ1Njc4OTAtZ2hpNDU2IiwidmlkYXp5IjoidmlkYXp5LTE3MzQ1Njc4OTAtamtsMTIzIiwiYWRmIjoiYWRmLTE3MzQ1Njc4OTAtbW5vNDU2IiwiYmVhY2hmcm9udCI6ImJlYWNoZnJvbnQtMTczNDU2Nzg5MC1wcXI3ODkiLCJlcGxhbm5pbmciOiJlcGxhbm5pbmctMTczNDU2Nzg5MC1zdHUwMTIiLCJncmlkIjoiZ3JpZC0xNzM0NTY3ODkwLXZ3eDM0NSIsImh1YXdlaWFkcyI6Imh1YXdlaWFkcy0xNzM0NTY3ODkwLXl6NTY3OCIsImltcHJvdmVkaWdpdGFsIjoiaW1wcm92ZWRpZ2l0YWwtMTczNDU2Nzg5MC1hYmM5MDEiLCJzbWFydGFkc2VydmVyIjoic21hcnRhZHNlcnZlci0xNzM0NTY3ODkwLWRlZjIzNCJ9LCJ2ZXJzaW9uIjoidjEifQ==" + + // Verify the UID is under cookie size limits (4KB) + if len(largeUID) > 4096 { + t.Errorf("Large UID size %d bytes exceeds cookie limit of 4096 bytes", len(largeUID)) + } + + requestJSON := `{ + "id": "test-request-large-uid", + "imp": [{ + "id": "test-imp-large-uid", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "large-uid-test", "customerId": "LARGECUST"}} + }], + "user": { + "buyeruid": "` + largeUID + `" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Verify the large UID is handled correctly in ortb2.user.buyeruid + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + user, ok := ortb2["user"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.user should be an object") + } + + buyerUID, ok := user["buyeruid"].(string) + if !ok || buyerUID != largeUID { + t.Error("Large UID should be preserved in ortb2.user.buyeruid") + } +} + +// TestPrebidJSEventTrackingURLGeneration tests NURL and BURL event tracking URL generation for Prebid.js format responses +func TestPrebidJSEventTrackingURLGeneration(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Test with Prebid.js format response (with tracking fields from relay) + nurl := "https://monitoring.receptivity.io/v1/pbs/PJSEVNT123/pbs-impression?b=contxtful-test-prebidjs-events&a=PJSEVNT123&bidder=contxtful&impId=test-prebidjs-events&price=2.75&traceId=prebidjs-trace-abc-789&random=0.654321&domain=prebidjs.example.com&adRequestId=prebidjs-req-456&w=300&h=250&f=b" + burl := "https://monitoring.receptivity.io/v1/pbs/PJSEVNT123/pbs-billing?b=contxtful-test-prebidjs-events&a=PJSEVNT123&bidder=contxtful&impId=test-prebidjs-events&price=2.75&traceId=prebidjs-trace-abc-789&random=0.654321&domain=prebidjs.example.com&adRequestId=prebidjs-req-456&w=300&h=250&f=b" + + responseJSON := fmt.Sprintf(`[{ + "cpm": 2.75, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "test-prebidjs-events", + "adm": "
Prebid.js Event Tracking Test Ad
", + "ttl": 300, + "creativeId": "prebidjs-creative-1", + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "prebidjs-trace-abc-789", + "random": 0.654321, + "nurl": "%s", + "burl": "%s" + }]`, nurl, burl) + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + requestJSON := `{ + "id": "prebidjs-req-456", + "imp": [{ + "id": "test-prebidjs-events", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "prebidjs-test", "customerId": "PJSEVNT123"}} + }], + "site": { + "domain": "prebidjs.example.com", + "page": "https://prebidjs.example.com/test-page" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + if bids == nil || len(bids.Bids) != 1 { + bidCount := 0 + if bids != nil { + bidCount = len(bids.Bids) + } + t.Fatalf("Expected 1 bid, got %d", bidCount) + } + + bid := bids.Bids[0] + + // Verify NURL (win notice URL) is set with enhanced parameters + if bid.Bid.NURL == "" { + t.Error("NURL should be set for Prebid.js response event tracking") + } else { + // Verify NURL contains all critical logging parameters + if !contains(bid.Bid.NURL, "pbs-impression") { + t.Error("NURL should contain t=win parameter") + } + if !contains(bid.Bid.NURL, "a=PJSEVNT123") { + t.Error("NURL should contain customer parameter (a=PJSEVNT123)") + } + if !contains(bid.Bid.NURL, "bidder=contxtful") { + t.Error("NURL should contain bidder=contxtful parameter") + } + if !contains(bid.Bid.NURL, "domain=prebidjs.example.com") { + t.Error("NURL should contain domain=prebidjs.example.com parameter") + } + if !contains(bid.Bid.NURL, "traceId=prebidjs-trace-abc-789") { + t.Error("NURL should contain traceId=prebidjs-trace-abc-789 parameter (real tracking data)") + } + if !contains(bid.Bid.NURL, "adRequestId=prebidjs-req-456") { + t.Error("NURL should contain adRequestId=prebidjs-req-456 parameter") + } + if !contains(bid.Bid.NURL, "random=0.654321") { + t.Error("NURL should contain random=0.654321 parameter (real tracking data)") + } + if !contains(bid.Bid.NURL, "impId=test-prebidjs-events") { + t.Error("NURL should contain impId=test-prebidjs-events parameter") + } + if !contains(bid.Bid.NURL, "price=2.75") { + t.Error("NURL should contain price=2.75 parameter") + } + if !contains(bid.Bid.NURL, "w=300") { + t.Error("NURL should contain w=300 parameter") + } + if !contains(bid.Bid.NURL, "h=250") { + t.Error("NURL should contain h=250 parameter") + } + } + + // Verify BURL (billing URL) is set with enhanced parameters + if bid.Bid.BURL == "" { + t.Error("BURL should be set for Prebid.js response event tracking") + } else { + // Verify BURL contains all critical logging parameters + if !contains(bid.Bid.BURL, "pbs-billing") { + t.Error("BURL should contain t=billing parameter") + } + if !contains(bid.Bid.BURL, "a=PJSEVNT123") { + t.Error("BURL should contain customer parameter (a=PJSEVNT123)") + } + if !contains(bid.Bid.BURL, "bidder=contxtful") { + t.Error("BURL should contain bidder=contxtful parameter") + } + if !contains(bid.Bid.BURL, "domain=prebidjs.example.com") { + t.Error("BURL should contain domain=prebidjs.example.com parameter") + } + if !contains(bid.Bid.BURL, "traceId=prebidjs-trace-abc-789") { + t.Error("BURL should contain traceId=prebidjs-trace-abc-789 parameter (real tracking data)") + } + if !contains(bid.Bid.BURL, "adRequestId=prebidjs-req-456") { + t.Error("BURL should contain adRequestId=prebidjs-req-456 parameter") + } + if !contains(bid.Bid.BURL, "random=0.654321") { + t.Error("BURL should contain random=0.654321 parameter (real tracking data)") + } + if !contains(bid.Bid.BURL, "impId=test-prebidjs-events") { + t.Error("BURL should contain impId=test-prebidjs-events parameter") + } + if !contains(bid.Bid.BURL, "price=2.75") { + t.Error("BURL should contain price=2.75 parameter") + } + if !contains(bid.Bid.BURL, "w=300") { + t.Error("BURL should contain w=300 parameter") + } + if !contains(bid.Bid.BURL, "h=250") { + t.Error("BURL should contain h=250 parameter") + } + } +} + +// TestPrebidJSHybridEventTrackingURLGeneration tests enhanced PrebidJS responses with tracking fields +func TestPrebidJSHybridEventTrackingURLGeneration(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Test with hybrid PrebidJS format response (has BOTH PrebidJS fields AND tracking fields) + responseJSON := `[{ + "cpm": 3.25, + "width": 728, + "height": 90, + "currency": "USD", + "requestId": "test-hybrid-events", + "adm": "
Hybrid PrebidJS Event Tracking Test Ad
", + "ttl": 300, + "creativeId": "hybrid-creative-1", + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "hybrid-abc-456-def", + "random": 0.9876543, + "nurl": "https://monitoring.receptivity.io/v1/pbs/HYBEVNT123/pbs-impression?b=contxtful-test-hybrid-events&a=HYBEVNT123&bidder=contxtful&impId=test-hybrid-events&price=3.25&traceId=hybrid-abc-456-def&random=0.987654&domain=hybrid.example.com&adRequestId=hybrid-req-789&w=728&h=90&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/HYBEVNT123/pbs-billing?b=contxtful-test-hybrid-events&a=HYBEVNT123&bidder=contxtful&impId=test-hybrid-events&price=3.25&traceId=hybrid-abc-456-def&random=0.987654&domain=hybrid.example.com&adRequestId=hybrid-req-789&w=728&h=90&f=b" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + requestJSON := `{ + "id": "hybrid-req-789", + "imp": [{ + "id": "test-hybrid-events", + "banner": {"format": [{"w": 728, "h": 90}]}, + "ext": {"bidder": {"placementId": "hybrid-test", "customerId": "HYBEVNT123"}} + }], + "site": { + "domain": "hybrid.example.com", + "page": "https://hybrid.example.com/test-page" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + if bids == nil || len(bids.Bids) != 1 { + bidCount := 0 + if bids != nil { + bidCount = len(bids.Bids) + } + t.Fatalf("Expected 1 bid, got %d", bidCount) + } + + bid := bids.Bids[0] + + // Verify NURL uses REAL tracking values (not fallbacks) + if bid.Bid.NURL == "" { + t.Error("NURL should be set for hybrid PrebidJS response event tracking") + } else { + // Verify NURL contains REAL tracking values (not fallbacks) + if !contains(bid.Bid.NURL, "traceId=hybrid-abc-456-def") { + t.Error("NURL should contain REAL traceId=hybrid-abc-456-def (not fallback 'unknown')") + } + if !contains(bid.Bid.NURL, "random=0.987654") { + t.Error("NURL should contain REAL random=0.987654 (not fallback '0.500000')") + } + if !contains(bid.Bid.NURL, "pbs-impression") { + t.Error("NURL should contain t=win parameter") + } + if !contains(bid.Bid.NURL, "a=HYBEVNT123") { + t.Error("NURL should contain customer parameter (a=HYBEVNT123)") + } + if !contains(bid.Bid.NURL, "domain=hybrid.example.com") { + t.Error("NURL should contain domain=hybrid.example.com parameter") + } + if !contains(bid.Bid.NURL, "price=3.25") { + t.Error("NURL should contain price=3.25 parameter") + } + } + + // Verify BURL uses REAL tracking values (not fallbacks) + if bid.Bid.BURL == "" { + t.Error("BURL should be set for hybrid PrebidJS response event tracking") + } else { + // Verify BURL contains REAL tracking values (not fallbacks) + if !contains(bid.Bid.BURL, "traceId=hybrid-abc-456-def") { + t.Error("BURL should contain REAL traceId=hybrid-abc-456-def (not fallback 'unknown')") + } + if !contains(bid.Bid.BURL, "random=0.987654") { + t.Error("BURL should contain REAL random=0.987654 (not fallback '0.500000')") + } + if !contains(bid.Bid.BURL, "pbs-billing") { + t.Error("BURL should contain t=billing parameter") + } + if !contains(bid.Bid.BURL, "a=HYBEVNT123") { + t.Error("BURL should contain customer parameter (a=HYBEVNT123)") + } + if !contains(bid.Bid.BURL, "domain=hybrid.example.com") { + t.Error("BURL should contain domain=hybrid.example.com parameter") + } + if !contains(bid.Bid.BURL, "price=3.25") { + t.Error("BURL should contain price=3.25 parameter") + } + } +} + +// TestResponseFormatDetectionPriority tests the priority and accuracy of response format detection +func TestResponseFormatDetectionPriority(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create a dummy request for testing + requestJSON := `{ + "id": "format-detection-test", + "imp": [{ + "id": "test-imp-format", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "format-test", "customerId": "FMTTEST"}} + }] + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + testCases := []struct { + name string + responseBody string + expectedFormat string + expectedBids int + expectedError bool + validateContent func(*testing.T, *adapters.BidderResponse) + }{ + { + name: "PrebidJS Format with Real Tracking", + responseBody: `[{ + "cpm": 2.50, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "test-prebidjs-pure", + "mediaType": "banner", + "adm": "
Pure PrebidJS Ad
", + "ttl": 300, + "creativeId": "pure-creative", + "netRevenue": true, + "traceId": "pure-detection-trace-xyz", + "random": 0.333777, + "nurl": "https://monitoring.receptivity.io/v1/pbs/FMTTEST/pbs-impression?b=contxtful-test-prebidjs-pure&a=FMTTEST&bidder=contxtful&impId=test-prebidjs-pure&price=2.50&traceId=pure-detection-trace-xyz&random=0.333777&domain=&adRequestId=format-detection-test&w=300&h=250&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/FMTTEST/pbs-billing?b=contxtful-test-prebidjs-pure&a=FMTTEST&bidder=contxtful&impId=test-prebidjs-pure&price=2.50&traceId=pure-detection-trace-xyz&random=0.333777&domain=&adRequestId=format-detection-test&w=300&h=250&f=b" + }]`, + expectedFormat: "PrebidJS", + expectedBids: 1, + expectedError: false, + validateContent: func(t *testing.T, bids *adapters.BidderResponse) { + if len(bids.Bids) != 1 { + t.Errorf("Expected 1 bid, got %d", len(bids.Bids)) + return + } + // Should use real tracking values from response + nurl := bids.Bids[0].Bid.NURL + if !contains(nurl, "traceId=pure-detection-trace-xyz") { + t.Error("PrebidJS should use real traceId=pure-detection-trace-xyz") + } + if !contains(nurl, "random=0.333777") { + t.Error("PrebidJS should use real random=0.333777") + } + }, + }, + { + name: "Hybrid PrebidJS Format (with tracking fields) - Should be detected as PrebidJS", + responseBody: `[{ + "cpm": 3.75, + "width": 728, + "height": 90, + "currency": "USD", + "requestId": "test-hybrid-format", + "mediaType": "banner", + "adm": "
Hybrid PrebidJS Ad with Tracking
", + "ttl": 300, + "creativeId": "hybrid-creative", + "netRevenue": true, + "traceId": "hybrid-trace-123-abc", + "random": 0.8765432, + "nurl": "https://monitoring.receptivity.io/v1/pbs/FMTTEST/pbs-impression?b=contxtful-test-hybrid-format&a=FMTTEST&bidder=contxtful&impId=test-hybrid-format&price=3.75&traceId=hybrid-trace-123-abc&random=0.876543&domain=&adRequestId=format-detection-test&w=728&h=90&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/FMTTEST/pbs-billing?b=contxtful-test-hybrid-format&a=FMTTEST&bidder=contxtful&impId=test-hybrid-format&price=3.75&traceId=hybrid-trace-123-abc&random=0.876543&domain=&adRequestId=format-detection-test&w=728&h=90&f=b" + }]`, + expectedFormat: "PrebidJS", + expectedBids: 1, + expectedError: false, + validateContent: func(t *testing.T, bids *adapters.BidderResponse) { + if len(bids.Bids) != 1 { + t.Errorf("Expected 1 bid, got %d", len(bids.Bids)) + return + } + // Should use REAL tracking values from response + nurl := bids.Bids[0].Bid.NURL + if !contains(nurl, "traceId=hybrid-trace-123-abc") { + t.Error("Hybrid PrebidJS should use REAL traceId=hybrid-trace-123-abc") + } + if !contains(nurl, "random=0.876543") { + t.Error("Hybrid PrebidJS should use REAL random=0.876543") + } + if contains(nurl, "traceId=unknown") { + t.Error("Hybrid PrebidJS should NOT use fallback traceId") + } + }, + }, + { + name: "Trace-only Response (no bids)", + responseBody: `[{ + "traceId": "trace-only-789-ghi", + "random": 0.9999999, + "bids": [] + }]`, + expectedFormat: "Trace", + expectedBids: 0, + expectedError: false, + validateContent: func(t *testing.T, bids *adapters.BidderResponse) { + if len(bids.Bids) != 0 { + t.Errorf("Expected 0 bids for trace-only response, got %d", len(bids.Bids)) + } + }, + }, + { + name: "Malformed PrebidJS (missing required fields)", + responseBody: `[{ + "cpm": 1.50, + "currency": "USD" + }]`, + expectedFormat: "Error", + expectedBids: 0, + expectedError: false, + validateContent: func(t *testing.T, bids *adapters.BidderResponse) { + // Should not generate bids for malformed response + if bids != nil && len(bids.Bids) > 0 { + t.Error("Should not generate bids for malformed PrebidJS response") + } + }, + }, + { + name: "Invalid JSON", + responseBody: `{invalid json syntax`, + expectedFormat: "Error", + expectedBids: 0, + expectedError: true, + validateContent: func(t *testing.T, bids *adapters.BidderResponse) { + if bids != nil && len(bids.Bids) > 0 { + t.Error("Should not generate bids for invalid JSON") + } + }, + }, + { + name: "Empty Response", + responseBody: `[]`, + expectedFormat: "Error", + expectedBids: 0, + expectedError: true, + validateContent: func(t *testing.T, bids *adapters.BidderResponse) { + if bids != nil && len(bids.Bids) > 0 { + t.Error("Should not generate bids for empty response") + } + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(tc.responseBody), + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + // Validate error expectations + if tc.expectedError { + if len(errs) == 0 { + t.Errorf("Expected errors for %s, but got none", tc.name) + } + } else { + if len(errs) > 0 { + t.Errorf("Unexpected errors for %s: %v", tc.name, errs) + } + } + + // Validate bid count + actualBids := 0 + if bids != nil { + actualBids = len(bids.Bids) + } + if actualBids != tc.expectedBids { + t.Errorf("Expected %d bids, got %d", tc.expectedBids, actualBids) + } + + // Run custom validation + if tc.validateContent != nil && bids != nil { + tc.validateContent(t, bids) + } + }) + } +} + +// TestTrackingValuePropagation tests that tracking values correctly flow from responses to event URLs +func TestTrackingValuePropagation(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Test with comprehensive tracking data + testCases := []struct { + name string + responseBody string + requestID string + domain string + customer string + expectedValues map[string]string + }{ + { + name: "Hybrid PrebidJS with Tracking", + responseBody: `[{ + "cpm": 3.25, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "tracking-imp-2", + "mediaType": "banner", + "adm": "
Hybrid Tracking Ad
", + "ttl": 300, + "creativeId": "hybrid-tracking-creative", + "netRevenue": true, + "traceId": "hybrid-trace-def-456", + "random": 0.123456789, + "nurl": "https://monitoring.receptivity.io/v1/pbs/HYBRID123/pbs-impression?b=contxtful-tracking-imp-2&a=HYBRID123&bidder=contxtful&impId=tracking-imp-2&price=3.25&traceId=hybrid-trace-def-456&random=0.123457&domain=hybrid.tracking.com&adRequestId=hybrid-tracking-request-456&w=300&h=250&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/HYBRID123/pbs-billing?b=contxtful-tracking-imp-2&a=HYBRID123&bidder=contxtful&impId=tracking-imp-2&price=3.25&traceId=hybrid-trace-def-456&random=0.123457&domain=hybrid.tracking.com&adRequestId=hybrid-tracking-request-456&w=300&h=250&f=b" + }]`, + requestID: "hybrid-tracking-request-456", + domain: "hybrid.tracking.com", + customer: "HYBRID123", + expectedValues: map[string]string{ + "traceId": "hybrid-trace-def-456", + "random": "0.123457", // Note: formatted with 6 decimal places + "adRequestId": "hybrid-tracking-request-456", + "domain": "hybrid.tracking.com", + "a": "HYBRID123", + "price": "3.25", + "w": "300", + "h": "250", + "impId": "tracking-imp-2", + }, + }, + { + name: "PrebidJS with Real Tracking Data", + responseBody: `[{ + "cpm": 1.85, + "width": 320, + "height": 50, + "currency": "USD", + "requestId": "tracking-imp-3", + "mediaType": "banner", + "adm": "
Pure PrebidJS Ad
", + "ttl": 300, + "creativeId": "pure-creative", + "netRevenue": true, + "traceId": "pure-trace-ghi-789", + "random": 0.444555, + "nurl": "https://monitoring.receptivity.io/v1/pbs/PURE123/pbs-impression?b=contxtful-tracking-imp-3&a=PURE123&bidder=contxtful&impId=tracking-imp-3&price=1.85&traceId=pure-trace-ghi-789&random=0.444555&domain=pure.tracking.com&adRequestId=pure-tracking-request-789&w=320&h=50&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/PURE123/pbs-billing?b=contxtful-tracking-imp-3&a=PURE123&bidder=contxtful&impId=tracking-imp-3&price=1.85&traceId=pure-trace-ghi-789&random=0.444555&domain=pure.tracking.com&adRequestId=pure-tracking-request-789&w=320&h=50&f=b" + }]`, + requestID: "pure-tracking-request-789", + domain: "pure.tracking.com", + customer: "PURE123", + expectedValues: map[string]string{ + "traceId": "pure-trace-ghi-789", // Real tracking data + "random": "0.444555", // Real tracking data + "adRequestId": "pure-tracking-request-789", + "domain": "pure.tracking.com", + "a": "PURE123", + "price": "1.85", + "w": "320", + "h": "50", + "impId": "tracking-imp-3", + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + requestJSON := fmt.Sprintf(`{ + "id": "%s", + "imp": [{ + "id": "%s", + "banner": {"format": [{"w": %s, "h": %s}]}, + "ext": {"bidder": {"placementId": "tracking-test", "customerId": "%s"}} + }], + "site": { + "domain": "%s", + "page": "https://%s/test-page" + } + }`, tc.requestID, tc.expectedValues["impId"], tc.expectedValues["w"], tc.expectedValues["h"], tc.customer, tc.domain, tc.domain) + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(tc.responseBody), + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + if bids == nil || len(bids.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bids.Bids)) + } + + bid := bids.Bids[0] + + // Validate NURL contains all expected tracking values + if bid.Bid.NURL == "" { + t.Fatal("NURL should be set") + } + + for key, expectedValue := range tc.expectedValues { + expectedParam := fmt.Sprintf("%s=%s", key, expectedValue) + if !contains(bid.Bid.NURL, expectedParam) { + t.Errorf("NURL should contain %s", expectedParam) + } + } + + // Validate BURL contains all expected tracking values + if bid.Bid.BURL == "" { + t.Fatal("BURL should be set") + } + + for key, expectedValue := range tc.expectedValues { + expectedParam := fmt.Sprintf("%s=%s", key, expectedValue) + if !contains(bid.Bid.BURL, expectedParam) { + t.Errorf("BURL should contain %s", expectedParam) + } + } + + // Verify event type differences + if !contains(bid.Bid.NURL, "pbs-impression") { + t.Error("NURL should contain t=win") + } + if !contains(bid.Bid.BURL, "pbs-billing") { + t.Error("BURL should contain t=billing") + } + }) + } +} + +// TestResponseFormatEdgeCases tests edge cases and error scenarios in response format detection +func TestResponseFormatEdgeCases(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + requestJSON := `{ + "id": "edge-case-test", + "imp": [{ + "id": "edge-case-imp", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "edge-test", "customerId": "EDGE123"}} + }] + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + testCases := []struct { + name string + responseBody string + statusCode int + expectedBids int + expectedErrors int + description string + }{ + { + name: "Partial PrebidJS (missing ad field)", + responseBody: `[{ + "cpm": 2.50, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "partial-prebidjs" + }]`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 1, + description: "Should fail when required PrebidJS fields are missing", + }, + { + name: "Empty bids array in relay format", + responseBody: `[{ + "traceId": "empty-relay-trace", + "random": 0.5, + "bids": [] + }]`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 0, + description: "Should handle empty bids array gracefully", + }, + { + name: "Mixed valid and invalid bids in PrebidJS", + responseBody: `[ + { + "cpm": 2.50, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "valid-bid", + "mediaType": "banner", + "adm": "
Valid Ad
", + "ttl": 300, + "creativeId": "valid-creative", + "netRevenue": true + }, + { + "cpm": 0, + "requestId": "invalid-bid" + } + ]`, + statusCode: 200, + expectedBids: 1, + expectedErrors: 0, + description: "Should process valid bids and ignore invalid ones", + }, + { + name: "Relay format with tracking but no bids array", + responseBody: `[{ + "traceId": "no-bids-trace-123", + "random": 0.777777 + }]`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 0, + description: "Should handle tracking data without bids array gracefully (trace data)", + }, + { + name: "HTTP Error Response", + responseBody: `{"error": "Internal Server Error"}`, + statusCode: 500, + expectedBids: 0, + expectedErrors: 1, + description: "Should handle HTTP errors gracefully", + }, + { + name: "Very Large Response", + responseBody: func() string { + // Generate a response with many bids to test size handling + var bids []string + for i := 0; i < 100; i++ { + bid := fmt.Sprintf(`{ + "cpm": %d.25, + "width": 300, + "height": 250, + "currency": "USD", + "requestId": "large-bid-%d", + "mediaType": "banner", + "adm": "
Large Response Bid %d
", + "ttl": 300, + "creativeId": "large-creative-%d", + "netRevenue": true + }`, i+1, i, i, i) + bids = append(bids, bid) + } + return "[" + strings.Join(bids, ",") + "]" + }(), + statusCode: 200, + expectedBids: 100, + expectedErrors: 0, + description: "Should handle large responses with many bids", + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + response := &adapters.ResponseData{ + StatusCode: tc.statusCode, + Body: []byte(tc.responseBody), + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + // Validate error count + if len(errs) != tc.expectedErrors { + t.Errorf("Expected %d errors, got %d: %v", tc.expectedErrors, len(errs), errs) + } + + // Validate bid count + actualBids := 0 + if bids != nil { + actualBids = len(bids.Bids) + } + if actualBids != tc.expectedBids { + t.Errorf("Expected %d bids, got %d", tc.expectedBids, actualBids) + } + + }) + } +} + +// TestEventURLGeneration tests comprehensive event URL parameter inclusion +func TestEventURLGeneration(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create request with comprehensive tracking parameters + requestJSON := `{ + "id": "event-url-test", + "imp": [{ + "id": "test-imp-event", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": { + "bidder": { + "placementId": "12345", + "customerId": "EVNTTEST123" + } + } + }], + "site": {"domain": "example.com"}, + "ext": { + "trace": "event-trace-789", + "prebid": { + "adRequestId": "req-abc-123" + } + } + }` + + var request openrtb2.BidRequest + if err := jsonutil.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal request: %v", err) + } + + // Test Case 1: PrebidJS response with comprehensive tracking + responseJSON := `[{ + "requestId": "test-imp-event", + "cpm": 1.25, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "test-creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "event-trace-789", + "random": 0.123456789, + "nurl": "https://monitoring.receptivity.io/v1/pbs/EVNTTEST123/pbs-impression?b=contxtful-test-imp-event&a=EVNTTEST123&bidder=contxtful&impId=test-imp-event&price=1.25&traceId=event-trace-789&random=0.123457&domain=example.com&adRequestId=event-url-test&w=300&h=250&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/EVNTTEST123/pbs-billing?b=contxtful-test-imp-event&a=EVNTTEST123&bidder=contxtful&impId=test-imp-event&price=1.25&traceId=event-trace-789&random=0.123457&domain=example.com&adRequestId=event-url-test&w=300&h=250&f=b" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + bidResponse, errs := bidder.MakeBids(&request, nil, response) + + if len(errs) != 0 { + t.Fatalf("Expected no errors, got %v", errs) + } + + if len(bidResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidResponse.Bids)) + } + + bid := bidResponse.Bids[0] + + // Validate NURL contains all required parameters + expectedParams := []string{ + "domain=example.com", + "traceId=event-trace-789", + "adRequestId=event-url-test", // Uses bid request ID as fallback + "random=0.123457", // Truncated in URL format + "bidder=contxtful", + "a=EVNTTEST123", // Customer ID parameter + "impId=test-imp-event", // Impression ID parameter + "f=b", + "price=1.25", // Relay format provides price in bid data + } + + for _, param := range expectedParams { + if !strings.Contains(bid.Bid.NURL, param) { + t.Errorf("NURL missing parameter: %s\nActual NURL: %s", param, bid.Bid.NURL) + } + } + + // Validate BURL contains billing parameters + expectedBillingParams := []string{ + "f=b", + "bidder=contxtful", + "a=EVNTTEST123", // Customer ID parameter + } + + for _, param := range expectedBillingParams { + if !strings.Contains(bid.Bid.BURL, param) { + t.Errorf("BURL missing parameter: %s\nActual BURL: %s", param, bid.Bid.BURL) + } + } +} + +// TestBidRejectionScenarios tests various scenarios that should result in bid rejection +func TestBidRejectionScenarios(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + requestJSON := `{ + "id": "rejection-test", + "imp": [{ + "id": "test-imp-reject", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": { + "bidder": { + "placementId": "12345", + "customerId": "REJECTTEST123" + } + } + }] + }` + + var request openrtb2.BidRequest + if err := jsonutil.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal request: %v", err) + } + + testCases := []struct { + name string + responseBody string + statusCode int + expectedBids int + expectedErrors int + description string + }{ + { + name: "Relay response with no bids array", + responseBody: `[{ + "traceId": "no-bids-trace", + "random": 0.5 + }]`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 0, + description: "Should handle tracking-only response gracefully", + }, + { + name: "Relay response with empty bids array", + responseBody: `[{ + "traceId": "empty-bids-trace", + "random": 0.5, + "bids": [] + }]`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 0, + description: "Should handle empty bids array gracefully", + }, + { + name: "Invalid JSON response", + responseBody: `{invalid json}`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 1, + description: "Should handle malformed JSON with error", + }, + { + name: "HTTP error response", + responseBody: `{"error": "Server error"}`, + statusCode: 500, + expectedBids: 0, + expectedErrors: 1, + description: "Should handle HTTP errors properly", + }, + { + name: "PrebidJS response with missing required fields", + responseBody: `{ + "id": "test", + "seatbid": [{ + "bid": [{ + "id": "bid1" + }] + }] + }`, + statusCode: 200, + expectedBids: 0, + expectedErrors: 1, + description: "Should reject bids missing required fields", + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + response := &adapters.ResponseData{ + StatusCode: tc.statusCode, + Body: []byte(tc.responseBody), + } + + bidResponse, errs := bidder.MakeBids(&request, nil, response) + + actualBids := 0 + if bidResponse != nil && bidResponse.Bids != nil { + actualBids = len(bidResponse.Bids) + } + + if actualBids != tc.expectedBids { + t.Errorf("Expected %d bids, got %d", tc.expectedBids, actualBids) + } + + if len(errs) != tc.expectedErrors { + t.Errorf("Expected %d errors, got %d: %v", tc.expectedErrors, len(errs), errs) + } + }) + } +} + +// TestBidExtensionsRegression ensures that essential bid extensions are present in relay responses +// This test prevents regression of the bid extension creation logic that was accidentally removed during refactoring +func TestBidExtensionsRegression(t *testing.T) { + // Create mock adapter + server := config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"} + mockAdapter, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://relay.example.com/v1/pbs/{{.CustomerId}}/bid", + }, server) + assert.NoError(t, buildErr) + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-bid-extensions", + Test: 1, // Enable test mode + Imp: []openrtb2.Imp{{ + ID: "test-imp-extensions", + Ext: json.RawMessage(`{ + "bidder": { + "customerId": "EXTTEST123" + } + }`), + }}, + Site: &openrtb2.Site{ + Domain: "test.extension.com", + Page: "https://test.extension.com", + }, + User: &openrtb2.User{ + BuyerUID: "contxtful-v1-eyJjdXN0b21lciI6IkVYVFRFU1QxMjMiLCJ0aW1lc3RhbXAiOjE3MzQ1Njc4OTAwMDAsInBhcnRuZXJzIjp7ImFteCI6ImFteC10ZXN0In0sInZlcnNpb24iOiJ2MSJ9", + }, + } + + // Create mock response data - PREBIDJS FORMAT with bid extensions + mockRelayResponse := `[{ + "requestId": "test-imp-extensions", + "cpm": 2.85, + "adm": "
Test ad for extension validation
", + "width": 300, + "height": 250, + "creativeId": "extension-creative-456", + "netRevenue": true, + "currency": "USD", + "mediaType": "banner", + "bidderCode": "contxtful", + "nurl": "https://monitoring.receptivity.io/v1/pbs/EXTTEST123/pbs-impression?b=contxtful-test-imp-extensions&a=EXTTEST123&bidder=contxtful&impId=test-imp-extensions&price=2.85&traceId=extension-test-trace-123&random=0.789123&domain=extensions.example.com&adRequestId=extension-test-request&w=300&h=250&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/EXTTEST123/pbs-billing?b=contxtful-test-imp-extensions&a=EXTTEST123&bidder=contxtful&impId=test-imp-extensions&price=2.85&traceId=extension-test-trace-123&random=0.789123&domain=extensions.example.com&adRequestId=extension-test-request&w=300&h=250&f=b", + "ext": { + "contxtful": { + "segment": "premium", + "dealId": "DEAL-123", + "customData": "test-value" + } + } + }]` + + responseData := &adapters.ResponseData{ + StatusCode: http.StatusOK, + Body: []byte(mockRelayResponse), + } + + // Call MakeBids + bidderResponse, errs := mockAdapter.MakeBids(request, nil, responseData) + + // Verify no errors + assert.Empty(t, errs, "Expected no errors") + assert.NotNil(t, bidderResponse, "Expected bidder response") + + // Verify bid was created + assert.Len(t, bidderResponse.Bids, 1, "Expected exactly 1 bid") + + bid := bidderResponse.Bids[0].Bid + + // CRITICAL REGRESSION CHECK: Verify bid extensions are present and copied as-is + assert.NotNil(t, bid.Ext, "BID EXTENSIONS MISSING! Contxtful ext should be copied as-is") + + // Parse bid extensions + var bidExt map[string]interface{} + err := json.Unmarshal(bid.Ext, &bidExt) + assert.NoError(t, err, "Failed to parse bid extensions JSON") + + // Verify contxtful ext data is copied as-is from the original response + assert.Contains(t, bidExt, "contxtful", "Missing contxtful extensions - should be copied as-is") + + contxtfulExt, hasContxtfulExt := bidExt["contxtful"].(map[string]interface{}) + assert.True(t, hasContxtfulExt, "contxtful extensions should be present") + + // Verify specific contxtful ext fields that were in the mock response + assert.Equal(t, "premium", contxtfulExt["segment"], "segment should be copied as-is") + assert.Equal(t, "DEAL-123", contxtfulExt["dealId"], "dealId should be copied as-is") + assert.Equal(t, "test-value", contxtfulExt["customData"], "customData should be copied as-is") + + // Verify essential PBS bid extensions are present (production-level fields only) + // Note: contxtfulDebug has been removed for production - only core PBS fields remain + + // Verify NURL/BURL are set (these should be generated by generateEventURLs) + assert.NotEmpty(t, bid.NURL, "NURL should be generated for event tracking") + assert.NotEmpty(t, bid.BURL, "BURL should be generated for event tracking") + assert.Contains(t, bid.NURL, "pbs-impression", "NURL should contain win tracking parameter") + assert.Contains(t, bid.BURL, "pbs-billing", "BURL should contain billing tracking parameter") +} + +// TestS2SBidderConfigExtraction tests extraction of rich bidder config data from S2S payloads +func TestS2SBidderConfigExtraction(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Real S2S payload with rich bidder config data (based on user's example) + requestJSON := `{ + "id": "s2s-bidder-config-test", + "test": 1, + "tmax": 30000, + "imp": [ + { + "id": "/19968336/header-bid-tag-0", + "banner": { + "topframe": 1, + "format": [ + {"w": 300, "h": 250}, + {"w": 300, "h": 600} + ] + }, + "secure": 1, + "ext": { + "bidder": { + "placementId": "p101152", + "customerId": "ABCD123456" + } + } + } + ], + "site": { + "domain": "localhost:3000", + "publisher": { + "domain": "localhost:3000", + "id": "1" + }, + "page": "http://localhost:3000/view?link=test", + "ext": { + "data": { + "documentLang": "en" + } + } + }, + "device": { + "w": 1728, + "h": 1117, + "dnt": 1, + "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36", + "language": "fr", + "ext": { + "vpw": 1645, + "vph": 411 + } + }, + "ext": { + "prebid": { + "auctiontimestamp": 1751152008051, + "bidderconfig": [ + { + "bidders": ["contxtful"], + "config": { + "ortb2": { + "user": { + "data": [ + { + "name": "contxtful", + "ext": { + "rx": { + "ReceptivityState": "Receptive", + "EclecticChinchilla": "true", + "score": "90", + "gptP": [ + { + "gpt": 1 + } + ], + "rand": 66.70383102561092 + }, + "sm": "0fa9d2f7-96a2-497a-83c7-e4f14ee4b580", + "params": { + "ev": "v1", + "ci": "ABCD123456" + } + }, + "segment": [ + { + "id": "Receptive" + } + ] + } + ] + } + } + } + } + ], + "debug": true + } + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requests, errs := bidder.MakeRequests(&request, &adapters.ExtraRequestInfo{}) + + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + if len(requests) != 1 { + t.Fatalf("Expected 1 request, got %d", len(requests)) + } + + // Parse the request payload to verify bidder config data was extracted and merged + var payload map[string]interface{} + if err := json.Unmarshal(requests[0].Body, &payload); err != nil { + t.Fatalf("Failed to unmarshal request payload: %v", err) + } + + // Verify the config uses bidder config version and customer (not impression params) + config, ok := payload["config"].(map[string]interface{}) + if !ok { + t.Fatal("Config should be an object") + } + + contxtfulConfig, ok := config["contxtful"].(map[string]interface{}) + if !ok { + t.Fatal("Contxtful config should be an object") + } + + // Verify version from bidder config (not default) + if contxtfulConfig["version"] != "v1" { + t.Errorf("Expected version 'v1' from bidder config, got %v", contxtfulConfig["version"]) + } + + // Verify customer from bidder config (priority over impression params) + expectedCustomer := "ABCD123456" // From bidder config params.ci + if contxtfulConfig["customer"] != expectedCustomer { + t.Errorf("Expected customer '%s' from bidder config, got %v", expectedCustomer, contxtfulConfig["customer"]) + } + + // Verify endpoint URL uses bidder config customer ID + expectedURL := "https://prebid.receptivity.io/v1/pbs/ABCD123456/bid" + if requests[0].Uri != expectedURL { + t.Errorf("Expected URL %s (with bidder config customer), got %s", expectedURL, requests[0].Uri) + } + + // Verify ortb2 contains original data (simple passthrough - no complex merging) + ortb2, ok := payload["ortb2"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2 should be an object") + } + + // Verify basic ortb2 structure is preserved as-is + if ortb2["test"] != float64(1) { + t.Error("ortb2.test should be preserved as-is") + } + + if ortb2["tmax"] != float64(30000) { + t.Error("ortb2.tmax should be preserved as-is") + } + + // Verify site data is preserved as-is + site, ok := ortb2["site"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.site should be preserved as-is") + } + + if site["domain"] != "localhost:3000" { + t.Error("ortb2.site.domain should be preserved as-is") + } + + // Verify device data is preserved as-is + device, ok := ortb2["device"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.device should be preserved as-is") + } + + if device["language"] != "fr" { + t.Error("ortb2.device.language should be preserved as-is") + } + + // Verify bidder config data is available in ext.prebid.bidderconfig (original location) + // The relay can extract rich data from here directly - no need for adapter to merge it + ext, ok := ortb2["ext"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.ext should be preserved as-is") + } + + prebid, ok := ext["prebid"].(map[string]interface{}) + if !ok { + t.Fatal("ortb2.ext.prebid should be preserved as-is") + } + + bidderConfig, ok := prebid["bidderconfig"].([]interface{}) + if !ok || len(bidderConfig) == 0 { + t.Fatal("ortb2.ext.prebid.bidderconfig should be preserved for relay processing") + } +} + +// TestCustomerIDFromURIExtraction tests that customer ID is correctly extracted from request URI +func TestCustomerIDFromURIExtraction(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create response with bids + responseJSON := `[{ + "requestId": "test-imp-uri-extraction", + "cpm": 2.25, + "adm": "
URI Extraction Test Ad
", + "width": 728, + "height": 90, + "creativeId": "uri-extraction-creative", + "netRevenue": true, + "currency": "USD", + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "uri-extraction-test-123", + "random": 0.777888, + "nurl": "https://monitoring.receptivity.io/v1/pbs/URITEST123/pbs-impression?b=contxtful-test-imp-uri-extraction&a=URITEST123&bidder=contxtful&impId=test-imp-uri-extraction&price=2.25&traceId=uri-extraction-test-123&random=0.777888&domain=uri-extraction-test.com&adRequestId=uri-extraction-test&w=728&h=90&f=b", + "burl": "https://monitoring.receptivity.io/v1/pbs/URITEST123/pbs-billing?b=contxtful-test-imp-uri-extraction&a=URITEST123&bidder=contxtful&impId=test-imp-uri-extraction&price=2.25&traceId=uri-extraction-test-123&random=0.777888&domain=uri-extraction-test.com&adRequestId=uri-extraction-test&w=728&h=90&f=b" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + // Create request WITHOUT bidder config and WITHOUT valid impression params + // (simulating cleaned up request data) + requestJSON := `{ + "id": "uri-extraction-test", + "imp": [{ + "id": "test-imp-uri-extraction", + "banner": {"format": [{"w": 728, "h": 90}]}, + "ext": {} + }], + "site": { + "domain": "uri-extraction-test.com", + "page": "https://uri-extraction-test.com/test" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + // Create requestData with URI containing customer ID (this is what MakeRequests creates) + requestData := &adapters.RequestData{ + Method: "POST", + Uri: "https://prebid.receptivity.io/v1/pbs/URITEST123/bid", // Customer ID in URI + Body: []byte(`{"test": "data"}`), + } + + // MakeBids should successfully extract customer ID from URI and generate event URLs + bids, errs := bidder.MakeBids(&request, requestData, response) + + if len(errs) > 0 { + t.Fatalf("MakeBids returned unexpected errors: %v", errs) + } + + if bids == nil || len(bids.Bids) != 1 { + bidCount := 0 + if bids != nil { + bidCount = len(bids.Bids) + } + t.Fatalf("Expected 1 bid, got %d", bidCount) + } + + bid := bids.Bids[0] + + // Verify event URLs are generated with correct customer ID from URI + if bid.Bid.NURL == "" { + t.Error("NURL should be generated when customer ID is available from URI") + } else { + // Should contain customer ID from URI + if !contains(bid.Bid.NURL, "/v1/pbs/URITEST123/pbs-impression") { + t.Error("NURL should contain customer ID extracted from URI (URITEST123)") + } + + // Should contain tracking data + if !contains(bid.Bid.NURL, "traceId=uri-extraction-test-123") { + t.Error("NURL should contain tracking data from response") + } + } + + // Verify BURL is also generated correctly + if bid.Bid.BURL == "" { + t.Error("BURL should be generated when customer ID is available from URI") + } else { + // Should contain customer ID from URI + if !contains(bid.Bid.BURL, "/v1/pbs/URITEST123/pbs-billing") { + t.Error("BURL should contain customer ID extracted from URI (URITEST123)") + } + } +} + +// TestEventURLGenerationNoDoubleSlash tests that event URLs never have double slashes with URI extraction +func TestEventURLGenerationNoDoubleSlash(t *testing.T) { + // Test with trailing slash on monitoring endpoint + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + testCases := []struct { + name string + requestURI string + expectedCustomer string + }{ + { + name: "Production endpoint", + requestURI: "https://prebid.receptivity.io/v1/pbs/PRODCUST123/bid", + expectedCustomer: "PRODCUST123", + }, + { + name: "Development endpoint", + requestURI: "https://prebid.receptivity.io/v1/pbs/DEVCUST456/bid", + expectedCustomer: "DEVCUST456", + }, + { + name: "Monitoring endpoint with trailing slash", + requestURI: "https://prebid.receptivity.io/v1/pbs/SLASHTEST789/bid", + expectedCustomer: "SLASHTEST789", + }, + { + name: "Localhost development", + requestURI: "http://localhost:6789/v1/pbs/LOCALTEST999/bid", + expectedCustomer: "LOCALTEST999", + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + // Update adapter's monitoring endpoint for this test + + responseJSON := fmt.Sprintf(`[{ + "requestId": "test-imp-no-double-slash", + "cpm": 3.75, + "adm": "
No Double Slash Test Ad
", + "width": 300, + "height": 250, + "creativeId": "no-double-slash-creative", + "netRevenue": true, + "currency": "USD", + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "no-double-slash-test-456", + "random": 0.123456, + "nurl": "%s/v1/pbs/%s/pbs-impression?b=contxtful-test-imp-no-double-slash&a=%s&bidder=contxtful&impId=test-imp-no-double-slash&price=3.75&traceId=no-double-slash-test-456&random=0.123456&domain=test.nodoubleSlash.com&adRequestId=no-double-slash-test&w=300&h=250&f=b", + "burl": "%s/v1/pbs/%s/pbs-billing?b=contxtful-test-imp-no-double-slash&a=%s&bidder=contxtful&impId=test-imp-no-double-slash&price=3.75&traceId=no-double-slash-test-456&random=0.123456&domain=test.nodoubleSlash.com&adRequestId=no-double-slash-test&w=300&h=250&f=b" + }]`, "https://monitoring.com/", tc.expectedCustomer, tc.expectedCustomer, "https://monitoring.com/", tc.expectedCustomer, tc.expectedCustomer) + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseJSON), + } + + requestJSON := `{ + "id": "no-double-slash-test", + "imp": [{ + "id": "test-imp-no-double-slash", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {} + }], + "site": { + "domain": "test.nodoubleSlash.com", + "page": "https://test.nodoubleSlash.com/test" + } + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + requestData := &adapters.RequestData{ + Method: "POST", + Uri: tc.requestURI, + Body: []byte(`{"test": "data"}`), + } + + bids, errs := bidder.MakeBids(&request, requestData, response) + + if len(errs) > 0 { + t.Fatalf("MakeBids returned unexpected errors: %v", errs) + } + + if bids == nil || len(bids.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bids.Bids)) + } + + bid := bids.Bids[0] + + // Critical test: Verify NO double slashes anywhere in URLs + if contains(bid.Bid.NURL, "//pbs-impression") { + t.Errorf("NURL contains double slash: %s", bid.Bid.NURL) + } + + if contains(bid.Bid.BURL, "//pbs-billing") { + t.Errorf("BURL contains double slash: %s", bid.Bid.BURL) + } + + // Verify correct customer ID is used in URLs + expectedNURLPattern := fmt.Sprintf("/v1/pbs/%s/pbs-impression", tc.expectedCustomer) + if !contains(bid.Bid.NURL, expectedNURLPattern) { + t.Errorf("NURL should contain %s, got: %s", expectedNURLPattern, bid.Bid.NURL) + } + + expectedBURLPattern := fmt.Sprintf("/v1/pbs/%s/pbs-billing", tc.expectedCustomer) + if !contains(bid.Bid.BURL, expectedBURLPattern) { + t.Errorf("BURL should contain %s, got: %s", expectedBURLPattern, bid.Bid.BURL) + } + + // Verify customer parameter is correct + expectedCustomerParam := fmt.Sprintf("a=%s", tc.expectedCustomer) + if !contains(bid.Bid.NURL, expectedCustomerParam) { + t.Errorf("NURL should contain %s", expectedCustomerParam) + } + }) + } +} + +// TestNURLBURLFromPrebidJSResponse tests NURL/BURL extraction from PrebidJS format responses +func TestNURLBURLFromPrebidJSResponse(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response with NURL/BURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456, + "nurl": "https://example.com/win?price=${AUCTION_PRICE}", + "burl": "https://example.com/billing?price=${AUCTION_PRICE}" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify NURL is passed through from response + expectedNURL := "https://example.com/win?price=${AUCTION_PRICE}" + if bid.NURL != expectedNURL { + t.Errorf("NURL should be %s, got %s", expectedNURL, bid.NURL) + } + + // Verify BURL is passed through from response + expectedBURL := "https://example.com/billing?price=${AUCTION_PRICE}" + if bid.BURL != expectedBURL { + t.Errorf("BURL should be %s, got %s", expectedBURL, bid.BURL) + } +} + +// TestNURLBURLFromContxtfulRelayResponse tests NURL/BURL extraction from ContxtfulRelay format responses +func TestNURLBURLFromContxtfulRelayResponse(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 728, H: 90}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "test.com", + }, + } + + // Mock response with PrebidJS format including NURL/BURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 1.75, + "adm": "
Relay Ad
", + "width": 728, + "height": 90, + "creativeId": "creative-456", + "netRevenue": true, + "currency": "USD", + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-456", + "random": 0.654321, + "nurl": "https://relay.example.com/notify?win=1", + "burl": "https://relay.example.com/bill?event=1" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify NURL is passed through from response + expectedNURL := "https://relay.example.com/notify?win=1" + if bid.NURL != expectedNURL { + t.Errorf("NURL should be %s, got %s", expectedNURL, bid.NURL) + } + + // Verify BURL is passed through from response + expectedBURL := "https://relay.example.com/bill?event=1" + if bid.BURL != expectedBURL { + t.Errorf("BURL should be %s, got %s", expectedBURL, bid.BURL) + } +} + +// TestNURLBURLWithoutResponseURLs tests that event URLs are generated correctly when response has no NURL/BURL +func TestNURLBURLWithoutResponseURLs(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response without NURL/BURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456 + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify NURL/BURL are not set when not provided in response + if bid.NURL != "" { + t.Error("NURL should be empty when no response NURL is provided") + } + if bid.BURL != "" { + t.Error("BURL should be empty when no response BURL is provided") + } +} + +// TestNURLBURLURLEncoding tests that special characters in response URLs are properly encoded +func TestNURLBURLURLEncoding(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response with URLs containing special characters that need encoding + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456, + "nurl": "https://example.com/win?price=${AUCTION_PRICE}&data={\"test\":\"value\"}&special=a+b c&hash#fragment", + "burl": "https://example.com/billing?price=${AUCTION_PRICE}&data={\"test\":\"value\"}&special=a+b c&hash#fragment" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify the complex URL is passed through as-is (no encoding) + expectedNURL := "https://example.com/win?price=${AUCTION_PRICE}&data={\"test\":\"value\"}&special=a+b c&hash#fragment" + if bid.NURL != expectedNURL { + t.Errorf("NURL should be %s, got %s", expectedNURL, bid.NURL) + } + + expectedBURL := "https://example.com/billing?price=${AUCTION_PRICE}&data={\"test\":\"value\"}&special=a+b c&hash#fragment" + if bid.BURL != expectedBURL { + t.Errorf("BURL should be %s, got %s", expectedBURL, bid.BURL) + } +} + +// TestNURLBURLPartialResponse tests handling when only one of NURL or BURL is present +func TestNURLBURLPartialResponse(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response with only NURL (no BURL) + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456, + "nurl": "https://example.com/win?price=${AUCTION_PRICE}" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify NURL is passed through from response + expectedNURL := "https://example.com/win?price=${AUCTION_PRICE}" + if bid.NURL != expectedNURL { + t.Errorf("NURL should be %s, got %s", expectedNURL, bid.NURL) + } + + // Verify BURL is empty (not provided in response) + if bid.BURL != "" { + t.Errorf("BURL should be empty when not provided in response, got %s", bid.BURL) + } +} + +// TestNURLBURLEmptyStrings tests handling of empty string values in response +func TestNURLBURLEmptyStrings(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response with empty string values for NURL/BURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456, + "nurl": "", + "burl": "" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify URLs don't contain 'r' parameter for empty strings + if strings.Contains(bid.NURL, "&r=") { + t.Error("NURL should not contain r parameter when response NURL is empty") + } + if strings.Contains(bid.BURL, "&r=") { + t.Error("BURL should not contain r parameter when response BURL is empty") + } +} + +// TestNURLBURLNotPresentInRelayResponse tests that NURL/BURL are not set when not present in ContxtfulRelay response +func TestNURLBURLNotPresentInRelayResponse(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 728, H: 90}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "test.com", + }, + } + + // Mock response with PrebidJS format WITHOUT NURL/BURL fields + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 1.75, + "adm": "
Relay Ad
", + "width": 728, + "height": 90, + "creativeId": "creative-456", + "netRevenue": true, + "currency": "USD", + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-456", + "random": 0.654321 + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify NURL is not set when not provided in response + if bid.NURL != "" { + t.Errorf("NURL should be empty when not present in relay response, got %s", bid.NURL) + } + + // Verify BURL is not set when not provided in response + if bid.BURL != "" { + t.Errorf("BURL should be empty when not present in relay response, got %s", bid.BURL) + } +} + +// TestLURLFromPrebidJSResponse tests LURL (Loss URL) extraction from PrebidJS format responses +func TestLURLFromPrebidJSResponse(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response with LURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456, + "lurl": "https://example.com/loss?price=${AUCTION_PRICE}&reason=${AUCTION_LOSS}" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify LURL is passed through from response + expectedLURL := "https://example.com/loss?price=${AUCTION_PRICE}&reason=${AUCTION_LOSS}" + if bid.LURL != expectedLURL { + t.Errorf("LURL should be %s, got %s", expectedLURL, bid.LURL) + } +} + +// TestLURLWithoutResponseURL tests that LURL is not set when not provided in response +func TestLURLWithoutResponseURL(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response without LURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456 + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify LURL is not set when not provided in response + if bid.LURL != "" { + t.Errorf("LURL should be empty when not provided in response, got %s", bid.LURL) + } +} + +// TestLURLEmptyString tests handling of empty string values for LURL in response +func TestLURLEmptyString(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create test request + request := &openrtb2.BidRequest{ + ID: "test-request-id", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-id", + Banner: &openrtb2.Banner{ + Format: []openrtb2.Format{ + {W: 300, H: 250}, + }, + }, + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "test-placement", + "customerId": "test-customer" + } + }`), + }, + }, + Site: &openrtb2.Site{ + Domain: "example.com", + }, + } + + // Mock response with empty string value for LURL + responseBody := `[{ + "requestId": "test-imp-id", + "cpm": 2.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Test Ad
", + "ttl": 300, + "netRevenue": true, + "mediaType": "banner", + "bidderCode": "contxtful", + "traceId": "trace-123", + "random": 0.123456, + "lurl": "" + }]` + + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(responseBody), + } + + // Make the request to get request data + requestData, errs := bidder.MakeRequests(request, &adapters.ExtraRequestInfo{}) + if len(errs) > 0 { + t.Fatalf("MakeRequests returned errors: %v", errs) + } + + // Process the response + bidderResponse, errs := bidder.MakeBids(request, requestData[0], response) + if len(errs) > 0 { + t.Fatalf("MakeBids returned errors: %v", errs) + } + + // Verify we got a bid + if len(bidderResponse.Bids) != 1 { + t.Fatalf("Expected 1 bid, got %d", len(bidderResponse.Bids)) + } + + bid := bidderResponse.Bids[0].Bid + + // Verify LURL is empty when provided as empty string + if bid.LURL != "" { + t.Errorf("LURL should be empty when provided as empty string, got %s", bid.LURL) + } +} + +// TestBuildEndpointURL tests the buildEndpointURL function with various scenarios +func TestBuildEndpointURL(t *testing.T) { + // Create adapter instance for testing + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + contxtfulAdapter := bidder.(*adapter) + + tests := []struct { + name string + request *openrtb2.BidRequest + expectedURL string + expectedValidPlacements []string + expectedCustomerID string + expectedErrors int + description string + }{ + { + name: "Valid request with single impression", + request: &openrtb2.BidRequest{ + ID: "test-request-1", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-1", + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "placement-123", + "customerId": "customer-456" + } + }`), + }, + }, + }, + expectedURL: "https://prebid.receptivity.io/v1/pbs/customer-456/bid", + expectedValidPlacements: []string{"placement-123"}, + expectedCustomerID: "customer-456", + expectedErrors: 0, + description: "Should successfully build endpoint URL with valid impression data", + }, + { + name: "Valid request with multiple impressions", + request: &openrtb2.BidRequest{ + ID: "test-request-2", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-1", + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "placement-123", + "customerId": "customer-456" + } + }`), + }, + { + ID: "test-imp-2", + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "placement-789", + "customerId": "customer-456" + } + }`), + }, + }, + }, + expectedURL: "https://prebid.receptivity.io/v1/pbs/customer-456/bid", + expectedValidPlacements: []string{"placement-123", "placement-789"}, + expectedCustomerID: "customer-456", + expectedErrors: 0, + description: "Should handle multiple impressions with same customer ID", + }, + { + name: "Request with invalid impression extension", + request: &openrtb2.BidRequest{ + ID: "test-request-3", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-1", + Ext: json.RawMessage(`{invalid json}`), + }, + }, + }, + expectedURL: "", + expectedValidPlacements: []string{}, + expectedCustomerID: "", + expectedErrors: 1, + description: "Should return error for invalid impression extension JSON", + }, + { + name: "Request with no impressions", + request: &openrtb2.BidRequest{ + ID: "test-request-4", + Imp: []openrtb2.Imp{}, + }, + expectedURL: "https://prebid.receptivity.io/v1/pbs//bid", + expectedValidPlacements: []string{}, + expectedCustomerID: "", + expectedErrors: 0, + description: "Should handle empty impressions gracefully", + }, + { + name: "Request with mixed valid and invalid impressions", + request: &openrtb2.BidRequest{ + ID: "test-request-5", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-1", + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "placement-123", + "customerId": "customer-456" + } + }`), + }, + { + ID: "test-imp-2", + Ext: json.RawMessage(`{invalid json}`), + }, + }, + }, + expectedURL: "", + expectedValidPlacements: []string{"placement-123"}, + expectedCustomerID: "customer-456", + expectedErrors: 1, + description: "Should return error when any impression validation fails", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + url, validPlacements, customerID, errs := contxtfulAdapter.buildEndpointURL(tt.request) + + // Check URL + if url != tt.expectedURL { + t.Errorf("Expected URL %q, got %q", tt.expectedURL, url) + } + + // Check valid placements + if len(validPlacements) != len(tt.expectedValidPlacements) { + t.Errorf("Expected %d valid placements, got %d", len(tt.expectedValidPlacements), len(validPlacements)) + } else { + for i, expected := range tt.expectedValidPlacements { + if i < len(validPlacements) && validPlacements[i] != expected { + t.Errorf("Expected placement[%d] %q, got %q", i, expected, validPlacements[i]) + } + } + } + + // Check customer ID + if customerID != tt.expectedCustomerID { + t.Errorf("Expected customer ID %q, got %q", tt.expectedCustomerID, customerID) + } + + // Check errors + if len(errs) != tt.expectedErrors { + t.Errorf("Expected %d errors, got %d: %v", tt.expectedErrors, len(errs), errs) + } + }) + } +} + +// TestBuildEndpointURLMacroFailure tests buildEndpointURL when macro resolution fails +func TestBuildEndpointURLMacroFailure(t *testing.T) { + // Create adapter with invalid template that will cause macro resolution to fail + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.InvalidMacro}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + contxtfulAdapter := bidder.(*adapter) + + request := &openrtb2.BidRequest{ + ID: "test-macro-failure", + Imp: []openrtb2.Imp{ + { + ID: "test-imp-1", + Ext: json.RawMessage(`{ + "bidder": { + "placementId": "placement-123", + "customerId": "customer-456" + } + }`), + }, + }, + } + + url, validPlacements, customerID, errs := contxtfulAdapter.buildEndpointURL(request) + + // Should fail at macro resolution step + if url != "" { + t.Errorf("Expected empty URL when macro resolution fails, got %q", url) + } + + // Should still return valid placements and customer ID from validation step + if len(validPlacements) != 1 || validPlacements[0] != "placement-123" { + t.Errorf("Expected valid placements to be returned even when macro fails, got %v", validPlacements) + } + + if customerID != "customer-456" { + t.Errorf("Expected customer ID to be returned even when macro fails, got %q", customerID) + } + + // Should have at least one error from macro resolution + if len(errs) == 0 { + t.Error("Expected at least one error when macro resolution fails") + } +} + +// TestPrebidJSValidationErrors tests the validation of PrebidJS responses for missing required fields +func TestPrebidJSValidationErrors(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderContxtful, config.Adapter{ + Endpoint: "https://prebid.receptivity.io/v1/pbs/{{.AccountID}}/bid", + }, config.Server{}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + // Create a test request + requestJSON := `{ + "id": "test-request-validation", + "imp": [{ + "id": "test-imp-validation", + "banner": {"format": [{"w": 300, "h": 250}]}, + "ext": {"bidder": {"placementId": "validation-test", "customerId": "VALIDATION123"}} + }] + }` + + var request openrtb2.BidRequest + if err := json.Unmarshal([]byte(requestJSON), &request); err != nil { + t.Fatalf("Failed to unmarshal test request: %v", err) + } + + testCases := []struct { + name string + responseBody string + expectedErrors int + expectedBids int + errorMessages []string + }{ + { + name: "Missing AdM", + responseBody: `[{ + "requestId": "test-imp-validation", + "cpm": 1.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "mediaType": "banner", + "ttl": 300, + "netRevenue": true, + "bidderCode": "contxtful", + "nurl": "https://example.com/nurl", + "burl": "https://example.com/burl" + }]`, + expectedErrors: 1, + expectedBids: 0, + errorMessages: []string{"bid has no ad markup"}, + }, + { + name: "Empty AdM", + responseBody: `[{ + "requestId": "test-imp-validation", + "cpm": 1.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "", + "mediaType": "banner", + "ttl": 300, + "netRevenue": true, + "bidderCode": "contxtful", + "nurl": "https://example.com/nurl", + "burl": "https://example.com/burl" + }]`, + expectedErrors: 1, + expectedBids: 0, + errorMessages: []string{"bid has no ad markup"}, + }, + { + name: "Valid bid with all required fields", + responseBody: `[{ + "requestId": "test-imp-validation", + "cpm": 1.50, + "currency": "USD", + "width": 300, + "height": 250, + "creativeId": "creative-123", + "adm": "
Valid ad markup
", + "mediaType": "banner", + "ttl": 300, + "netRevenue": true, + "bidderCode": "contxtful", + "nurl": "https://example.com/nurl", + "burl": "https://example.com/burl" + }]`, + expectedErrors: 0, + expectedBids: 1, + errorMessages: []string{}, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + response := &adapters.ResponseData{ + StatusCode: 200, + Body: []byte(tc.responseBody), + } + + bids, errs := bidder.MakeBids(&request, nil, response) + + // Check error count + if len(errs) != tc.expectedErrors { + t.Errorf("Expected %d errors, got %d: %v", tc.expectedErrors, len(errs), errs) + } + + // Check bid count + actualBids := 0 + if bids != nil { + actualBids = len(bids.Bids) + } + if actualBids != tc.expectedBids { + t.Errorf("Expected %d bids, got %d", tc.expectedBids, actualBids) + } + + // Check specific error messages + if len(tc.errorMessages) > 0 { + errorStrings := make([]string, len(errs)) + for i, err := range errs { + errorStrings[i] = err.Error() + } + + for _, expectedMsg := range tc.errorMessages { + found := false + for _, actualMsg := range errorStrings { + if strings.Contains(actualMsg, expectedMsg) { + found = true + break + } + } + if !found { + t.Errorf("Expected error message containing '%s', but not found in: %v", expectedMsg, errorStrings) + } + } + } + + // For valid cases, verify bid fields are populated correctly + if tc.expectedBids > 0 && tc.expectedErrors == 0 && bids != nil && len(bids.Bids) > 0 { + bid := bids.Bids[0] + assert.NotEmpty(t, bid.Bid.AdM, "AdM should be populated for valid bids") + assert.NotEqual(t, openrtb_ext.BidType(""), bid.BidType, "BidType should be populated for valid bids") + } + }) + } +} diff --git a/adapters/contxtful/params_test.go b/adapters/contxtful/params_test.go new file mode 100644 index 000000000..34831e161 --- /dev/null +++ b/adapters/contxtful/params_test.go @@ -0,0 +1,47 @@ +package contxtful + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the json schema: %v", err) + } + + for _, validParam := range validParams { + if err := validator.Validate(openrtb_ext.BidderContxtful, json.RawMessage(validParam)); err != nil { + t.Errorf("Schema rejected valid params: %s", validParam) + } + } +} + +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the json schema: %v", err) + } + + for _, invalidParam := range invalidParams { + if err := validator.Validate(openrtb_ext.BidderContxtful, json.RawMessage(invalidParam)); err == nil { + t.Errorf("Schema allowed invalid params: %s", invalidParam) + } + } +} + +var validParams = []string{ + `{"placementId": "12345", "customerId": "customer-123"}`, + `{"placementId": "placement-123", "customerId": "test-customer"}`, +} + +var invalidParams = []string{ + `{}`, + `{"placementId": "12345"}`, + `{"customerId": "customer-123"}`, + `{"placementId": 12345, "customerId": "customer-123"}`, + `{"placementId": "12345", "customerId": 123}`, +} diff --git a/adapters/conversant/conversant.go b/adapters/conversant/conversant.go index 035ee14ba..67056dc56 100644 --- a/adapters/conversant/conversant.go +++ b/adapters/conversant/conversant.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type ConversantAdapter struct { diff --git a/adapters/conversant/conversant_test.go b/adapters/conversant/conversant_test.go index eeb575647..563b22999 100644 --- a/adapters/conversant/conversant_test.go +++ b/adapters/conversant/conversant_test.go @@ -3,9 +3,9 @@ package conversant import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/copper6ssp/copper6ssp.go b/adapters/copper6ssp/copper6ssp.go index 77154dd68..85f467485 100644 --- a/adapters/copper6ssp/copper6ssp.go +++ b/adapters/copper6ssp/copper6ssp.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/copper6ssp/copper6ssp_test.go b/adapters/copper6ssp/copper6ssp_test.go index 75ca8ee40..9f98ce4ed 100644 --- a/adapters/copper6ssp/copper6ssp_test.go +++ b/adapters/copper6ssp/copper6ssp_test.go @@ -3,9 +3,9 @@ package copper6ssp import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/copper6ssp/params_test.go b/adapters/copper6ssp/params_test.go index 427cf63b2..bd9d84ee3 100644 --- a/adapters/copper6ssp/params_test.go +++ b/adapters/copper6ssp/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/cpmstar/cpmstar.go b/adapters/cpmstar/cpmstar.go index f4f139012..03d4d421f 100644 --- a/adapters/cpmstar/cpmstar.go +++ b/adapters/cpmstar/cpmstar.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type Adapter struct { diff --git a/adapters/cpmstar/cpmstar_test.go b/adapters/cpmstar/cpmstar_test.go index 478b89894..e007583af 100644 --- a/adapters/cpmstar/cpmstar_test.go +++ b/adapters/cpmstar/cpmstar_test.go @@ -3,9 +3,9 @@ package cpmstar import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/cpmstar/params_test.go b/adapters/cpmstar/params_test.go index aea148c82..0fbb0d253 100644 --- a/adapters/cpmstar/params_test.go +++ b/adapters/cpmstar/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/cpmstar.json diff --git a/adapters/criteo/criteo.go b/adapters/criteo/criteo.go index 2bfa35ade..6779a20f8 100644 --- a/adapters/criteo/criteo.go +++ b/adapters/criteo/criteo.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/criteo/criteo_test.go b/adapters/criteo/criteo_test.go index 66420429a..08c49aaaf 100644 --- a/adapters/criteo/criteo_test.go +++ b/adapters/criteo/criteo_test.go @@ -7,9 +7,9 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/criteo/params_test.go b/adapters/criteo/params_test.go index 240eeea43..98f5f77f3 100644 --- a/adapters/criteo/params_test.go +++ b/adapters/criteo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/criteo.json diff --git a/adapters/cwire/cwire.go b/adapters/cwire/cwire.go index 2d297f78e..f0b3fc208 100644 --- a/adapters/cwire/cwire.go +++ b/adapters/cwire/cwire.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) /* diff --git a/adapters/cwire/cwire_test.go b/adapters/cwire/cwire_test.go index 726c3caf0..26b403d20 100644 --- a/adapters/cwire/cwire_test.go +++ b/adapters/cwire/cwire_test.go @@ -3,9 +3,9 @@ package cwire import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/cwire/params_test.go b/adapters/cwire/params_test.go index 534a9c092..b1577f86b 100644 --- a/adapters/cwire/params_test.go +++ b/adapters/cwire/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/cwire.json diff --git a/adapters/datablocks/datablocks.go b/adapters/datablocks/datablocks.go index a0e318524..7d911d98c 100644 --- a/adapters/datablocks/datablocks.go +++ b/adapters/datablocks/datablocks.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type DatablocksAdapter struct { diff --git a/adapters/datablocks/datablocks_test.go b/adapters/datablocks/datablocks_test.go index f44204c7c..762bf6cc0 100644 --- a/adapters/datablocks/datablocks_test.go +++ b/adapters/datablocks/datablocks_test.go @@ -3,9 +3,9 @@ package datablocks import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/decenterads/decenterads.go b/adapters/decenterads/decenterads.go index 7981f60c9..26dd5634f 100644 --- a/adapters/decenterads/decenterads.go +++ b/adapters/decenterads/decenterads.go @@ -8,11 +8,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/decenterads/decenterads_test.go b/adapters/decenterads/decenterads_test.go index ba3cefa98..97d72fba6 100644 --- a/adapters/decenterads/decenterads_test.go +++ b/adapters/decenterads/decenterads_test.go @@ -3,9 +3,9 @@ package decenterads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/decenterads/params_test.go b/adapters/decenterads/params_test.go index 7672892ed..5e0826552 100644 --- a/adapters/decenterads/params_test.go +++ b/adapters/decenterads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the decenterads schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/deepintent/deepintent.go b/adapters/deepintent/deepintent.go index a1867cdad..cb83e1ead 100644 --- a/adapters/deepintent/deepintent.go +++ b/adapters/deepintent/deepintent.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const displayManager string = "di_prebid" diff --git a/adapters/deepintent/deepintent_test.go b/adapters/deepintent/deepintent_test.go index 6b2d216db..4f8c2219b 100644 --- a/adapters/deepintent/deepintent_test.go +++ b/adapters/deepintent/deepintent_test.go @@ -3,10 +3,10 @@ package deepintent import ( "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/deepintent/params_test.go b/adapters/deepintent/params_test.go index b45eaa67a..e1f8cc1f8 100644 --- a/adapters/deepintent/params_test.go +++ b/adapters/deepintent/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the deepintent schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/definemedia/definemedia.go b/adapters/definemedia/definemedia.go index 7f775b88c..fcfef769e 100644 --- a/adapters/definemedia/definemedia.go +++ b/adapters/definemedia/definemedia.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/definemedia/definemedia_test.go b/adapters/definemedia/definemedia_test.go index 9d5b39b5b..377c49104 100644 --- a/adapters/definemedia/definemedia_test.go +++ b/adapters/definemedia/definemedia_test.go @@ -3,9 +3,9 @@ package definemedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/definemedia/params_test.go b/adapters/definemedia/params_test.go index bd3912719..9af4ba1b2 100644 --- a/adapters/definemedia/params_test.go +++ b/adapters/definemedia/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/dianomi/dianomi.go b/adapters/dianomi/dianomi.go index 5f16547de..315a030a0 100644 --- a/adapters/dianomi/dianomi.go +++ b/adapters/dianomi/dianomi.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/dianomi/dianomi_test.go b/adapters/dianomi/dianomi_test.go index 23a42fa69..da4a0d664 100644 --- a/adapters/dianomi/dianomi_test.go +++ b/adapters/dianomi/dianomi_test.go @@ -3,9 +3,9 @@ package dianomi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/dianomi/params_test.go b/adapters/dianomi/params_test.go index 294bfa977..dd9aeb144 100644 --- a/adapters/dianomi/params_test.go +++ b/adapters/dianomi/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/dianomi.json diff --git a/adapters/displayio/displayio.go b/adapters/displayio/displayio.go index cc9845d72..2eff41e71 100644 --- a/adapters/displayio/displayio.go +++ b/adapters/displayio/displayio.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/displayio/displayio_test.go b/adapters/displayio/displayio_test.go index b591abeb4..f7f32c8a8 100644 --- a/adapters/displayio/displayio_test.go +++ b/adapters/displayio/displayio_test.go @@ -3,9 +3,9 @@ package displayio import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/displayio/params_test.go b/adapters/displayio/params_test.go index 2e4495407..e11f1fadb 100644 --- a/adapters/displayio/params_test.go +++ b/adapters/displayio/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/dmx/dmx.go b/adapters/dmx/dmx.go index 458b49782..e2389146d 100644 --- a/adapters/dmx/dmx.go +++ b/adapters/dmx/dmx.go @@ -10,11 +10,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type DmxAdapter struct { diff --git a/adapters/dmx/dmx_test.go b/adapters/dmx/dmx_test.go index cc46d28f3..9e37d0e34 100644 --- a/adapters/dmx/dmx_test.go +++ b/adapters/dmx/dmx_test.go @@ -6,11 +6,11 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" ) func TestFetchParams(t *testing.T) { diff --git a/adapters/dmx/params_test.go b/adapters/dmx/params_test.go index 49d89b330..6e2e2ba07 100644 --- a/adapters/dmx/params_test.go +++ b/adapters/dmx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/driftpixel/driftpixel.go b/adapters/driftpixel/driftpixel.go index 65532a786..e62303ed8 100644 --- a/adapters/driftpixel/driftpixel.go +++ b/adapters/driftpixel/driftpixel.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type bidType struct { diff --git a/adapters/driftpixel/driftpixel_test.go b/adapters/driftpixel/driftpixel_test.go index 24bf8b150..11d5d604f 100644 --- a/adapters/driftpixel/driftpixel_test.go +++ b/adapters/driftpixel/driftpixel_test.go @@ -3,9 +3,9 @@ package driftpixel import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/driftpixel/params_test.go b/adapters/driftpixel/params_test.go index e8153f054..225d94916 100644 --- a/adapters/driftpixel/params_test.go +++ b/adapters/driftpixel/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/e_volution/evolution.go b/adapters/e_volution/evolution.go index 1b781c740..3db5173ca 100644 --- a/adapters/e_volution/evolution.go +++ b/adapters/e_volution/evolution.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/e_volution/evolution_test.go b/adapters/e_volution/evolution_test.go index 6a3dbe671..3a1685694 100644 --- a/adapters/e_volution/evolution_test.go +++ b/adapters/e_volution/evolution_test.go @@ -3,9 +3,9 @@ package evolution import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/e_volution/params_test.go b/adapters/e_volution/params_test.go index 98558f88a..ace2e3292 100644 --- a/adapters/e_volution/params_test.go +++ b/adapters/e_volution/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/edge226/edge226.go b/adapters/edge226/edge226.go index 19804c884..69f2b3464 100644 --- a/adapters/edge226/edge226.go +++ b/adapters/edge226/edge226.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/edge226/edge226_test.go b/adapters/edge226/edge226_test.go index cd3d9385a..97927ef4c 100644 --- a/adapters/edge226/edge226_test.go +++ b/adapters/edge226/edge226_test.go @@ -3,9 +3,9 @@ package edge226 import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/edge226/params_test.go b/adapters/edge226/params_test.go index 5161c349d..9b5c21052 100644 --- a/adapters/edge226/params_test.go +++ b/adapters/edge226/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/elementaltv/elementaltv_test.go b/adapters/elementaltv/elementaltv_test.go new file mode 100644 index 000000000..c54c8c157 --- /dev/null +++ b/adapters/elementaltv/elementaltv_test.go @@ -0,0 +1,19 @@ +package elementaltv + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/require" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderElementalTV, config.Adapter{ + Endpoint: "https://pbs.elementaltv.io/processHeaderBid/{{.AdUnit}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + require.NoError(t, buildErr, "Builder returned unexpected error") + + adapterstest.RunJSONBidderTest(t, "elementaltvtest", bidder) +} diff --git a/adapters/elementaltv/params_test.go b/adapters/elementaltv/params_test.go new file mode 100644 index 000000000..0c49095ca --- /dev/null +++ b/adapters/elementaltv/params_test.go @@ -0,0 +1,38 @@ +package elementaltv + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/require" +) + +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + require.NoErrorf(t, err, "Failed to fetch the json schema: %v", err) + for _, p := range validParams { + err := validator.Validate(openrtb_ext.BidderElementalTV, json.RawMessage(p)) + require.NoError(t, err, "Schema rejected valid params: %s", p) + } +} + +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + require.NoErrorf(t, err, "Failed to fetch the json schema: %v", err) + + for _, p := range invalidParams { + err := validator.Validate(openrtb_ext.BidderElementalTV, json.RawMessage(p)) + require.Error(t, err, "Schema allowed invalid params: %s", p) + } +} + +var validParams = []string{ + `{"adunit":"123"}`, + `{"adunit":"SSP:123"}`, + `{"adunit":"5346"}`} + +var invalidParams = []string{ + `{}`, + `{"adunitt":"123"}`, +} diff --git a/adapters/emtv/emtv.go b/adapters/emtv/emtv.go index c8814f806..678c4bddc 100644 --- a/adapters/emtv/emtv.go +++ b/adapters/emtv/emtv.go @@ -7,11 +7,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/emtv/emtv_test.go b/adapters/emtv/emtv_test.go index 0dd4196af..d2c36b2ae 100644 --- a/adapters/emtv/emtv_test.go +++ b/adapters/emtv/emtv_test.go @@ -3,9 +3,9 @@ package emtv import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/emtv/params_test.go b/adapters/emtv/params_test.go index cdea31b07..13631f3bb 100644 --- a/adapters/emtv/params_test.go +++ b/adapters/emtv/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/eplanning/eplanning.go b/adapters/eplanning/eplanning.go index e3d3f0c1b..f23408e04 100644 --- a/adapters/eplanning/eplanning.go +++ b/adapters/eplanning/eplanning.go @@ -12,11 +12,11 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "strconv" ) diff --git a/adapters/eplanning/eplanning_test.go b/adapters/eplanning/eplanning_test.go index 08af3b36b..3457b0023 100644 --- a/adapters/eplanning/eplanning_test.go +++ b/adapters/eplanning/eplanning_test.go @@ -1,11 +1,12 @@ package eplanning import ( - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" "testing" + + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/epom/epom.go b/adapters/epom/epom.go index 82e44b409..077cd2ba9 100644 --- a/adapters/epom/epom.go +++ b/adapters/epom/epom.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/epom/epom_test.go b/adapters/epom/epom_test.go index f90f2189d..78f8ba428 100644 --- a/adapters/epom/epom_test.go +++ b/adapters/epom/epom_test.go @@ -3,9 +3,9 @@ package epom import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/escalax/escalax.go b/adapters/escalax/escalax.go index 867524a92..d11eea8f2 100644 --- a/adapters/escalax/escalax.go +++ b/adapters/escalax/escalax.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/escalax/escalax_test.go b/adapters/escalax/escalax_test.go index c4424bb10..8d7ffcd0e 100644 --- a/adapters/escalax/escalax_test.go +++ b/adapters/escalax/escalax_test.go @@ -3,9 +3,9 @@ package escalax import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/escalax/params_test.go b/adapters/escalax/params_test.go index 6e6036721..93e605612 100644 --- a/adapters/escalax/params_test.go +++ b/adapters/escalax/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/exco/exco.go b/adapters/exco/exco.go index dc79c6ec1..49f519691 100644 --- a/adapters/exco/exco.go +++ b/adapters/exco/exco.go @@ -5,11 +5,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/exco/exco_test.go b/adapters/exco/exco_test.go index 77ab4afe8..faa955569 100644 --- a/adapters/exco/exco_test.go +++ b/adapters/exco/exco_test.go @@ -3,9 +3,9 @@ package exco import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/exco/params_test.go b/adapters/exco/params_test.go index eed4bc4b6..73fc0d657 100644 --- a/adapters/exco/params_test.go +++ b/adapters/exco/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/exco.json diff --git a/adapters/feedad/feedad.go b/adapters/feedad/feedad.go index 804027ee1..6a1c1314d 100644 --- a/adapters/feedad/feedad.go +++ b/adapters/feedad/feedad.go @@ -4,10 +4,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const feedAdAdapterVersion = "1.0.0" diff --git a/adapters/feedad/feedad_test.go b/adapters/feedad/feedad_test.go index 28993850d..66e7414f5 100644 --- a/adapters/feedad/feedad_test.go +++ b/adapters/feedad/feedad_test.go @@ -3,9 +3,9 @@ package feedad import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/feedad/params_test.go b/adapters/feedad/params_test.go index a77ad9ae4..279b6c6c6 100644 --- a/adapters/feedad/params_test.go +++ b/adapters/feedad/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/flatads/flatads.go b/adapters/flatads/flatads.go index 0bf0b979e..5bd1532ab 100644 --- a/adapters/flatads/flatads.go +++ b/adapters/flatads/flatads.go @@ -6,12 +6,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/flatads/flatads_test.go b/adapters/flatads/flatads_test.go index b3b3cf33f..6bd5187f0 100644 --- a/adapters/flatads/flatads_test.go +++ b/adapters/flatads/flatads_test.go @@ -3,9 +3,9 @@ package flatads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/flatads/params_test.go b/adapters/flatads/params_test.go index c58546399..98c583695 100644 --- a/adapters/flatads/params_test.go +++ b/adapters/flatads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/flipp/flipp.go b/adapters/flipp/flipp.go index 4ac5c31c7..fa8259b80 100644 --- a/adapters/flipp/flipp.go +++ b/adapters/flipp/flipp.go @@ -13,11 +13,11 @@ import ( "github.com/prebid/go-gdpr/consentconstants" "github.com/prebid/go-gdpr/vendorconsent" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/uuidutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/uuidutil" ) const ( diff --git a/adapters/flipp/flipp_params.go b/adapters/flipp/flipp_params.go index 34d266a7d..3e8633791 100644 --- a/adapters/flipp/flipp_params.go +++ b/adapters/flipp/flipp_params.go @@ -1,6 +1,6 @@ package flipp -import "github.com/prebid/prebid-server/v3/openrtb_ext" +import "github.com/prebid/prebid-server/v4/openrtb_ext" type CampaignRequestBodyUser struct { Key *string `json:"key"` diff --git a/adapters/flipp/flipp_test.go b/adapters/flipp/flipp_test.go index 8215dabe8..3676053f0 100644 --- a/adapters/flipp/flipp_test.go +++ b/adapters/flipp/flipp_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/flipp/params_test.go b/adapters/flipp/params_test.go index 24f30b0a6..01d4604c0 100644 --- a/adapters/flipp/params_test.go +++ b/adapters/flipp/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/freewheelssp/freewheelssp.go b/adapters/freewheelssp/freewheelssp.go index 111b05a60..6e4ad6722 100644 --- a/adapters/freewheelssp/freewheelssp.go +++ b/adapters/freewheelssp/freewheelssp.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/freewheelssp/freewheelssp_test.go b/adapters/freewheelssp/freewheelssp_test.go index ba5e6cf9a..d8d335090 100644 --- a/adapters/freewheelssp/freewheelssp_test.go +++ b/adapters/freewheelssp/freewheelssp_test.go @@ -3,9 +3,9 @@ package freewheelssp import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/frvradn/frvradn.go b/adapters/frvradn/frvradn.go index 5b21263b1..4b307c762 100644 --- a/adapters/frvradn/frvradn.go +++ b/adapters/frvradn/frvradn.go @@ -7,11 +7,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/frvradn/frvradn_test.go b/adapters/frvradn/frvradn_test.go index 514ef6c71..e69c10d86 100644 --- a/adapters/frvradn/frvradn_test.go +++ b/adapters/frvradn/frvradn_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/frvradn/params_test.go b/adapters/frvradn/params_test.go index 83e1ba631..3d054db07 100644 --- a/adapters/frvradn/params_test.go +++ b/adapters/frvradn/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/fwssp/fwssp.go b/adapters/fwssp/fwssp.go index 3ee896e15..ae916dc51 100644 --- a/adapters/fwssp/fwssp.go +++ b/adapters/fwssp/fwssp.go @@ -5,11 +5,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/fwssp/fwssp_test.go b/adapters/fwssp/fwssp_test.go index 7afd5197f..5d9d6a880 100644 --- a/adapters/fwssp/fwssp_test.go +++ b/adapters/fwssp/fwssp_test.go @@ -3,9 +3,9 @@ package fwssp import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/fwssp/params_test.go b/adapters/fwssp/params_test.go index 366078c01..a413b51d3 100644 --- a/adapters/fwssp/params_test.go +++ b/adapters/fwssp/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/gamma/gamma.go b/adapters/gamma/gamma.go index 66f99953f..57edc810e 100644 --- a/adapters/gamma/gamma.go +++ b/adapters/gamma/gamma.go @@ -9,11 +9,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/openrtb/v20/openrtb3" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type GammaAdapter struct { diff --git a/adapters/gamma/gamma_test.go b/adapters/gamma/gamma_test.go index 9556e83dc..0c50d4866 100644 --- a/adapters/gamma/gamma_test.go +++ b/adapters/gamma/gamma_test.go @@ -3,9 +3,9 @@ package gamma import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/gamma/params_test.go b/adapters/gamma/params_test.go index d377b50c3..06f6d6fab 100644 --- a/adapters/gamma/params_test.go +++ b/adapters/gamma/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/gamma.json diff --git a/adapters/gamoshi/gamoshi.go b/adapters/gamoshi/gamoshi.go index 4ba302506..b4cd7841e 100644 --- a/adapters/gamoshi/gamoshi.go +++ b/adapters/gamoshi/gamoshi.go @@ -7,11 +7,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type GamoshiAdapter struct { diff --git a/adapters/gamoshi/gamoshi_test.go b/adapters/gamoshi/gamoshi_test.go index aa20723b2..ee572b2ac 100644 --- a/adapters/gamoshi/gamoshi_test.go +++ b/adapters/gamoshi/gamoshi_test.go @@ -3,9 +3,9 @@ package gamoshi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamplesWithConfiguredURI(t *testing.T) { diff --git a/adapters/gamoshi/params_test.go b/adapters/gamoshi/params_test.go index 429ed96ad..21f887d68 100644 --- a/adapters/gamoshi/params_test.go +++ b/adapters/gamoshi/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/gamoshi.json diff --git a/adapters/globalsun/globalsun.go b/adapters/globalsun/globalsun.go index a2b2dc5b9..cbdc899e8 100644 --- a/adapters/globalsun/globalsun.go +++ b/adapters/globalsun/globalsun.go @@ -7,11 +7,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/globalsun/globalsun_test.go b/adapters/globalsun/globalsun_test.go index e34805f68..cfbebe313 100644 --- a/adapters/globalsun/globalsun_test.go +++ b/adapters/globalsun/globalsun_test.go @@ -3,9 +3,9 @@ package globalsun import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/globalsun/params_test.go b/adapters/globalsun/params_test.go index b4fe0ede7..9847ce3d2 100644 --- a/adapters/globalsun/params_test.go +++ b/adapters/globalsun/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/goldbach/goldbach.go b/adapters/goldbach/goldbach.go new file mode 100644 index 000000000..3d47a4b3d --- /dev/null +++ b/adapters/goldbach/goldbach.go @@ -0,0 +1,232 @@ +package goldbach + +import ( + "fmt" + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type adapter struct { + endpoint string +} + +type requestExtAdapter struct { + Goldbach requestExtGoldbach `json:"goldbach"` + + *openrtb_ext.ExtRequest `json:"inline,omitempty"` +} + +type requestExtGoldbach struct { + PublisherID string `json:"publisherId"` + MockResponse *bool `json:"mockResponse,omitempty"` +} + +type impExtAdapter struct { + Goldbach impExtGoldbachOutgoing `json:"goldbach"` +} + +type impExtGoldbachOutgoing struct { + Targetings map[string][]string `json:"targetings,omitempty"` + SlotID string `json:"slotId"` +} + +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + bidder := &adapter{ + endpoint: config.Endpoint, + } + return bidder, nil +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, reqInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var reqs []*adapters.RequestData + var errs []error + + var requestExt requestExtAdapter + if request.Ext != nil { + if err := jsonutil.Unmarshal(request.Ext, &requestExt); err != nil { + errs = append(errs, &errortypes.FailedToUnmarshal{Message: fmt.Errorf("unable to unmarshal request.ext: %w", err).Error()}) + } + } + + // group impressions by publisher ID + publisherImps := make(map[string][]openrtb2.Imp) + for _, imp := range request.Imp { + publisherID, impCopy, err := buildImp(imp) + if err != nil { + errs = append(errs, err) + continue + } + + publisherImps[publisherID] = append(publisherImps[publisherID], impCopy) + } + + if len(publisherImps) == 0 { + errs = append(errs, &errortypes.BadInput{Message: "no valid impression found"}) + } + + // create a separate request for each publisher + for publisherID, imps := range publisherImps { + requestPublisher, err := buildRequest(*request, publisherID, imps, &requestExt) + if err != nil { + errs = append(errs, err) + continue + } + + resJSON, err := jsonutil.Marshal(&requestPublisher) + if err != nil { + errs = append(errs, &errortypes.FailedToMarshal{Message: fmt.Errorf("unable to marshal request: %w", err).Error()}) + continue + } + + headers := http.Header{} + headers.Add("Content-Type", "application/json;charset=utf-8") + headers.Add("Accept", "application/json") + + req := &adapters.RequestData{ + Method: "POST", + Uri: a.endpoint, + Body: resJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(requestPublisher.Imp), + } + + reqs = append(reqs, req) + } + + return reqs, errs +} + +func (a *adapter) MakeBids(bidReq *openrtb2.BidRequest, unused *adapters.RequestData, httpRes *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if httpRes.StatusCode == http.StatusNoContent { + return nil, nil + } + + if httpRes.StatusCode != http.StatusCreated { + return nil, []error{&errortypes.BadServerResponse{ + Message: fmt.Sprintf("unexpected status code: %d. Run with request.debug = 1 for more info", httpRes.StatusCode), + }} + } + + var resp openrtb2.BidResponse + if err := jsonutil.Unmarshal(httpRes.Body, &resp); err != nil { + return nil, []error{&errortypes.BadServerResponse{ + Message: fmt.Errorf("unable to unmarshal response: %w", err).Error(), + }} + } + + bidderResponse := adapters.NewBidderResponse() + bidderResponse.Currency = resp.Cur + + var errs []error + for _, sb := range resp.SeatBid { + for i := range sb.Bid { + bidType, err := getBidMediaType(&sb.Bid[i]) + if err != nil { + errs = append(errs, err) + continue + } + + bidderResponse.Bids = append(bidderResponse.Bids, &adapters.TypedBid{ + Bid: &sb.Bid[i], + BidType: bidType, + }) + } + } + + if len(bidderResponse.Bids) == 0 { + errs = append(errs, &errortypes.BadServerResponse{ + Message: "no valid bids found in response", + }) + return nil, errs + } + + return bidderResponse, errs +} + +func buildImp(imp openrtb2.Imp) (string, openrtb2.Imp, error) { + impExt, err := extractImpExt(&imp) + if err != nil { + return "", openrtb2.Imp{}, err + } + + targetings := make(map[string][]string) + for key, value := range impExt.CustomTargeting { + targetings[key] = value + } + + imp.Ext, err = jsonutil.Marshal(&impExtAdapter{ + Goldbach: impExtGoldbachOutgoing{ + Targetings: targetings, + SlotID: impExt.SlotID, + }, + }) + + if err != nil { + return "", openrtb2.Imp{}, &errortypes.FailedToMarshal{Message: fmt.Errorf("unable to marshal imp.ext: %w", err).Error()} + } + + return impExt.PublisherID, imp, nil +} + +func extractImpExt(imp *openrtb2.Imp) (*openrtb_ext.ImpExtGoldbach, error) { + var extImpBidder adapters.ExtImpBidder + if err := jsonutil.Unmarshal(imp.Ext, &extImpBidder); err != nil { + return nil, &errortypes.BadInput{ + Message: fmt.Errorf("unable to unmarshal imp.ext: %w", err).Error(), + } + } + + var goldbachExt openrtb_ext.ImpExtGoldbach + if err := jsonutil.Unmarshal(extImpBidder.Bidder, &goldbachExt); err != nil { + return nil, &errortypes.BadInput{ + Message: fmt.Errorf("unable to unmarshal imp.ext.bidder: %w", err).Error(), + } + } + + if len(goldbachExt.PublisherID) == 0 || len(goldbachExt.SlotID) == 0 { + return nil, &errortypes.BadInput{ + Message: "publisherId and slotId are required", + } + } + return &goldbachExt, nil +} + +func buildRequest(request openrtb2.BidRequest, publisherID string, imps []openrtb2.Imp, requestExt *requestExtAdapter) (*openrtb2.BidRequest, error) { + request.Imp = imps + request.ID = fmt.Sprintf("%s_%s", request.ID, publisherID) + + // Set the publisher ID in the request.ext + requestPublisherExt, err := jsonutil.Marshal(&requestExtAdapter{ + Goldbach: requestExtGoldbach{ + PublisherID: publisherID, + MockResponse: requestExt.Goldbach.MockResponse, + }, + ExtRequest: requestExt.ExtRequest, + }) + if err != nil { + return nil, &errortypes.FailedToMarshal{Message: fmt.Errorf("unable to marshal request.ext: %w", err).Error()} + } + + request.Ext = requestPublisherExt + + return &request, nil +} + +func getBidMediaType(bid *openrtb2.Bid) (openrtb_ext.BidType, error) { + var extBid openrtb_ext.ExtBid + if err := jsonutil.Unmarshal(bid.Ext, &extBid); err != nil { + return "", &errortypes.FailedToUnmarshal{Message: fmt.Errorf("unable to unmarshal ext for bid: %w", err).Error()} + } + + if extBid.Prebid == nil || len(extBid.Prebid.Type) == 0 { + return "", &errortypes.BadInput{Message: fmt.Sprintf("no media type for bid %v", bid.ID)} + } + + return extBid.Prebid.Type, nil +} diff --git a/adapters/goldbach/goldbach_test.go b/adapters/goldbach/goldbach_test.go new file mode 100644 index 000000000..55c5ea75f --- /dev/null +++ b/adapters/goldbach/goldbach_test.go @@ -0,0 +1,28 @@ +package goldbach + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/require" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder( + openrtb_ext.BidderGoldbach, + config.Adapter{ + Endpoint: "https://gold.bach/prebid/adapter-endpoint", + }, + config.Server{ + ExternalUrl: "http://hosturl.com", + GvlID: 1, + DataCenter: "2", + }, + ) + + require.NoError(t, buildErr) + + adapterstest.RunJSONBidderTest(t, "goldbachtest", bidder) +} diff --git a/adapters/goldbach/params_test.go b/adapters/goldbach/params_test.go new file mode 100644 index 000000000..0ef079fa8 --- /dev/null +++ b/adapters/goldbach/params_test.go @@ -0,0 +1,58 @@ +package goldbach + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/require" +) + +// This file actually intends to test static/bidder-params/goldbach.json + +// TestValidParams makes sure that the goldbach schema accepts all imp.ext fields which we intend to support. + +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + require.NoError(t, err, "Failed to fetch the json-schemas. %v", err) + + for _, validParam := range validParams { + err := validator.Validate(openrtb_ext.BidderGoldbach, json.RawMessage(validParam)) + + require.NoError(t, err, "Schema rejected goldbach params: %s", validParam) + } +} + +// TestInvalidParams makes sure that the goldbach schema rejects all the imp.ext fields we don't support. +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + require.NoError(t, err, "Failed to fetch the json-schemas. %v", err) + + for _, invalidParam := range invalidParams { + err := validator.Validate(openrtb_ext.BidderGoldbach, json.RawMessage(invalidParam)) + require.Error(t, err, "Schema allowed unexpected params: %s", invalidParam) + } +} + +var validParams = []string{ + `{"publisherId":"123","slotId":"333"}`, + `{"publisherId":"123","slotId":"333","customTargeting":{"key1":"value1","key2":["value2","value3"]}}`, +} + +var invalidParams = []string{ + `4.2`, + `5`, + `[]`, + ``, + `null`, + `true`, + `{}`, + `{"publisherId":123,"slotId":"333"}`, + `{"publisherId":"123","slotId":333}`, + `{"publisherId":"1234"}`, + `{"slotId":"abc"}`, + `{"publisherId":"123","slotId":"333","customTargeting":{"key1":123,"key2":["value2","value3"]}}`, + `{"publisherId":"123","slotId":"333","customTargeting":{"key1":false,"key2":["value2","value3"]}}`, + `{"publisherId":"123","slotId":"333","customTargeting":{"key1":"value1","key2":[123,456]}}`, + `{"publisherId":"123","slotId":"333","customTargeting":{"key1":"value1","key2":[true,false]}}`, +} diff --git a/adapters/gothamads/gothamads.go b/adapters/gothamads/gothamads.go index 7b2f24710..5adee4176 100644 --- a/adapters/gothamads/gothamads.go +++ b/adapters/gothamads/gothamads.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/gothamads/params_test.go b/adapters/gothamads/params_test.go index ff61796de..9bcb9db31 100644 --- a/adapters/gothamads/params_test.go +++ b/adapters/gothamads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/grid/grid.go b/adapters/grid/grid.go index ad61058fe..b0b4304f7 100644 --- a/adapters/grid/grid.go +++ b/adapters/grid/grid.go @@ -9,12 +9,12 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/maputil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/maputil" ) type GridAdapter struct { diff --git a/adapters/grid/grid_test.go b/adapters/grid/grid_test.go index bf7bfe547..652ae514c 100644 --- a/adapters/grid/grid_test.go +++ b/adapters/grid/grid_test.go @@ -3,9 +3,9 @@ package grid import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/gumgum/gumgum.go b/adapters/gumgum/gumgum.go index 943ccfdf1..08681a48a 100644 --- a/adapters/gumgum/gumgum.go +++ b/adapters/gumgum/gumgum.go @@ -8,11 +8,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // adapter implements Bidder interface. diff --git a/adapters/gumgum/gumgum_test.go b/adapters/gumgum/gumgum_test.go index 638681880..852f67267 100644 --- a/adapters/gumgum/gumgum_test.go +++ b/adapters/gumgum/gumgum_test.go @@ -3,9 +3,9 @@ package gumgum import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/gumgum/params_test.go b/adapters/gumgum/params_test.go index 514ab1d8c..a67c7695e 100644 --- a/adapters/gumgum/params_test.go +++ b/adapters/gumgum/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/huaweiads/huaweiads.go b/adapters/huaweiads/huaweiads.go index 144f5e222..6466e2b9b 100644 --- a/adapters/huaweiads/huaweiads.go +++ b/adapters/huaweiads/huaweiads.go @@ -20,12 +20,12 @@ import ( nativeRequests "github.com/prebid/openrtb/v20/native1/request" nativeResponse "github.com/prebid/openrtb/v20/native1/response" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) const huaweiAdxApiVersion = "3.4" diff --git a/adapters/huaweiads/huaweiads_test.go b/adapters/huaweiads/huaweiads_test.go index c6fd17fea..aa6e788af 100644 --- a/adapters/huaweiads/huaweiads_test.go +++ b/adapters/huaweiads/huaweiads_test.go @@ -3,9 +3,9 @@ package huaweiads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/huaweiads/params_test.go b/adapters/huaweiads/params_test.go index 9c4b5b36d..22c1d1e52 100644 --- a/adapters/huaweiads/params_test.go +++ b/adapters/huaweiads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/imds/imds.go b/adapters/imds/imds.go index a5f53d603..18a728461 100644 --- a/adapters/imds/imds.go +++ b/adapters/imds/imds.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const adapterVersion string = "pbs-go/1.0.0" diff --git a/adapters/imds/imds_test.go b/adapters/imds/imds_test.go index 40a00462c..525b2e6de 100644 --- a/adapters/imds/imds_test.go +++ b/adapters/imds/imds_test.go @@ -3,9 +3,9 @@ package imds import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/imds/params_test.go b/adapters/imds/params_test.go index d98fe04cd..2aa4a6b5e 100644 --- a/adapters/imds/params_test.go +++ b/adapters/imds/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/imds.json diff --git a/adapters/impactify/impactify.go b/adapters/impactify/impactify.go index 52f20ddd8..eca008f15 100644 --- a/adapters/impactify/impactify.go +++ b/adapters/impactify/impactify.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/impactify/impactify_test.go b/adapters/impactify/impactify_test.go index 2385c5c64..31be74f2f 100644 --- a/adapters/impactify/impactify_test.go +++ b/adapters/impactify/impactify_test.go @@ -3,9 +3,9 @@ package impactify import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/impactify/params_test.go b/adapters/impactify/params_test.go index 589e09017..d8b462609 100644 --- a/adapters/impactify/params_test.go +++ b/adapters/impactify/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/improvedigital/improvedigital.go b/adapters/improvedigital/improvedigital.go index 13534cc6d..3821087d1 100644 --- a/adapters/improvedigital/improvedigital.go +++ b/adapters/improvedigital/improvedigital.go @@ -9,11 +9,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/improvedigital/improvedigital_test.go b/adapters/improvedigital/improvedigital_test.go index cd00aeaab..ecb0007f9 100644 --- a/adapters/improvedigital/improvedigital_test.go +++ b/adapters/improvedigital/improvedigital_test.go @@ -3,9 +3,9 @@ package improvedigital import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/improvedigital/params_test.go b/adapters/improvedigital/params_test.go index abb1491fb..4b3c9cea9 100644 --- a/adapters/improvedigital/params_test.go +++ b/adapters/improvedigital/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/infoawarebidder.go b/adapters/infoawarebidder.go index 6ccc039b4..414a9d359 100644 --- a/adapters/infoawarebidder.go +++ b/adapters/infoawarebidder.go @@ -4,9 +4,9 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // InfoAwareBidder wraps a Bidder to ensure all requests abide by the capabilities and diff --git a/adapters/infoawarebidder_test.go b/adapters/infoawarebidder_test.go index 5a28e506c..1008cadcb 100644 --- a/adapters/infoawarebidder_test.go +++ b/adapters/infoawarebidder_test.go @@ -5,9 +5,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/adapters/infytv/infytv.go b/adapters/infytv/infytv.go index 1d0c70123..1d2a7b29d 100644 --- a/adapters/infytv/infytv.go +++ b/adapters/infytv/infytv.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/infytv/infytv_test.go b/adapters/infytv/infytv_test.go index 85a4dd4b9..c9d8c140c 100644 --- a/adapters/infytv/infytv_test.go +++ b/adapters/infytv/infytv_test.go @@ -3,9 +3,9 @@ package infytv import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/infytv/params_test.go b/adapters/infytv/params_test.go index 671a5a4e7..7ab22349b 100644 --- a/adapters/infytv/params_test.go +++ b/adapters/infytv/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/inmobi/inmobi.go b/adapters/inmobi/inmobi.go index f79151bea..6aa642212 100644 --- a/adapters/inmobi/inmobi.go +++ b/adapters/inmobi/inmobi.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type InMobiAdapter struct { diff --git a/adapters/inmobi/inmobi_test.go b/adapters/inmobi/inmobi_test.go index 89884a8dd..67f095f86 100644 --- a/adapters/inmobi/inmobi_test.go +++ b/adapters/inmobi/inmobi_test.go @@ -3,9 +3,9 @@ package inmobi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/insticator/insticator.go b/adapters/insticator/insticator.go index fc8487971..b4b3f3b9f 100644 --- a/adapters/insticator/insticator.go +++ b/adapters/insticator/insticator.go @@ -6,12 +6,12 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/mathutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/mathutil" ) type ext struct { diff --git a/adapters/insticator/insticator_test.go b/adapters/insticator/insticator_test.go index b557aedce..a93ddfe4a 100644 --- a/adapters/insticator/insticator_test.go +++ b/adapters/insticator/insticator_test.go @@ -3,9 +3,9 @@ package insticator import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/insticator/params_test.go b/adapters/insticator/params_test.go index 47d2bdf44..85089bb1e 100644 --- a/adapters/insticator/params_test.go +++ b/adapters/insticator/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/Insticator.json diff --git a/adapters/interactiveoffers/interactiveoffers.go b/adapters/interactiveoffers/interactiveoffers.go index 6eaee7a97..3c3d750bb 100644 --- a/adapters/interactiveoffers/interactiveoffers.go +++ b/adapters/interactiveoffers/interactiveoffers.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/interactiveoffers/interactiveoffers_test.go b/adapters/interactiveoffers/interactiveoffers_test.go index df116c60a..16c5eeb95 100644 --- a/adapters/interactiveoffers/interactiveoffers_test.go +++ b/adapters/interactiveoffers/interactiveoffers_test.go @@ -3,9 +3,9 @@ package interactiveoffers import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/interactiveoffers/params_test.go b/adapters/interactiveoffers/params_test.go index 631d8f44a..cb1537916 100644 --- a/adapters/interactiveoffers/params_test.go +++ b/adapters/interactiveoffers/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/intertech/params_test.go b/adapters/intertech/params_test.go index eb7bb0aba..908b654fd 100644 --- a/adapters/intertech/params_test.go +++ b/adapters/intertech/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/invibes/invibes.go b/adapters/invibes/invibes.go index 4657be297..a157fddff 100644 --- a/adapters/invibes/invibes.go +++ b/adapters/invibes/invibes.go @@ -10,13 +10,13 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const adapterVersion = "prebid_1.0.0" diff --git a/adapters/invibes/invibes_test.go b/adapters/invibes/invibes_test.go index be8dda3ff..1c27e09ed 100644 --- a/adapters/invibes/invibes_test.go +++ b/adapters/invibes/invibes_test.go @@ -3,9 +3,9 @@ package invibes import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/invibes/params_test.go b/adapters/invibes/params_test.go index 48be52c4b..2a5394488 100644 --- a/adapters/invibes/params_test.go +++ b/adapters/invibes/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/iqx/iqx.go b/adapters/iqx/iqx.go index c3519b10b..ea2100ef0 100644 --- a/adapters/iqx/iqx.go +++ b/adapters/iqx/iqx.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type bidType struct { diff --git a/adapters/iqx/iqxtest_test.go b/adapters/iqx/iqxtest_test.go index 190560d6d..6504c0e1d 100644 --- a/adapters/iqx/iqxtest_test.go +++ b/adapters/iqx/iqxtest_test.go @@ -3,9 +3,9 @@ package iqx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/iqx/params_test.go b/adapters/iqx/params_test.go index 4b687728b..883bb46a3 100644 --- a/adapters/iqx/params_test.go +++ b/adapters/iqx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/iqzone/iqzone.go b/adapters/iqzone/iqzone.go index 9becbfbb8..2aaf90eeb 100644 --- a/adapters/iqzone/iqzone.go +++ b/adapters/iqzone/iqzone.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/iqzone/iqzone_test.go b/adapters/iqzone/iqzone_test.go index 37ba833f5..bda00b152 100644 --- a/adapters/iqzone/iqzone_test.go +++ b/adapters/iqzone/iqzone_test.go @@ -3,9 +3,9 @@ package iqzone import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/iqzone/params_test.go b/adapters/iqzone/params_test.go index 4d3aa165a..f1b6ba1c4 100644 --- a/adapters/iqzone/params_test.go +++ b/adapters/iqzone/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/ix/ix.go b/adapters/ix/ix.go index b24d99eff..b09e8511c 100644 --- a/adapters/ix/ix.go +++ b/adapters/ix/ix.go @@ -7,13 +7,13 @@ import ( "sort" "strings" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/version" "github.com/prebid/openrtb/v20/native1" native1response "github.com/prebid/openrtb/v20/native1/response" diff --git a/adapters/ix/ix_test.go b/adapters/ix/ix_test.go index d46b69adf..eb6b96f42 100644 --- a/adapters/ix/ix_test.go +++ b/adapters/ix/ix_test.go @@ -4,11 +4,11 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/prebid/openrtb/v20/adcom1" diff --git a/adapters/ix/params_test.go b/adapters/ix/params_test.go index 90d591b50..e1f4b4466 100644 --- a/adapters/ix/params_test.go +++ b/adapters/ix/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/jixie/jixie.go b/adapters/jixie/jixie.go index d0411d1e5..9ab479664 100644 --- a/adapters/jixie/jixie.go +++ b/adapters/jixie/jixie.go @@ -7,11 +7,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/jixie/jixie_test.go b/adapters/jixie/jixie_test.go index 6fe4fa24c..cf217eb4f 100644 --- a/adapters/jixie/jixie_test.go +++ b/adapters/jixie/jixie_test.go @@ -3,9 +3,9 @@ package jixie import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/jixie/params_test.go b/adapters/jixie/params_test.go index 653f3f86e..1cd650a94 100644 --- a/adapters/jixie/params_test.go +++ b/adapters/jixie/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/kargo/kargo.go b/adapters/kargo/kargo.go index da12ef68c..c75b68128 100644 --- a/adapters/kargo/kargo.go +++ b/adapters/kargo/kargo.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/kargo/kargo_test.go b/adapters/kargo/kargo_test.go index 0e7eb83bc..fe3ba8bab 100644 --- a/adapters/kargo/kargo_test.go +++ b/adapters/kargo/kargo_test.go @@ -3,9 +3,9 @@ package kargo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/kargo/params_test.go b/adapters/kargo/params_test.go index 91b46fbc4..2bd805d0a 100644 --- a/adapters/kargo/params_test.go +++ b/adapters/kargo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/kayzen/kayzen.go b/adapters/kayzen/kayzen.go index 680362603..9c866918a 100644 --- a/adapters/kayzen/kayzen.go +++ b/adapters/kayzen/kayzen.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/kayzen/kayzen_test.go b/adapters/kayzen/kayzen_test.go index 6b3776ddb..3b0644906 100644 --- a/adapters/kayzen/kayzen_test.go +++ b/adapters/kayzen/kayzen_test.go @@ -3,9 +3,9 @@ package kayzen import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/kayzen/params_test.go b/adapters/kayzen/params_test.go index 647f77d13..66666e198 100644 --- a/adapters/kayzen/params_test.go +++ b/adapters/kayzen/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/kidoz/kidoz.go b/adapters/kidoz/kidoz.go index 88628085e..df9d1fe45 100644 --- a/adapters/kidoz/kidoz.go +++ b/adapters/kidoz/kidoz.go @@ -7,11 +7,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type KidozAdapter struct { diff --git a/adapters/kidoz/kidoz_test.go b/adapters/kidoz/kidoz_test.go index 892351855..59b1b63f2 100644 --- a/adapters/kidoz/kidoz_test.go +++ b/adapters/kidoz/kidoz_test.go @@ -6,10 +6,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/kidoz/params_test.go b/adapters/kidoz/params_test.go index 1dfa3e895..87521a27f 100644 --- a/adapters/kidoz/params_test.go +++ b/adapters/kidoz/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/kiviads/kiviads.go b/adapters/kiviads/kiviads.go index ad5dcb58e..98ab0dc0c 100644 --- a/adapters/kiviads/kiviads.go +++ b/adapters/kiviads/kiviads.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/kiviads/kiviads_test.go b/adapters/kiviads/kiviads_test.go index dd83e0d17..c754fea01 100644 --- a/adapters/kiviads/kiviads_test.go +++ b/adapters/kiviads/kiviads_test.go @@ -3,9 +3,9 @@ package kiviads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/kiviads/params_test.go b/adapters/kiviads/params_test.go index 019279500..12a46ce73 100644 --- a/adapters/kiviads/params_test.go +++ b/adapters/kiviads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/kobler/kobler.go b/adapters/kobler/kobler.go index cb1a1acaa..30c88ba55 100644 --- a/adapters/kobler/kobler.go +++ b/adapters/kobler/kobler.go @@ -7,11 +7,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/kobler/kobler_test.go b/adapters/kobler/kobler_test.go index 0cd924b8b..622a43c8d 100644 --- a/adapters/kobler/kobler_test.go +++ b/adapters/kobler/kobler_test.go @@ -3,9 +3,9 @@ package kobler import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/kobler/params_test.go b/adapters/kobler/params_test.go index bc8b3ec9b..d40dbfba1 100644 --- a/adapters/kobler/params_test.go +++ b/adapters/kobler/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/krushmedia/krushmedia.go b/adapters/krushmedia/krushmedia.go index fd2a0adf8..3d95cd94f 100644 --- a/adapters/krushmedia/krushmedia.go +++ b/adapters/krushmedia/krushmedia.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type KrushmediaAdapter struct { diff --git a/adapters/krushmedia/krushmedia_test.go b/adapters/krushmedia/krushmedia_test.go index 26117ce10..f39f62993 100644 --- a/adapters/krushmedia/krushmedia_test.go +++ b/adapters/krushmedia/krushmedia_test.go @@ -3,9 +3,9 @@ package krushmedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/krushmedia/params_test.go b/adapters/krushmedia/params_test.go index babf6b205..0fc1a0fbb 100644 --- a/adapters/krushmedia/params_test.go +++ b/adapters/krushmedia/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/kueezrtb/kueezrtb.go b/adapters/kueezrtb/kueezrtb.go index 0edfbffd3..cd2000747 100644 --- a/adapters/kueezrtb/kueezrtb.go +++ b/adapters/kueezrtb/kueezrtb.go @@ -4,11 +4,11 @@ import ( "encoding/json" "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "net/http" "net/url" ) diff --git a/adapters/kueezrtb/kueezrtb_test.go b/adapters/kueezrtb/kueezrtb_test.go index b62eff292..82b233a6f 100644 --- a/adapters/kueezrtb/kueezrtb_test.go +++ b/adapters/kueezrtb/kueezrtb_test.go @@ -3,9 +3,9 @@ package kueezrtb import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/kueezrtb/params_test.go b/adapters/kueezrtb/params_test.go index f7b263728..4b9683dbb 100644 --- a/adapters/kueezrtb/params_test.go +++ b/adapters/kueezrtb/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/lemmadigital/lemmadigital.go b/adapters/lemmadigital/lemmadigital.go index 16d93d47b..a098699dc 100644 --- a/adapters/lemmadigital/lemmadigital.go +++ b/adapters/lemmadigital/lemmadigital.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/lemmadigital/lemmadigital_test.go b/adapters/lemmadigital/lemmadigital_test.go index d3e770bb6..a6705f391 100644 --- a/adapters/lemmadigital/lemmadigital_test.go +++ b/adapters/lemmadigital/lemmadigital_test.go @@ -3,9 +3,9 @@ package lemmadigital import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/lemmadigital/params_test.go b/adapters/lemmadigital/params_test.go index c8c739ff5..b9335a1ef 100644 --- a/adapters/lemmadigital/params_test.go +++ b/adapters/lemmadigital/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Tests for static/bidder-params/lemmadigital.json diff --git a/adapters/limelightDigital/limelightDigital.go b/adapters/limelightDigital/limelightDigital.go index 18ba5dd6f..47566812c 100644 --- a/adapters/limelightDigital/limelightDigital.go +++ b/adapters/limelightDigital/limelightDigital.go @@ -10,12 +10,12 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/limelightDigital/limelightDigital_test.go b/adapters/limelightDigital/limelightDigital_test.go index 2b36ee573..1f838245c 100644 --- a/adapters/limelightDigital/limelightDigital_test.go +++ b/adapters/limelightDigital/limelightDigital_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/limelightDigital/params_test.go b/adapters/limelightDigital/params_test.go index 04c49d837..a4aaa4466 100644 --- a/adapters/limelightDigital/params_test.go +++ b/adapters/limelightDigital/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/lm_kiviads/lmkiviads.go b/adapters/lm_kiviads/lmkiviads.go index bc4e48b1d..e94a9a9ab 100644 --- a/adapters/lm_kiviads/lmkiviads.go +++ b/adapters/lm_kiviads/lmkiviads.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type bidType struct { diff --git a/adapters/lm_kiviads/lmkiviads_test.go b/adapters/lm_kiviads/lmkiviads_test.go index 34ea2bf46..05d845825 100644 --- a/adapters/lm_kiviads/lmkiviads_test.go +++ b/adapters/lm_kiviads/lmkiviads_test.go @@ -3,9 +3,9 @@ package lmkiviads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/lm_kiviads/params_test.go b/adapters/lm_kiviads/params_test.go index 00f76bca9..2d77754e0 100644 --- a/adapters/lm_kiviads/params_test.go +++ b/adapters/lm_kiviads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/lockerdome/lockerdome.go b/adapters/lockerdome/lockerdome.go index 2206b8201..ac79a6726 100644 --- a/adapters/lockerdome/lockerdome.go +++ b/adapters/lockerdome/lockerdome.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const unexpectedStatusCodeMessage = "Unexpected status code: %d. Run with request.debug = 1 for more info" diff --git a/adapters/lockerdome/lockerdome_test.go b/adapters/lockerdome/lockerdome_test.go index b0c12083e..3d2de082d 100644 --- a/adapters/lockerdome/lockerdome_test.go +++ b/adapters/lockerdome/lockerdome_test.go @@ -3,9 +3,9 @@ package lockerdome import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/lockerdome/params_test.go b/adapters/lockerdome/params_test.go index 50504b68d..3a15f2485 100644 --- a/adapters/lockerdome/params_test.go +++ b/adapters/lockerdome/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file tests static/bidder-params/lockerdome.json diff --git a/adapters/logan/logan.go b/adapters/logan/logan.go index a5f995108..bff7cbcbe 100644 --- a/adapters/logan/logan.go +++ b/adapters/logan/logan.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/logan/logan_test.go b/adapters/logan/logan_test.go index 8e677c558..a465282d7 100644 --- a/adapters/logan/logan_test.go +++ b/adapters/logan/logan_test.go @@ -3,9 +3,9 @@ package logan import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/logan/params_test.go b/adapters/logan/params_test.go index 76c8cb3dd..c09b6c4f8 100644 --- a/adapters/logan/params_test.go +++ b/adapters/logan/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/logicad/logicad.go b/adapters/logicad/logicad.go index a1dc40fdc..8f81e4a7c 100644 --- a/adapters/logicad/logicad.go +++ b/adapters/logicad/logicad.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type LogicadAdapter struct { diff --git a/adapters/logicad/logicad_test.go b/adapters/logicad/logicad_test.go index a15d381cb..c58f39085 100644 --- a/adapters/logicad/logicad_test.go +++ b/adapters/logicad/logicad_test.go @@ -3,9 +3,9 @@ package logicad import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/logicad/params_test.go b/adapters/logicad/params_test.go index 06f15d9d1..9a15906c8 100644 --- a/adapters/logicad/params_test.go +++ b/adapters/logicad/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/loopme/loopme.go b/adapters/loopme/loopme.go index d4b9d7906..fde97aee0 100644 --- a/adapters/loopme/loopme.go +++ b/adapters/loopme/loopme.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type adapter struct { diff --git a/adapters/loopme/loopme_test.go b/adapters/loopme/loopme_test.go index ca293c45c..003a240c2 100644 --- a/adapters/loopme/loopme_test.go +++ b/adapters/loopme/loopme_test.go @@ -3,9 +3,9 @@ package loopme import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/loopme/params_test.go b/adapters/loopme/params_test.go index 12ddf8e98..9ff1acf3d 100644 --- a/adapters/loopme/params_test.go +++ b/adapters/loopme/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/loopme.json diff --git a/adapters/loyal/loyal.go b/adapters/loyal/loyal.go index efe069c63..8a16c4f5b 100644 --- a/adapters/loyal/loyal.go +++ b/adapters/loyal/loyal.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/loyal/loyal_test.go b/adapters/loyal/loyal_test.go index 1836b267b..566486019 100644 --- a/adapters/loyal/loyal_test.go +++ b/adapters/loyal/loyal_test.go @@ -3,9 +3,9 @@ package loyal import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/loyal/params_test.go b/adapters/loyal/params_test.go index e0c47d503..ae1ba114e 100644 --- a/adapters/loyal/params_test.go +++ b/adapters/loyal/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/lunamedia/lunamedia.go b/adapters/lunamedia/lunamedia.go index 3db1b12ad..2c5b87aa6 100644 --- a/adapters/lunamedia/lunamedia.go +++ b/adapters/lunamedia/lunamedia.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type LunaMediaAdapter struct { diff --git a/adapters/lunamedia/lunamedia_test.go b/adapters/lunamedia/lunamedia_test.go index 8677fbb29..b04789370 100644 --- a/adapters/lunamedia/lunamedia_test.go +++ b/adapters/lunamedia/lunamedia_test.go @@ -3,9 +3,9 @@ package lunamedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/lunamedia/params_test.go b/adapters/lunamedia/params_test.go index b78b94934..6ff7240b5 100644 --- a/adapters/lunamedia/params_test.go +++ b/adapters/lunamedia/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/mabidder/mabidder.go b/adapters/mabidder/mabidder.go index 25d2830ef..99a37ce8b 100644 --- a/adapters/mabidder/mabidder.go +++ b/adapters/mabidder/mabidder.go @@ -4,10 +4,10 @@ import ( "encoding/json" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type serverResponse struct { diff --git a/adapters/mabidder/mabidder_test.go b/adapters/mabidder/mabidder_test.go index f821752e9..8aa74d5b0 100644 --- a/adapters/mabidder/mabidder_test.go +++ b/adapters/mabidder/mabidder_test.go @@ -3,9 +3,9 @@ package mabidder import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mabidder/params_test.go b/adapters/mabidder/params_test.go index bd4162448..1d216b4d4 100644 --- a/adapters/mabidder/params_test.go +++ b/adapters/mabidder/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/madsense/madsense.go b/adapters/madsense/madsense.go index 5cf32d64d..d827fcb36 100644 --- a/adapters/madsense/madsense.go +++ b/adapters/madsense/madsense.go @@ -5,11 +5,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/madsense/madsense_test.go b/adapters/madsense/madsense_test.go index 8093066ac..f1f6c1f3a 100644 --- a/adapters/madsense/madsense_test.go +++ b/adapters/madsense/madsense_test.go @@ -1,9 +1,9 @@ package madsense import ( - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/require" "testing" ) diff --git a/adapters/madsense/params_test.go b/adapters/madsense/params_test.go index de5970674..32283395a 100644 --- a/adapters/madsense/params_test.go +++ b/adapters/madsense/params_test.go @@ -2,7 +2,7 @@ package madsense import ( "encoding/json" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/require" "testing" ) diff --git a/adapters/madsense/utils.go b/adapters/madsense/utils.go index 992d13633..fb1d168d6 100644 --- a/adapters/madsense/utils.go +++ b/adapters/madsense/utils.go @@ -5,10 +5,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func parseImpExt(imp *openrtb2.Imp) (*openrtb_ext.ExtImpMadSense, error) { diff --git a/adapters/madvertise/madvertise.go b/adapters/madvertise/madvertise.go index d8c6fc395..bcc95ed88 100644 --- a/adapters/madvertise/madvertise.go +++ b/adapters/madvertise/madvertise.go @@ -8,12 +8,12 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/madvertise/madvertise_test.go b/adapters/madvertise/madvertise_test.go index e402ae4dc..edfb3f335 100644 --- a/adapters/madvertise/madvertise_test.go +++ b/adapters/madvertise/madvertise_test.go @@ -3,9 +3,9 @@ package madvertise import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/madvertise/params_test.go b/adapters/madvertise/params_test.go index c155d5bed..f5f1af383 100644 --- a/adapters/madvertise/params_test.go +++ b/adapters/madvertise/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/Madvertise.json diff --git a/adapters/marsmedia/marsmedia.go b/adapters/marsmedia/marsmedia.go index 92bfa0dc9..b9548e77f 100644 --- a/adapters/marsmedia/marsmedia.go +++ b/adapters/marsmedia/marsmedia.go @@ -7,11 +7,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type MarsmediaAdapter struct { diff --git a/adapters/marsmedia/marsmedia_test.go b/adapters/marsmedia/marsmedia_test.go index 4164d433f..5b3da23b3 100644 --- a/adapters/marsmedia/marsmedia_test.go +++ b/adapters/marsmedia/marsmedia_test.go @@ -3,9 +3,9 @@ package marsmedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/marsmedia/params_test.go b/adapters/marsmedia/params_test.go index 7961d2145..e2c00c968 100644 --- a/adapters/marsmedia/params_test.go +++ b/adapters/marsmedia/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/marsmedia.json diff --git a/adapters/mediago/mediago.go b/adapters/mediago/mediago.go index dc7ee01b9..428e6cb15 100644 --- a/adapters/mediago/mediago.go +++ b/adapters/mediago/mediago.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/mediago/mediago_test.go b/adapters/mediago/mediago_test.go index d6a480c82..944643e41 100644 --- a/adapters/mediago/mediago_test.go +++ b/adapters/mediago/mediago_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mediago/params_test.go b/adapters/mediago/params_test.go index c1a7fbd3e..963986306 100644 --- a/adapters/mediago/params_test.go +++ b/adapters/mediago/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/medianet/medianet.go b/adapters/medianet/medianet.go index 08a1ae021..06ae131f6 100644 --- a/adapters/medianet/medianet.go +++ b/adapters/medianet/medianet.go @@ -7,11 +7,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/medianet/medianet_test.go b/adapters/medianet/medianet_test.go index 8721c6984..84efea60b 100644 --- a/adapters/medianet/medianet_test.go +++ b/adapters/medianet/medianet_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/medianet/params_test.go b/adapters/medianet/params_test.go index 15cd4acba..78c520a8f 100644 --- a/adapters/medianet/params_test.go +++ b/adapters/medianet/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/medianet.json diff --git a/adapters/mediasquare/mediasquare.go b/adapters/mediasquare/mediasquare.go index c23164c25..98516a149 100644 --- a/adapters/mediasquare/mediasquare.go +++ b/adapters/mediasquare/mediasquare.go @@ -5,11 +5,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/mediasquare/mediasquare_test.go b/adapters/mediasquare/mediasquare_test.go index 091f13ba1..25df6fb35 100644 --- a/adapters/mediasquare/mediasquare_test.go +++ b/adapters/mediasquare/mediasquare_test.go @@ -4,10 +4,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/mediasquare/params_test.go b/adapters/mediasquare/params_test.go index c9d2d5fe0..4906679e2 100644 --- a/adapters/mediasquare/params_test.go +++ b/adapters/mediasquare/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/mediasquare/parsers.go b/adapters/mediasquare/parsers.go index f2ef4ab67..4c1524df4 100644 --- a/adapters/mediasquare/parsers.go +++ b/adapters/mediasquare/parsers.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // parserDSA: Struct used to extracts dsa content of a jsonutil. diff --git a/adapters/mediasquare/structs.go b/adapters/mediasquare/structs.go index 3758e3138..71da094fb 100644 --- a/adapters/mediasquare/structs.go +++ b/adapters/mediasquare/structs.go @@ -4,8 +4,9 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/version" ) // msqResponse: Bid-Response sent by mediasquare. diff --git a/adapters/mediasquare/utils.go b/adapters/mediasquare/utils.go index 50ee7285a..bcd527138 100644 --- a/adapters/mediasquare/utils.go +++ b/adapters/mediasquare/utils.go @@ -5,8 +5,8 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) var headerList = map[string][]string{ diff --git a/adapters/melozen/melozen.go b/adapters/melozen/melozen.go index d49cc2878..2b9353a25 100644 --- a/adapters/melozen/melozen.go +++ b/adapters/melozen/melozen.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/melozen/melozen_test.go b/adapters/melozen/melozen_test.go index cf6189c6a..c2db273e1 100644 --- a/adapters/melozen/melozen_test.go +++ b/adapters/melozen/melozen_test.go @@ -3,9 +3,9 @@ package melozen import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/melozen/params_test.go b/adapters/melozen/params_test.go index 42a4b38ec..19d4d2e24 100644 --- a/adapters/melozen/params_test.go +++ b/adapters/melozen/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/metax/metax.go b/adapters/metax/metax.go index 8b1970436..f5e0a3a69 100644 --- a/adapters/metax/metax.go +++ b/adapters/metax/metax.go @@ -9,13 +9,13 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) type adapter struct { diff --git a/adapters/metax/metax_test.go b/adapters/metax/metax_test.go index f4f9d7e49..74399aada 100644 --- a/adapters/metax/metax_test.go +++ b/adapters/metax/metax_test.go @@ -5,11 +5,11 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/adapters/metax/params_test.go b/adapters/metax/params_test.go index 4487c2332..f0ae81cb7 100644 --- a/adapters/metax/params_test.go +++ b/adapters/metax/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/metax.json diff --git a/adapters/mgid/mgid.go b/adapters/mgid/mgid.go index 68a760a7f..159475eec 100644 --- a/adapters/mgid/mgid.go +++ b/adapters/mgid/mgid.go @@ -7,11 +7,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type MgidAdapter struct { diff --git a/adapters/mgid/mgid_test.go b/adapters/mgid/mgid_test.go index 7dc7018b5..50d7792d1 100644 --- a/adapters/mgid/mgid_test.go +++ b/adapters/mgid/mgid_test.go @@ -3,9 +3,9 @@ package mgid import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mgidX/mgidX.go b/adapters/mgidX/mgidX.go index f952fc27f..1b123b04d 100644 --- a/adapters/mgidX/mgidX.go +++ b/adapters/mgidX/mgidX.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/mgidX/mgidX_test.go b/adapters/mgidX/mgidX_test.go index 90ea5c790..33ea88c0d 100644 --- a/adapters/mgidX/mgidX_test.go +++ b/adapters/mgidX/mgidX_test.go @@ -3,9 +3,9 @@ package mgidX import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mgidX/params_test.go b/adapters/mgidX/params_test.go index c5246fba4..0bc39eafa 100644 --- a/adapters/mgidX/params_test.go +++ b/adapters/mgidX/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/minutemedia/minutemedia.go b/adapters/minutemedia/minutemedia.go index f5a212501..209492527 100644 --- a/adapters/minutemedia/minutemedia.go +++ b/adapters/minutemedia/minutemedia.go @@ -10,11 +10,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // adapter is a MinuteMedia implementation of the adapters.Bidder interface. diff --git a/adapters/minutemedia/minutemedia_test.go b/adapters/minutemedia/minutemedia_test.go index aa3ce56ca..577f4388f 100644 --- a/adapters/minutemedia/minutemedia_test.go +++ b/adapters/minutemedia/minutemedia_test.go @@ -3,9 +3,9 @@ package minutemedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "minutemediatest" diff --git a/adapters/missena/missena.go b/adapters/missena/missena.go index 401f11d15..a27d2a8b9 100644 --- a/adapters/missena/missena.go +++ b/adapters/missena/missena.go @@ -7,13 +7,13 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/version" ) type adapter struct { diff --git a/adapters/missena/missena_test.go b/adapters/missena/missena_test.go index 4a858d27c..e6a4a6903 100644 --- a/adapters/missena/missena_test.go +++ b/adapters/missena/missena_test.go @@ -3,9 +3,9 @@ package missena import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/missena/params_test.go b/adapters/missena/params_test.go index 393561b43..c1ed1b427 100644 --- a/adapters/missena/params_test.go +++ b/adapters/missena/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/mobfoxpb/mobfoxpb.go b/adapters/mobfoxpb/mobfoxpb.go index 538e7f7bc..5f9dff28f 100644 --- a/adapters/mobfoxpb/mobfoxpb.go +++ b/adapters/mobfoxpb/mobfoxpb.go @@ -8,11 +8,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/mobfoxpb/mobfoxpb_test.go b/adapters/mobfoxpb/mobfoxpb_test.go index cbcfd29eb..4a36694e0 100644 --- a/adapters/mobfoxpb/mobfoxpb_test.go +++ b/adapters/mobfoxpb/mobfoxpb_test.go @@ -3,9 +3,9 @@ package mobfoxpb import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mobfoxpb/params_test.go b/adapters/mobfoxpb/params_test.go index 52b9ffb62..40553b946 100644 --- a/adapters/mobfoxpb/params_test.go +++ b/adapters/mobfoxpb/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the mobfoxpb schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/mobilefuse/mobilefuse.go b/adapters/mobilefuse/mobilefuse.go index 88e562b47..a7f50dc0b 100644 --- a/adapters/mobilefuse/mobilefuse.go +++ b/adapters/mobilefuse/mobilefuse.go @@ -7,11 +7,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type MobileFuseAdapter struct { diff --git a/adapters/mobilefuse/mobilefuse_test.go b/adapters/mobilefuse/mobilefuse_test.go index e0a2f3dc2..0d05f27fc 100644 --- a/adapters/mobilefuse/mobilefuse_test.go +++ b/adapters/mobilefuse/mobilefuse_test.go @@ -3,9 +3,9 @@ package mobilefuse import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mobilefuse/params_test.go b/adapters/mobilefuse/params_test.go index e58567545..2ef8686ab 100644 --- a/adapters/mobilefuse/params_test.go +++ b/adapters/mobilefuse/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(test *testing.T) { diff --git a/adapters/mobkoi/mobkoi.go b/adapters/mobkoi/mobkoi.go index 19a6d34d5..70db30b73 100644 --- a/adapters/mobkoi/mobkoi.go +++ b/adapters/mobkoi/mobkoi.go @@ -7,10 +7,10 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/mobkoi/mobkoi_test.go b/adapters/mobkoi/mobkoi_test.go index 36ee6a329..9606ae2af 100644 --- a/adapters/mobkoi/mobkoi_test.go +++ b/adapters/mobkoi/mobkoi_test.go @@ -3,9 +3,9 @@ package mobkoi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/mobkoi/params_test.go b/adapters/mobkoi/params_test.go index 1ee1fd977..d45276704 100644 --- a/adapters/mobkoi/params_test.go +++ b/adapters/mobkoi/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(test *testing.T) { diff --git a/adapters/motorik/motorik.go b/adapters/motorik/motorik.go index 5256605ec..4802d19b0 100644 --- a/adapters/motorik/motorik.go +++ b/adapters/motorik/motorik.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/motorik/motorik_test.go b/adapters/motorik/motorik_test.go index 5d99d0501..9a94bc633 100644 --- a/adapters/motorik/motorik_test.go +++ b/adapters/motorik/motorik_test.go @@ -3,9 +3,9 @@ package motorik import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/motorik/params_test.go b/adapters/motorik/params_test.go index 9c8dc2f5d..5a8dc4189 100644 --- a/adapters/motorik/params_test.go +++ b/adapters/motorik/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/msft/models.go b/adapters/msft/models.go new file mode 100644 index 000000000..7a3bf291f --- /dev/null +++ b/adapters/msft/models.go @@ -0,0 +1,60 @@ +package msft + +import ( + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +type extraAdapterInfo struct { + HBSource int `json:"hb_source"` + HBSourceVideo int `json:"hb_source_video"` +} + +// impExtIncoming defines the incoming data contract to Prebid Server. +type impExtIncoming struct { + Bidder openrtb_ext.ImpExtMsft `json:"bidder"` + GPID string `json:"gpid"` +} + +// impExtOutgoing defines the outgoing data contract from Prebid Server to Microsoft. +type impExtOutgoing struct { + Appnexus impExtOutgoingAppnexus `json:"appnexus"` + GPID string `json:"gpid,omitempty"` +} + +type impExtOutgoingAppnexus struct { + PlacementID int `json:"placement_id,omitempty"` + AllowSmallerSizes *bool `json:"allow_smaller_sizes,omitempty"` + UsePmtRule *bool `json:"use_pmt_rule,omitempty"` + Keywords string `json:"keywords,omitempty"` + TrafficSourceCode string `json:"traffic_source_code,omitempty"` + PubClick string `json:"pub_click,omitempty"` + ExtInvCode string `json:"ext_inv_code,omitempty"` + ExtImpID string `json:"ext_imp_id,omitempty"` +} + +type bidExtVideo struct { + Duration int `json:"duration"` +} + +type bidExtCreative struct { + Video bidExtVideo `json:"video"` +} + +type bidExtAppnexus struct { + BidType int `json:"bid_ad_type"` + BrandId int `json:"brand_id"` + BrandCategory int `json:"brand_category_id"` + CreativeInfo bidExtCreative `json:"creative_info"` + DealPriority int `json:"deal_priority"` +} + +type bidExt struct { + Appnexus bidExtAppnexus `json:"appnexus"` +} + +type requestExAppnexus struct { + IncludeBrandCategory *bool `json:"include_brand_category,omitempty"` + BrandCategoryUniqueness *bool `json:"brand_category_uniqueness,omitempty"` + IsAMP int `json:"is_amp,omitempty"` + HeaderBiddingSource int `json:"hb_source,omitempty"` +} diff --git a/adapters/msft/msft.go b/adapters/msft/msft.go new file mode 100644 index 000000000..8eae4790c --- /dev/null +++ b/adapters/msft/msft.go @@ -0,0 +1,395 @@ +package msft + +import ( + "encoding/json" + "errors" + "fmt" + "net/http" + "net/url" + + "github.com/buger/jsonparser" + "github.com/prebid/openrtb/v20/openrtb2" + + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" +) + +const ( + defaultHBSource = 5 + defaultHBSourceVideo = 6 + maxImpsPerReq = 10 +) + +var ( + errMalformedExtraInfo = errors.New("malformed extra adapter info") + errMalformedRequestExt = errors.New("malformed request ext.appnexus") + errMemberIDMismatch = errors.New("member id mismatch: all impressions must use the same member id") +) + +type adapter struct { + uri url.URL + hbSource int + hbSourceVideo int +} + +// Builder builds a new instance of the Microsoft adapter for the given bidder with the given config. +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, _ config.Server) (adapters.Bidder, error) { + uri, err := url.Parse(config.Endpoint) + if err != nil { + return nil, err + } + + extraInfo, err := parseExtraInfo(config.ExtraAdapterInfo) + if err != nil { + return nil, err + } + + bidder := &adapter{ + uri: *uri, + hbSource: extraInfo.HBSource, + hbSourceVideo: extraInfo.HBSourceVideo, + } + return bidder, nil +} + +func parseExtraInfo(v string) (extraAdapterInfo, error) { + if len(v) == 0 { + return buildDefaultExtraInfo(), nil + } + + var info extraAdapterInfo + if err := jsonutil.Unmarshal([]byte(v), &info); err != nil { + return info, errMalformedExtraInfo + } + + if info.HBSource == 0 { + info.HBSource = defaultHBSource + } + + if info.HBSourceVideo == 0 { + info.HBSourceVideo = defaultHBSourceVideo + } + + return info, nil +} + +func buildDefaultExtraInfo() extraAdapterInfo { + return extraAdapterInfo{ + HBSource: defaultHBSource, + HBSourceVideo: defaultHBSourceVideo, + } +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + displayManagerVerBuilder := initDisplayManageVerBuilder(request) + + var ( + uniqueMemberID int + errs []error + ) + + validImps := []openrtb2.Imp{} + for i := 0; i < len(request.Imp); i++ { + var impExt impExtIncoming + if err := jsonutil.Unmarshal(request.Imp[i].Ext, &impExt); err != nil { + errs = append(errs, fmt.Errorf("failed to parse ext for impression id '%s'", request.Imp[i].ID)) + continue + } + + if err := modifyImp(&request.Imp[i], impExt, displayManagerVerBuilder); err != nil { + errs = append(errs, fmt.Errorf("failed to build ext for impression id '%s'", request.Imp[i].ID)) + continue + } + + // ensure all impressions with member ids use the same member id + memberID := impExt.Bidder.Member + if memberID != 0 { + if uniqueMemberID == 0 { + uniqueMemberID = memberID + } else if uniqueMemberID != memberID { + errs = append(errs, errMemberIDMismatch) + return nil, errs + } + } + + validImps = append(validImps, request.Imp[i]) + } + + if len(validImps) == 0 { + return nil, errs + } + + request.Imp = validImps + + requestURI := a.uri + if uniqueMemberID != 0 { + requestURI = appendMemberID(requestURI, uniqueMemberID) + } + + if err := a.modifyRequestExt(request, requestInfo); err != nil { + return nil, append(errs, err) + } + + requests, errors := buildRequests(request.Imp, request, requestURI.String()) + return requests, append(errs, errors...) +} + +func initDisplayManageVerBuilder(req *openrtb2.BidRequest) func() string { + if req.App == nil || len(req.App.Ext) == 0 { + return func() string { return "" } + } + + var ( + appExt json.RawMessage = req.App.Ext + result string + hasRun bool + ) + return func() string { + if !hasRun { + source, err := jsonparser.GetString(appExt, openrtb_ext.PrebidExtKey, "source") + if err != nil { + hasRun = true + return result + } + + version, err := jsonparser.GetString(appExt, openrtb_ext.PrebidExtKey, "version") + if err != nil { + hasRun = true + return result + } + + result = fmt.Sprintf("%s-%s", source, version) + hasRun = true + } + return result + } +} + +func modifyImp(imp *openrtb2.Imp, ext impExtIncoming, displayManagerVerBuilder func() string) error { + if ext.Bidder.InvCode != "" { + imp.TagID = ext.Bidder.InvCode + } + + if imp.Banner != nil { + bannerCopy := *imp.Banner + + if bannerCopy.W == nil && bannerCopy.H == nil && len(bannerCopy.Format) > 0 { + firstFormat := bannerCopy.Format[0] + bannerCopy.W = &(firstFormat.W) + bannerCopy.H = &(firstFormat.H) + } + + if bannerCopy.API == nil { + bannerCopy.API = ext.Bidder.BannerFrameworks + } + + imp.Banner = &bannerCopy + } + + if len(imp.DisplayManagerVer) == 0 { + imp.DisplayManagerVer = displayManagerVerBuilder() + } + + impExt := impExtOutgoing{ + Appnexus: impExtOutgoingAppnexus{ + PlacementID: ext.Bidder.PlacementID, + AllowSmallerSizes: ext.Bidder.AllowSmallerSizes, + UsePmtRule: ext.Bidder.UsePaymentRule, + Keywords: ext.Bidder.Keywords, + TrafficSourceCode: ext.Bidder.TrafficSourceCode, + PubClick: ext.Bidder.PubClick, + ExtInvCode: ext.Bidder.ExtInvCode, + ExtImpID: ext.Bidder.ExtImpID, + }, + GPID: ext.GPID, + } + + var err error + imp.Ext, err = jsonutil.Marshal(impExt) + + return err +} + +func appendMemberID(uri url.URL, memberID int) url.URL { + q := uri.Query() + q.Set("member_id", fmt.Sprint(memberID)) + uri.RawQuery = q.Encode() + return uri +} + +func (a *adapter) modifyRequestExt(request *openrtb2.BidRequest, requestInfo *adapters.ExtraRequestInfo) error { + reqExt, err := getRequestExt(request.Ext) + if err != nil { + return err + } + + reqExtAppnexus, err := a.getAppnexusExt(reqExt, requestInfo.PbsEntryPoint) + if err != nil { + return err + } + + appnexusExtJson, err := jsonutil.Marshal(reqExtAppnexus) + if err != nil { + return err + } + + reqExt["appnexus"] = appnexusExtJson + + request.Ext, err = jsonutil.Marshal(reqExt) + return err +} + +func getRequestExt(ext json.RawMessage) (map[string]json.RawMessage, error) { + extMap := make(map[string]json.RawMessage) + + if len(ext) > 0 { + if err := jsonutil.Unmarshal(ext, &extMap); err != nil { + return nil, err + } + } + + return extMap, nil +} + +func (a *adapter) getAppnexusExt(extMap map[string]json.RawMessage, reqType metrics.RequestType) (requestExAppnexus, error) { + var appnexusExt requestExAppnexus + + if appnexusExtJson, exists := extMap["appnexus"]; exists && len(appnexusExtJson) > 0 { + if err := jsonutil.Unmarshal(appnexusExtJson, &appnexusExt); err != nil { + return appnexusExt, errMalformedRequestExt + } + } + + if prebidJson, exists := extMap["prebid"]; exists { + _, valueType, _, err := jsonparser.Get(prebidJson, "targeting", "includebrandcategory") + if err != nil && !errors.Is(err, jsonparser.KeyPathNotFoundError) { + return appnexusExt, err + } + + if valueType == jsonparser.Object { + appnexusExt.BrandCategoryUniqueness = ptrutil.ToPtr(true) + appnexusExt.IncludeBrandCategory = ptrutil.ToPtr(true) + } + } + + if reqType == metrics.ReqTypeAMP { + appnexusExt.IsAMP = 1 + } + + if reqType == metrics.ReqTypeVideo { + appnexusExt.HeaderBiddingSource = a.hbSourceVideo + } else { + appnexusExt.HeaderBiddingSource = a.hbSource + } + + return appnexusExt, nil +} + +func buildRequests(imps []openrtb2.Imp, request *openrtb2.BidRequest, uri string) ([]*adapters.RequestData, []error) { + var ( + requestsCount = (len(imps) + maxImpsPerReq - 1) / maxImpsPerReq + requests = make([]*adapters.RequestData, 0, requestsCount) + ) + + headers := buildHeaders() + + for i := range requestsCount { + impsForRequest := imps[i*maxImpsPerReq : min((i+1)*maxImpsPerReq, len(imps))] + + request.Imp = impsForRequest + requestJSON, err := jsonutil.Marshal(request) + if err != nil { + return nil, []error{err} + } + + requests = append(requests, &adapters.RequestData{ + Method: http.MethodPost, + Uri: uri, + Body: requestJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + }) + } + + return requests, nil +} + +func buildHeaders() http.Header { + headers := http.Header{} + headers.Set("Content-Type", "application/json;charset=utf-8") + headers.Set("Accept", "application/json") + headers.Set("x-openrtb-version", "2.6") + return headers +} + +func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest *adapters.RequestData, response *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if adapters.IsResponseStatusCodeNoContent(response) { + return nil, nil + } + + if err := adapters.CheckResponseStatusCodeForErrors(response); err != nil { + return nil, []error{err} + } + + var appnexusResponse openrtb2.BidResponse + if err := jsonutil.Unmarshal(response.Body, &appnexusResponse); err != nil { + return nil, []error{err} + } + + var errs []error + bidderResponse := adapters.NewBidderResponseWithBidsCapacity(5) + for _, sb := range appnexusResponse.SeatBid { + for i := range sb.Bid { + bid := sb.Bid[i] + + var bidExt bidExt + if err := jsonutil.Unmarshal(bid.Ext, &bidExt); err != nil { + errs = append(errs, err) + continue + } + + bidType, err := getMediaTypeForBid(&bidExt) + if err != nil { + errs = append(errs, err) + continue + } + + if iabCategory, found := findIABCategoryForBid(&bidExt); found { + bid.Cat = []string{iabCategory} + } else if len(bid.Cat) > 1 { + //create empty categories array to force bid to be rejected + bid.Cat = []string{} + } + + bidderResponse.Bids = append(bidderResponse.Bids, &adapters.TypedBid{ + Bid: &bid, + BidType: bidType, + BidVideo: &openrtb_ext.ExtBidPrebidVideo{Duration: bidExt.Appnexus.CreativeInfo.Video.Duration}, + DealPriority: bidExt.Appnexus.DealPriority, + }) + } + } + + if appnexusResponse.Cur != "" { + bidderResponse.Currency = appnexusResponse.Cur + } + + return bidderResponse, errs +} + +func getMediaTypeForBid(bid *bidExt) (openrtb_ext.BidType, error) { + switch bid.Appnexus.BidType { + case 0: + return openrtb_ext.BidTypeBanner, nil + case 1: + return openrtb_ext.BidTypeVideo, nil + case 3: + return openrtb_ext.BidTypeNative, nil + default: + return "", fmt.Errorf("unrecognized bid_ad_type in response: %d", bid.Appnexus.BidType) + } +} diff --git a/adapters/msft/msft_test.go b/adapters/msft/msft_test.go new file mode 100644 index 000000000..624778828 --- /dev/null +++ b/adapters/msft/msft_test.go @@ -0,0 +1,77 @@ +package msft + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/assert" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderMicrosoft, + config.Adapter{Endpoint: "http://any.url"}, + config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "test", bidder) +} + +func TestJsonSamplesWithExtraInfo(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderMicrosoft, + config.Adapter{Endpoint: "http://any.url", ExtraAdapterInfo: `{"hb_source": 50, "hb_source_video": 60}`}, + config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "test-extrainfo", bidder) +} + +func TestBadConfig(t *testing.T) { + t.Run("invalid", func(t *testing.T) { + _, buildErr := Builder(openrtb_ext.BidderMicrosoft, + config.Adapter{ + Endpoint: `http://any.url`, + ExtraAdapterInfo: `malformed`, + }, + config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + assert.Error(t, buildErr) + }) + + t.Run("empty-value", func(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderMicrosoft, + config.Adapter{ + Endpoint: `http://any.url`, + ExtraAdapterInfo: ``, + }, + config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + adapter := bidder.(*adapter) + + assert.NoError(t, buildErr) + assert.Equal(t, adapter.hbSource, defaultHBSource) + assert.Equal(t, adapter.hbSourceVideo, defaultHBSourceVideo) + }) + + t.Run("empty-object", func(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderMicrosoft, + config.Adapter{ + Endpoint: `http://any.url`, + ExtraAdapterInfo: `{}`, + }, + config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + adapter := bidder.(*adapter) + + assert.NoError(t, buildErr) + assert.Equal(t, adapter.hbSource, defaultHBSource) + assert.Equal(t, adapter.hbSourceVideo, defaultHBSourceVideo) + }) +} diff --git a/adapters/msft/params_test.go b/adapters/msft/params_test.go new file mode 100644 index 000000000..6c897aafd --- /dev/null +++ b/adapters/msft/params_test.go @@ -0,0 +1,79 @@ +package msft + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +// This file tests static/bidder-params/msft.json +// +// These validate the format of the external API: request.imp[i].ext.prebid.bidder.msft + +// TestValidParams makes sure that the msft schema accepts all imp.ext fields which we intend to support. +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the json-schemas. %v", err) + } + + for _, validParam := range validParams { + if err := validator.Validate(openrtb_ext.BidderMicrosoft, json.RawMessage(validParam)); err != nil { + t.Errorf("Schema rejected msft params: %s", validParam) + } + } +} + +// TestInvalidParams makes sure that the msft schema rejects all the imp.ext fields we don't support. +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the json-schemas. %v", err) + } + + for _, invalidParam := range invalidParams { + if err := validator.Validate(openrtb_ext.BidderMicrosoft, json.RawMessage(invalidParam)); err == nil { + t.Errorf("Schema allowed unexpected params: %s", invalidParam) + } + } +} + +var validParams = []string{ + `{"placement_id": 123}`, + `{"member": 123, "inv_code": "test-inv"}`, + `{"placement_id": 123, "allow_smaller_sizes": true}`, + `{"placement_id": 123, "use_pmt_rule": false}`, + `{"placement_id": 123, "keywords": "key1=val1,key2=val2"}`, + `{"placement_id": 123, "traffic_source_code": "test-source"}`, + `{"placement_id": 123, "pubclick": "http://example.com/click"}`, + `{"placement_id": 123, "ext_inv_code": "ext-inv-123"}`, + `{"placement_id": 123, "ext_imp_id": "ext-imp-456"}`, + `{"placement_id": 123, "banner_frameworks": [1, 2, 3]}`, + `{"member": 958, "inv_code": "test-inv-code", "keywords": "genre=rock,age=25"}`, + `{"placement_id": 123, "allow_smaller_sizes": true, "use_pmt_rule": true, "keywords": "key=value", "traffic_source_code": "multi-param-test"}`, +} + +var invalidParams = []string{ + ``, + `null`, + `true`, + `42`, + `[]`, + `{}`, + `{"member": 123}`, + `{"inv_code": "test"}`, + `{"placement_id": "123"}`, + `{"member": "123", "inv_code": "test"}`, + `{"placement_id": 123, "allow_smaller_sizes": "not-a-boolean"}`, + `{"placement_id": 123, "use_pmt_rule": "not-a-boolean"}`, + `{"placement_id": 123, "keywords": ["not", "a", "string"]}`, + `{"placement_id": 123, "traffic_source_code": 123}`, + `{"placement_id": 123, "pubclick": true}`, + `{"placement_id": 123, "ext_inv_code": 456}`, + `{"placement_id": 123, "ext_imp_id": false}`, + `{"placement_id": 123, "banner_frameworks": "not-array"}`, + `{"placement_id": 123, "banner_frameworks": ["1", "2", 3]}`, + `{"member": 123, "inv_code": 456}`, + `{"placement_id": "string-not-int"}`, +} diff --git a/adapters/nativery/nativery.go b/adapters/nativery/nativery.go new file mode 100644 index 000000000..99a0a4ff5 --- /dev/null +++ b/adapters/nativery/nativery.go @@ -0,0 +1,267 @@ +package nativery + +import ( + "fmt" + "maps" + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type adapter struct { + endpoint string +} + +type bidReqExtNativery struct { + IsAMP bool `json:"isAmp"` + WidgetId string `json:"widgetId"` +} + +type bidExtNativery struct { + BidType string `json:"bid_ad_media_type"` + BidAdvDomains []string `json:"bid_adv_domains"` + + AdvertiserId string `json:"adv_id,omitempty"` + BrandCategory int `json:"brand_category_id,omitempty"` +} + +type bidExt struct { + Nativery bidExtNativery `json:"nativery"` +} + +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + bidder := &adapter{ + endpoint: config.Endpoint, + } + return bidder, nil +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, reqInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + reqCopy := *request + var errs []error + + // check if the request come from AMP + var isAMP int + if reqInfo.PbsEntryPoint == metrics.ReqTypeAMP { + isAMP = 1 + } + + var widgetId string + + // attach body request for all the impressions + validImps := make([]openrtb2.Imp, 0, len(request.Imp)) + for i, imp := range request.Imp { + nativeryExt, err := buildNativeryExt(&imp) + + if err != nil { + errs = append(errs, err) + continue + } + + if i == 0 { + widgetId = nativeryExt.WidgetId + } + + validImps = append(validImps, imp) + } + + reqCopy.Imp = validImps + if len(reqCopy.Imp) == 0 { + return nil, errs + } + + reqExt, err := getRequestExt(reqCopy.Ext) + if err != nil { + return nil, append(errs, err) + } + + reqExtNativery, err := getNativeryExt(reqExt, isAMP, widgetId) + if err != nil { + return nil, append(errs, err) + } + adapterRequests, splitErrors := splitRequests(reqCopy.Imp, &reqCopy, reqExt, reqExtNativery, a.endpoint) + + return adapterRequests, append(errs, splitErrors...) +} + +func buildNativeryExt(imp *openrtb2.Imp) (openrtb_ext.ImpExtNativery, error) { + var bidderExt adapters.ExtImpBidder + if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { + return openrtb_ext.ImpExtNativery{}, err + } + + var nativeryExt openrtb_ext.ImpExtNativery + if err := jsonutil.Unmarshal(bidderExt.Bidder, &nativeryExt); err != nil { + return openrtb_ext.ImpExtNativery{}, err + } + + return nativeryExt, nil +} + +func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest *adapters.RequestData, response *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if adapters.IsResponseStatusCodeNoContent(response) { + nativeryError := response.Headers.Get("X-Nativery-Error") + if nativeryError != "" { + return nil, []error{&errortypes.BadInput{ + Message: fmt.Sprintf("Nativery Error: %s.", nativeryError), + }} + } + + return nil, []error{&errortypes.BadServerResponse{ + Message: "No Content", + }} + } + + if err := adapters.CheckResponseStatusCodeForErrors(response); err != nil { + return nil, []error{err} + } + + var nativeryResponse openrtb2.BidResponse + if err := jsonutil.Unmarshal(response.Body, &nativeryResponse); err != nil { + return nil, []error{err} + } + + var errs []error + bidderResponse := adapters.NewBidderResponseWithBidsCapacity(len(internalRequest.Imp)) + for _, sb := range nativeryResponse.SeatBid { + for i := range sb.Bid { + bid := sb.Bid[i] + + var bidExt bidExt + if err := jsonutil.Unmarshal(bid.Ext, &bidExt); err != nil { + errs = append(errs, err) + continue + } + + bidType, err := getMediaTypeForBid(&bidExt) + if err != nil { + errs = append(errs, err) + continue + } + bidMeta := buildBidMeta(string(bidType), bidExt.Nativery.BidAdvDomains) + + bidderResponse.Bids = append(bidderResponse.Bids, &adapters.TypedBid{ + Bid: &bid, + BidType: bidType, + BidMeta: bidMeta, + }) + } + + } + + if nativeryResponse.Cur != "" { + bidderResponse.Currency = nativeryResponse.Cur + } else { + bidderResponse.Currency = "EUR" + } + return bidderResponse, errs + +} + +func getMediaTypeForBid(bid *bidExt) (openrtb_ext.BidType, error) { + switch bid.Nativery.BidType { + case "native": + return openrtb_ext.BidTypeNative, nil + case "display", "banner", "rich_media": + return openrtb_ext.BidTypeBanner, nil + case "video": + return openrtb_ext.BidTypeVideo, nil + default: + return "", fmt.Errorf("unrecognized bid_ad_media_type in response from nativery: %s", bid.Nativery.BidType) + } +} + +func buildBidMeta(mediaType string, advDomain []string) *openrtb_ext.ExtBidPrebidMeta { + + return &openrtb_ext.ExtBidPrebidMeta{ + MediaType: mediaType, + AdvertiserDomains: advDomain, + } +} + +func splitRequests( + imps []openrtb2.Imp, + request *openrtb2.BidRequest, + requestExt map[string]jsonutil.RawMessage, + requestExtNativery bidReqExtNativery, + uri string, +) ([]*adapters.RequestData, []error) { + var errs []error + + resArr := make([]*adapters.RequestData, 0, len(imps)) + + headers := http.Header{} + headers.Add("Content-Type", "application/json;charset=utf-8") + headers.Add("Accept", "application/json") + + nativeryExtJson, err := jsonutil.Marshal(requestExtNativery) + if err != nil { + errs = append(errs, err) + } + + baseReq := *request + + for _, imp := range imps { + extClone := maps.Clone(requestExt) + extClone["nativery"] = nativeryExtJson + + reqCopy := baseReq + + reqCopy.Ext, err = jsonutil.Marshal(extClone) + if err != nil { + errs = append(errs, err) + continue + } + + reqCopy.Imp = []openrtb2.Imp{imp} + + reqJSON, err := jsonutil.Marshal(&reqCopy) + if err != nil { + errs = append(errs, err) + continue + } + + resArr = append(resArr, &adapters.RequestData{ + Method: "POST", + Uri: uri, + Body: reqJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(reqCopy.Imp), + }) + } + + return resArr, errs +} + +func getRequestExt(ext jsonutil.RawMessage) (map[string]jsonutil.RawMessage, error) { + extMap := make(map[string]jsonutil.RawMessage) + + if len(ext) > 0 { + if err := jsonutil.Unmarshal(ext, &extMap); err != nil { + return nil, err + } + } + + return extMap, nil +} + +func getNativeryExt(extMap map[string]jsonutil.RawMessage, isAMP int, widgetId string) (bidReqExtNativery, error) { + var nativeryExt bidReqExtNativery + + if nativeryExtJson, exists := extMap["nativery"]; exists && len(nativeryExtJson) > 0 { + if err := jsonutil.Unmarshal(nativeryExtJson, &nativeryExt); err != nil { + return nativeryExt, err + } + } + + nativeryExt.IsAMP = isAMP == 1 + nativeryExt.WidgetId = widgetId + + return nativeryExt, nil +} diff --git a/adapters/nativo/nativo.go b/adapters/nativo/nativo.go index 6e595bbff..ab84e0157 100644 --- a/adapters/nativo/nativo.go +++ b/adapters/nativo/nativo.go @@ -6,9 +6,9 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type adapter struct { diff --git a/adapters/nativo/nativo_test.go b/adapters/nativo/nativo_test.go index 87bce3f08..6318bc0ae 100644 --- a/adapters/nativo/nativo_test.go +++ b/adapters/nativo/nativo_test.go @@ -3,9 +3,9 @@ package nativo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestBidderNativo(t *testing.T) { diff --git a/adapters/nextmillennium/nextmillennium.go b/adapters/nextmillennium/nextmillennium.go index 1b3cdeefd..2c17d25a3 100644 --- a/adapters/nextmillennium/nextmillennium.go +++ b/adapters/nextmillennium/nextmillennium.go @@ -6,12 +6,12 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/version" ) const NM_ADAPTER_VERSION = "v1.0.0" diff --git a/adapters/nextmillennium/nextmillennium_test.go b/adapters/nextmillennium/nextmillennium_test.go index 1ffe49540..da32f7348 100644 --- a/adapters/nextmillennium/nextmillennium_test.go +++ b/adapters/nextmillennium/nextmillennium_test.go @@ -3,9 +3,9 @@ package nextmillennium import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/nextmillennium/params_test.go b/adapters/nextmillennium/params_test.go index 3833c474a..fcfab8e41 100644 --- a/adapters/nextmillennium/params_test.go +++ b/adapters/nextmillennium/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/nexx360/nexx360.go b/adapters/nexx360/nexx360.go index f91961918..b2d5ea4d4 100644 --- a/adapters/nexx360/nexx360.go +++ b/adapters/nexx360/nexx360.go @@ -7,12 +7,12 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/version" ) type adapter struct { diff --git a/adapters/nexx360/nexx360_test.go b/adapters/nexx360/nexx360_test.go index f7a8741f1..e66cc2421 100644 --- a/adapters/nexx360/nexx360_test.go +++ b/adapters/nexx360/nexx360_test.go @@ -3,9 +3,9 @@ package nexx360 import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/nexx360/params_test.go b/adapters/nexx360/params_test.go index dc21d2113..45b4c38d9 100644 --- a/adapters/nexx360/params_test.go +++ b/adapters/nexx360/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/nexx360.json diff --git a/adapters/nobid/nobid.go b/adapters/nobid/nobid.go index 811ef3363..12be203e5 100644 --- a/adapters/nobid/nobid.go +++ b/adapters/nobid/nobid.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // NoBidAdapter - NoBid Adapter definition diff --git a/adapters/nobid/nobid_test.go b/adapters/nobid/nobid_test.go index 6b4a7346c..ad117b4c8 100644 --- a/adapters/nobid/nobid_test.go +++ b/adapters/nobid/nobid_test.go @@ -3,9 +3,9 @@ package nobid import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/nobid/params_test.go b/adapters/nobid/params_test.go index 375237f34..27acf08d2 100644 --- a/adapters/nobid/params_test.go +++ b/adapters/nobid/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/ogury/ogury.go b/adapters/ogury/ogury.go index 7207ff2ac..7470b3b9a 100644 --- a/adapters/ogury/ogury.go +++ b/adapters/ogury/ogury.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/ogury/ogury_test.go b/adapters/ogury/ogury_test.go index 504be6cca..2c57b27d3 100644 --- a/adapters/ogury/ogury_test.go +++ b/adapters/ogury/ogury_test.go @@ -3,9 +3,9 @@ package ogury import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/ogury/param_test.go b/adapters/ogury/param_test.go index f4c7c8344..b48b22cb3 100644 --- a/adapters/ogury/param_test.go +++ b/adapters/ogury/param_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/oms/oms.go b/adapters/oms/oms.go index 3ea5bd328..3e4e8ff39 100644 --- a/adapters/oms/oms.go +++ b/adapters/oms/oms.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/oms/oms_test.go b/adapters/oms/oms_test.go index e0555b3c7..d0d14fe1e 100644 --- a/adapters/oms/oms_test.go +++ b/adapters/oms/oms_test.go @@ -3,9 +3,9 @@ package oms import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/oms/params_test.go b/adapters/oms/params_test.go index ed4113d42..300c2058d 100644 --- a/adapters/oms/params_test.go +++ b/adapters/oms/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/oms.json diff --git a/adapters/onetag/onetag.go b/adapters/onetag/onetag.go index d1b2e6238..efa38c631 100644 --- a/adapters/onetag/onetag.go +++ b/adapters/onetag/onetag.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/onetag/onetag_test.go b/adapters/onetag/onetag_test.go index 23a287175..f7c64ef3f 100644 --- a/adapters/onetag/onetag_test.go +++ b/adapters/onetag/onetag_test.go @@ -3,9 +3,9 @@ package onetag import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/onetag/params_test.go b/adapters/onetag/params_test.go index 6ccf06069..3d6021a5d 100644 --- a/adapters/onetag/params_test.go +++ b/adapters/onetag/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/openweb/openweb.go b/adapters/openweb/openweb.go index 7a9914b27..5d8e770cf 100644 --- a/adapters/openweb/openweb.go +++ b/adapters/openweb/openweb.go @@ -10,11 +10,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/openweb/openweb_test.go b/adapters/openweb/openweb_test.go index a08788e7d..51b2305c6 100644 --- a/adapters/openweb/openweb_test.go +++ b/adapters/openweb/openweb_test.go @@ -3,9 +3,9 @@ package openweb import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/openweb/params_test.go b/adapters/openweb/params_test.go index 73fb20a7e..622816033 100644 --- a/adapters/openweb/params_test.go +++ b/adapters/openweb/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/openweb.json diff --git a/adapters/openx/openx.go b/adapters/openx/openx.go index f10985f30..f3944347c 100644 --- a/adapters/openx/openx.go +++ b/adapters/openx/openx.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const hbconfig = "hb_pbs_1.0.0" diff --git a/adapters/openx/openx_test.go b/adapters/openx/openx_test.go index 092e9190f..01ee3f956 100644 --- a/adapters/openx/openx_test.go +++ b/adapters/openx/openx_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/openx/params_test.go b/adapters/openx/params_test.go index 0becd9b20..1fc71fce7 100644 --- a/adapters/openx/params_test.go +++ b/adapters/openx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/openx.json diff --git a/adapters/operaads/operaads.go b/adapters/operaads/operaads.go index 47c372bec..448c4843a 100644 --- a/adapters/operaads/operaads.go +++ b/adapters/operaads/operaads.go @@ -8,13 +8,13 @@ import ( "strings" "text/template" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/operaads/operaads_test.go b/adapters/operaads/operaads_test.go index 8614e77e7..b5e21bd8c 100644 --- a/adapters/operaads/operaads_test.go +++ b/adapters/operaads/operaads_test.go @@ -3,9 +3,9 @@ package operaads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/operaads/params_test.go b/adapters/operaads/params_test.go index b845fde89..a20d37494 100644 --- a/adapters/operaads/params_test.go +++ b/adapters/operaads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/operaads.json diff --git a/adapters/optidigital/optidigital.go b/adapters/optidigital/optidigital.go index 89e2474d9..a59cd2a73 100644 --- a/adapters/optidigital/optidigital.go +++ b/adapters/optidigital/optidigital.go @@ -4,11 +4,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/optidigital/optidigital_test.go b/adapters/optidigital/optidigital_test.go index dda8b09b5..d89bb92e0 100644 --- a/adapters/optidigital/optidigital_test.go +++ b/adapters/optidigital/optidigital_test.go @@ -3,9 +3,9 @@ package optidigital import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/optidigital/params_test.go b/adapters/optidigital/params_test.go index 5c29d9796..cb5c9329f 100644 --- a/adapters/optidigital/params_test.go +++ b/adapters/optidigital/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/optidigital.json diff --git a/adapters/oraki/oraki.go b/adapters/oraki/oraki.go index db6876f2e..49a970d93 100644 --- a/adapters/oraki/oraki.go +++ b/adapters/oraki/oraki.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/oraki/oraki_test.go b/adapters/oraki/oraki_test.go index 753357c29..e37922fb1 100644 --- a/adapters/oraki/oraki_test.go +++ b/adapters/oraki/oraki_test.go @@ -3,9 +3,9 @@ package oraki import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/oraki/params_test.go b/adapters/oraki/params_test.go index 24fc6ea29..3e8ca92e9 100644 --- a/adapters/oraki/params_test.go +++ b/adapters/oraki/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/orbidder/orbidder.go b/adapters/orbidder/orbidder.go index b2f670527..980ffdde3 100644 --- a/adapters/orbidder/orbidder.go +++ b/adapters/orbidder/orbidder.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type OrbidderAdapter struct { diff --git a/adapters/orbidder/orbidder_test.go b/adapters/orbidder/orbidder_test.go index ce26bdd7f..1b29f988f 100644 --- a/adapters/orbidder/orbidder_test.go +++ b/adapters/orbidder/orbidder_test.go @@ -8,10 +8,10 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/mock" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/orbidder/params_test.go b/adapters/orbidder/params_test.go index bb557faa2..9f8d316b1 100644 --- a/adapters/orbidder/params_test.go +++ b/adapters/orbidder/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/orbidder.json diff --git a/adapters/outbrain/outbrain.go b/adapters/outbrain/outbrain.go index 612a9a0cb..dfcc2ec37 100644 --- a/adapters/outbrain/outbrain.go +++ b/adapters/outbrain/outbrain.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/native1" nativeResponse "github.com/prebid/openrtb/v20/native1/response" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/outbrain/outbrain_test.go b/adapters/outbrain/outbrain_test.go index 1e1fc1e80..84b347df5 100644 --- a/adapters/outbrain/outbrain_test.go +++ b/adapters/outbrain/outbrain_test.go @@ -3,9 +3,9 @@ package outbrain import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/outbrain/params_test.go b/adapters/outbrain/params_test.go index e6d76d947..9df86a4e1 100644 --- a/adapters/outbrain/params_test.go +++ b/adapters/outbrain/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/ownadx/ownadx.go b/adapters/ownadx/ownadx.go index 737adfa30..f01048d81 100644 --- a/adapters/ownadx/ownadx.go +++ b/adapters/ownadx/ownadx.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/ownadx/ownadx_test.go b/adapters/ownadx/ownadx_test.go index 6921e1ba1..6f979f185 100644 --- a/adapters/ownadx/ownadx_test.go +++ b/adapters/ownadx/ownadx_test.go @@ -3,9 +3,9 @@ package ownadx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/pangle/pangle.go b/adapters/pangle/pangle.go index a86052d64..76ad2cc8b 100644 --- a/adapters/pangle/pangle.go +++ b/adapters/pangle/pangle.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/pangle/pangle_test.go b/adapters/pangle/pangle_test.go index 2143d4f90..5e52025f0 100644 --- a/adapters/pangle/pangle_test.go +++ b/adapters/pangle/pangle_test.go @@ -3,9 +3,9 @@ package pangle import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/pangle/param_test.go b/adapters/pangle/param_test.go index 57acfb060..57adb0d8f 100644 --- a/adapters/pangle/param_test.go +++ b/adapters/pangle/param_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/pgamssp/params_test.go b/adapters/pgamssp/params_test.go index ec95d47e5..fd8962b04 100644 --- a/adapters/pgamssp/params_test.go +++ b/adapters/pgamssp/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/pgamssp/pgamssp.go b/adapters/pgamssp/pgamssp.go index 6ddf21159..a74719d08 100644 --- a/adapters/pgamssp/pgamssp.go +++ b/adapters/pgamssp/pgamssp.go @@ -7,10 +7,10 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/pgamssp/pgamssp_test.go b/adapters/pgamssp/pgamssp_test.go index 450eb0f0b..691e8cbb8 100644 --- a/adapters/pgamssp/pgamssp_test.go +++ b/adapters/pgamssp/pgamssp_test.go @@ -3,9 +3,9 @@ package pgamssp import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/playdigo/params_test.go b/adapters/playdigo/params_test.go index cb0fa0c68..f586019b4 100644 --- a/adapters/playdigo/params_test.go +++ b/adapters/playdigo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/playdigo/playdigo.go b/adapters/playdigo/playdigo.go index fe0091e2c..578e39ae7 100644 --- a/adapters/playdigo/playdigo.go +++ b/adapters/playdigo/playdigo.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/playdigo/playdigo_test.go b/adapters/playdigo/playdigo_test.go index 275924f19..031865959 100644 --- a/adapters/playdigo/playdigo_test.go +++ b/adapters/playdigo/playdigo_test.go @@ -3,9 +3,9 @@ package playdigo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/pubmatic/params_test.go b/adapters/pubmatic/params_test.go index 531416f18..5ca06fdaf 100644 --- a/adapters/pubmatic/params_test.go +++ b/adapters/pubmatic/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/pubmatic.json diff --git a/adapters/pubmatic/pubmatic.go b/adapters/pubmatic/pubmatic.go index e35229143..ebc663409 100644 --- a/adapters/pubmatic/pubmatic.go +++ b/adapters/pubmatic/pubmatic.go @@ -9,12 +9,12 @@ import ( "strconv" "strings" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" diff --git a/adapters/pubmatic/pubmatic_test.go b/adapters/pubmatic/pubmatic_test.go index ac1e645c1..de7afcd4d 100644 --- a/adapters/pubmatic/pubmatic_test.go +++ b/adapters/pubmatic/pubmatic_test.go @@ -8,11 +8,11 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/adapters/pubnative/pubnative.go b/adapters/pubnative/pubnative.go index 7c77aeefc..b30912d25 100644 --- a/adapters/pubnative/pubnative.go +++ b/adapters/pubnative/pubnative.go @@ -8,12 +8,12 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) type PubnativeAdapter struct { diff --git a/adapters/pubnative/pubnative_test.go b/adapters/pubnative/pubnative_test.go index dfc065b71..c4e8613b8 100644 --- a/adapters/pubnative/pubnative_test.go +++ b/adapters/pubnative/pubnative_test.go @@ -3,9 +3,9 @@ package pubnative import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/pubrise/params_test.go b/adapters/pubrise/params_test.go index 97ee8ebc5..4422295bd 100644 --- a/adapters/pubrise/params_test.go +++ b/adapters/pubrise/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/pubrise/pubrise.go b/adapters/pubrise/pubrise.go index 80168f972..2c4b11e5c 100644 --- a/adapters/pubrise/pubrise.go +++ b/adapters/pubrise/pubrise.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/pubrise/pubrise_test.go b/adapters/pubrise/pubrise_test.go index 9f4f2124a..abccfafdd 100644 --- a/adapters/pubrise/pubrise_test.go +++ b/adapters/pubrise/pubrise_test.go @@ -3,9 +3,9 @@ package pubrise import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/pulsepoint/params_test.go b/adapters/pulsepoint/params_test.go index 4359c4115..56cf4139c 100644 --- a/adapters/pulsepoint/params_test.go +++ b/adapters/pulsepoint/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/pulsepoint/pulsepoint.go b/adapters/pulsepoint/pulsepoint.go index 2f750e9f8..11dd7533a 100644 --- a/adapters/pulsepoint/pulsepoint.go +++ b/adapters/pulsepoint/pulsepoint.go @@ -7,11 +7,11 @@ import ( "net/http" "strconv" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/pulsepoint/pulsepoint_test.go b/adapters/pulsepoint/pulsepoint_test.go index be9fff83a..fb766aab8 100644 --- a/adapters/pulsepoint/pulsepoint_test.go +++ b/adapters/pulsepoint/pulsepoint_test.go @@ -3,9 +3,9 @@ package pulsepoint import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/pwbid/params_test.go b/adapters/pwbid/params_test.go index 52f06e025..a57cf6bae 100644 --- a/adapters/pwbid/params_test.go +++ b/adapters/pwbid/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/pwbid/pwbid.go b/adapters/pwbid/pwbid.go index 7e03185f2..6cd6b9ea6 100644 --- a/adapters/pwbid/pwbid.go +++ b/adapters/pwbid/pwbid.go @@ -5,11 +5,11 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/pwbid/pwbid_test.go b/adapters/pwbid/pwbid_test.go index cb028a19f..3a9e76e2b 100644 --- a/adapters/pwbid/pwbid_test.go +++ b/adapters/pwbid/pwbid_test.go @@ -3,9 +3,9 @@ package pwbid import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/qt/params_test.go b/adapters/qt/params_test.go index 5c8d3253b..0b46b5506 100644 --- a/adapters/qt/params_test.go +++ b/adapters/qt/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/qt/qt.go b/adapters/qt/qt.go index a7c5d53c5..1a1a96acb 100644 --- a/adapters/qt/qt.go +++ b/adapters/qt/qt.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/qt/qt_test.go b/adapters/qt/qt_test.go index f85adbaf1..3da46eb22 100644 --- a/adapters/qt/qt_test.go +++ b/adapters/qt/qt_test.go @@ -3,9 +3,9 @@ package qt import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/readpeak/params_test.go b/adapters/readpeak/params_test.go index 772855e42..d71396eb3 100644 --- a/adapters/readpeak/params_test.go +++ b/adapters/readpeak/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/readpeak/readpeak.go b/adapters/readpeak/readpeak.go index 7049dace4..5aaf8c9d8 100644 --- a/adapters/readpeak/readpeak.go +++ b/adapters/readpeak/readpeak.go @@ -8,11 +8,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/readpeak/readpeak_test.go b/adapters/readpeak/readpeak_test.go index 8c8e8e27b..9f4feb20c 100644 --- a/adapters/readpeak/readpeak_test.go +++ b/adapters/readpeak/readpeak_test.go @@ -3,9 +3,9 @@ package readpeak import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/rediads/params_test.go b/adapters/rediads/params_test.go index af6969823..d19120682 100644 --- a/adapters/rediads/params_test.go +++ b/adapters/rediads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/rediads/rediads.go b/adapters/rediads/rediads.go index cfa60eacf..349504219 100644 --- a/adapters/rediads/rediads.go +++ b/adapters/rediads/rediads.go @@ -7,11 +7,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/rediads/rediads_test.go b/adapters/rediads/rediads_test.go index b5e935b68..ec263d832 100644 --- a/adapters/rediads/rediads_test.go +++ b/adapters/rediads/rediads_test.go @@ -3,9 +3,9 @@ package rediads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/relevantdigital/params_test.go b/adapters/relevantdigital/params_test.go index 987dfd6e5..835e1e77c 100644 --- a/adapters/relevantdigital/params_test.go +++ b/adapters/relevantdigital/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/relevantdigital/relevantdigital.go b/adapters/relevantdigital/relevantdigital.go index 702dca6b2..3286b4971 100644 --- a/adapters/relevantdigital/relevantdigital.go +++ b/adapters/relevantdigital/relevantdigital.go @@ -10,12 +10,12 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" jsonpatch "gopkg.in/evanphx/json-patch.v5" ) diff --git a/adapters/relevantdigital/relevantdigital_test.go b/adapters/relevantdigital/relevantdigital_test.go index 31e6b370d..8859a27d3 100644 --- a/adapters/relevantdigital/relevantdigital_test.go +++ b/adapters/relevantdigital/relevantdigital_test.go @@ -3,9 +3,9 @@ package relevantdigital import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/resetdigital/params_test.go b/adapters/resetdigital/params_test.go index 4098b4449..47bccc56f 100644 --- a/adapters/resetdigital/params_test.go +++ b/adapters/resetdigital/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams tests valid parameter(s) declared in openrtb_ext/imp_resetdigital.go diff --git a/adapters/resetdigital/resetdigital.go b/adapters/resetdigital/resetdigital.go index 2a619e760..bcf05cab7 100644 --- a/adapters/resetdigital/resetdigital.go +++ b/adapters/resetdigital/resetdigital.go @@ -8,9 +8,11 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "golang.org/x/text/currency" ) type adapter struct { diff --git a/adapters/resetdigital/resetdigital_test.go b/adapters/resetdigital/resetdigital_test.go index 9efba33f3..96814b9df 100644 --- a/adapters/resetdigital/resetdigital_test.go +++ b/adapters/resetdigital/resetdigital_test.go @@ -3,9 +3,13 @@ package resetdigital import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/assert" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/response.go b/adapters/response.go index ec02513ca..6c3c6a823 100644 --- a/adapters/response.go +++ b/adapters/response.go @@ -4,7 +4,7 @@ import ( "fmt" "net/http" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) func CheckResponseStatusCodeForErrors(response *ResponseData) error { diff --git a/adapters/response_test.go b/adapters/response_test.go index 28fbefdf5..70106756b 100644 --- a/adapters/response_test.go +++ b/adapters/response_test.go @@ -3,7 +3,7 @@ package adapters import ( "testing" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" "github.com/stretchr/testify/assert" ) diff --git a/adapters/revcontent/revcontent.go b/adapters/revcontent/revcontent.go index 881b1d491..7793e6fdd 100644 --- a/adapters/revcontent/revcontent.go +++ b/adapters/revcontent/revcontent.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/revcontent/revcontent_test.go b/adapters/revcontent/revcontent_test.go index 35e6970c7..5b266e2fc 100644 --- a/adapters/revcontent/revcontent_test.go +++ b/adapters/revcontent/revcontent_test.go @@ -3,9 +3,9 @@ package revcontent import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/richaudience/params_test.go b/adapters/richaudience/params_test.go index 8f5b2e244..f0bf68537 100644 --- a/adapters/richaudience/params_test.go +++ b/adapters/richaudience/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/richaudience/richaudience.go b/adapters/richaudience/richaudience.go index 969fd312c..0d8b5d2e2 100644 --- a/adapters/richaudience/richaudience.go +++ b/adapters/richaudience/richaudience.go @@ -7,11 +7,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/richaudience/richaudience_test.go b/adapters/richaudience/richaudience_test.go index 342301f80..a55e5225d 100644 --- a/adapters/richaudience/richaudience_test.go +++ b/adapters/richaudience/richaudience_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/rise/rise.go b/adapters/rise/rise.go index 9a438f6da..d9d9c2a4b 100644 --- a/adapters/rise/rise.go +++ b/adapters/rise/rise.go @@ -9,10 +9,10 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // adapter is a Rise implementation of the adapters.Bidder interface. diff --git a/adapters/rise/rise_test.go b/adapters/rise/rise_test.go index d7235a7f3..8d10cedb9 100644 --- a/adapters/rise/rise_test.go +++ b/adapters/rise/rise_test.go @@ -3,9 +3,9 @@ package rise import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "risetest" diff --git a/adapters/roulax/roulax.go b/adapters/roulax/roulax.go index 992383690..c5af6833f 100644 --- a/adapters/roulax/roulax.go +++ b/adapters/roulax/roulax.go @@ -7,11 +7,11 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/roulax/roulax_test.go b/adapters/roulax/roulax_test.go index 3bd03bbbf..67744873d 100644 --- a/adapters/roulax/roulax_test.go +++ b/adapters/roulax/roulax_test.go @@ -3,9 +3,9 @@ package roulax import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "roulaxtest" diff --git a/adapters/rtbhouse/rtbhouse.go b/adapters/rtbhouse/rtbhouse.go index 9a7e3f4f9..f970d4fe7 100644 --- a/adapters/rtbhouse/rtbhouse.go +++ b/adapters/rtbhouse/rtbhouse.go @@ -10,11 +10,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/rtbhouse/rtbhouse_test.go b/adapters/rtbhouse/rtbhouse_test.go index c7189cffc..8dde82f94 100644 --- a/adapters/rtbhouse/rtbhouse_test.go +++ b/adapters/rtbhouse/rtbhouse_test.go @@ -3,9 +3,9 @@ package rtbhouse import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "rtbhousetest" diff --git a/adapters/rubicon/rubicon.go b/adapters/rubicon/rubicon.go index b0a694905..efcde7037 100644 --- a/adapters/rubicon/rubicon.go +++ b/adapters/rubicon/rubicon.go @@ -8,14 +8,14 @@ import ( "strconv" "strings" - "github.com/prebid/prebid-server/v3/version" - - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/maputil" + "github.com/prebid/prebid-server/v4/version" + + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/maputil" "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" diff --git a/adapters/rubicon/rubicon_test.go b/adapters/rubicon/rubicon_test.go index 3e26e2db1..fe9f079c0 100644 --- a/adapters/rubicon/rubicon_test.go +++ b/adapters/rubicon/rubicon_test.go @@ -8,12 +8,12 @@ import ( "strconv" "testing" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/adcom1" diff --git a/adapters/sa_lunamedia/params_test.go b/adapters/sa_lunamedia/params_test.go index 640af6ceb..1ad6ccf3f 100644 --- a/adapters/sa_lunamedia/params_test.go +++ b/adapters/sa_lunamedia/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/sa_lunamedia/salunamedia.go b/adapters/sa_lunamedia/salunamedia.go index b75ccd9f8..69b19d9fc 100644 --- a/adapters/sa_lunamedia/salunamedia.go +++ b/adapters/sa_lunamedia/salunamedia.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/sa_lunamedia/salunamedia_test.go b/adapters/sa_lunamedia/salunamedia_test.go index 3247bb0a5..953bbca6e 100644 --- a/adapters/sa_lunamedia/salunamedia_test.go +++ b/adapters/sa_lunamedia/salunamedia_test.go @@ -3,9 +3,9 @@ package salunamedia import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/screencore/params_test.go b/adapters/screencore/params_test.go index 508731fbd..12940b414 100644 --- a/adapters/screencore/params_test.go +++ b/adapters/screencore/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/seedingAlliance/params_test.go b/adapters/seedingAlliance/params_test.go index 56433b003..77088c077 100644 --- a/adapters/seedingAlliance/params_test.go +++ b/adapters/seedingAlliance/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/seedingAlliance/seedingAlliance.go b/adapters/seedingAlliance/seedingAlliance.go index 1e23d4e25..bc367da19 100644 --- a/adapters/seedingAlliance/seedingAlliance.go +++ b/adapters/seedingAlliance/seedingAlliance.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/seedingAlliance/seedingAlliance_test.go b/adapters/seedingAlliance/seedingAlliance_test.go index b432d0577..f5721683d 100644 --- a/adapters/seedingAlliance/seedingAlliance_test.go +++ b/adapters/seedingAlliance/seedingAlliance_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/seedtag/params_test.go b/adapters/seedtag/params_test.go index b93be85df..2c3923773 100644 --- a/adapters/seedtag/params_test.go +++ b/adapters/seedtag/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/seedtag/seedtag.go b/adapters/seedtag/seedtag.go index 7836f2aaf..10d035a55 100644 --- a/adapters/seedtag/seedtag.go +++ b/adapters/seedtag/seedtag.go @@ -6,10 +6,10 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/seedtag/seedtag_test.go b/adapters/seedtag/seedtag_test.go index bdfbc7725..4629793ff 100644 --- a/adapters/seedtag/seedtag_test.go +++ b/adapters/seedtag/seedtag_test.go @@ -3,9 +3,9 @@ package seedtag import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/sharethrough/params_test.go b/adapters/sharethrough/params_test.go index a7011ab37..03c60cec3 100644 --- a/adapters/sharethrough/params_test.go +++ b/adapters/sharethrough/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/sharethrough/sharethrough.go b/adapters/sharethrough/sharethrough.go index cf5c65a73..766312278 100644 --- a/adapters/sharethrough/sharethrough.go +++ b/adapters/sharethrough/sharethrough.go @@ -7,12 +7,12 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/version" ) var adapterVersion = "10.0" diff --git a/adapters/sharethrough/sharethrough_test.go b/adapters/sharethrough/sharethrough_test.go index 6ca7d9c7e..fd2c5d12e 100644 --- a/adapters/sharethrough/sharethrough_test.go +++ b/adapters/sharethrough/sharethrough_test.go @@ -3,9 +3,9 @@ package sharethrough import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/showheroes/params_test.go b/adapters/showheroes/params_test.go new file mode 100644 index 000000000..857a9db65 --- /dev/null +++ b/adapters/showheroes/params_test.go @@ -0,0 +1,51 @@ +package showheroes + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the JSON schema. %v", err) + } + + for _, p := range validParams { + if err := validator.Validate(openrtb_ext.BidderShowheroes, json.RawMessage(p)); err != nil { + t.Errorf("Schema rejected valid params: %s", p) + } + } +} + +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + if err != nil { + t.Fatalf("Failed to fetch the JSON schema. %v", err) + } + + for _, p := range invalidParams { + if err := validator.Validate(openrtb_ext.BidderShowheroes, json.RawMessage(p)); err == nil { + t.Errorf("Schema allowed invalid params: %s", p) + } + } +} + +var validParams = []string{ + `{"unitId": "12345678"}`, +} + +var invalidParams = []string{ + ``, + `null`, + `true`, + `5`, + `4.2`, + `[]`, + `{}`, + `{"unitId": ""}`, + `{"unitId": "short"}`, + `{"unitId": 123345678}`, +} diff --git a/adapters/showheroes/showheroes.go b/adapters/showheroes/showheroes.go new file mode 100644 index 000000000..c2c27b64b --- /dev/null +++ b/adapters/showheroes/showheroes.go @@ -0,0 +1,223 @@ +package showheroes + +import ( + "encoding/json" + "fmt" + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/version" +) + +type adapter struct { + endpoint string +} + +type shExtImpBidder struct { + Prebid *openrtb_ext.ExtImpPrebid `json:"prebid,omitempty"` + Bidder openrtb_ext.ExtImpShowheroes `json:"bidder,omitempty"` + Gpid string `json:"gpid,omitempty"` + Tid string `json:"tid,omitempty"` + Data json.RawMessage `json:"data,omitempty"` + Params openrtb_ext.ExtImpShowheroes `json:"params"` +} + +// Builder builds a new instance of the Showheroes adapter for the given bidder with the given config. +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + return &adapter{ + endpoint: config.Endpoint, + }, nil +} + +func validate(request *openrtb2.BidRequest) error { + if request.Site != nil && request.Site.Page == "" { + return &errortypes.BadInput{ + Message: "site request doesn't have a page URL", + } + } + + if request.App != nil && request.App.Bundle == "" { + return &errortypes.BadInput{ + Message: "app request doesn't have a bundle ID", + } + } + + if request.Site == nil && request.App == nil { + return &errortypes.BadInput{ + Message: "request must contain a site or an app", + } + } + + return nil +} + +func processImp(imp *openrtb2.Imp, reqInfo *adapters.ExtraRequestInfo) error { + var bidderExt shExtImpBidder + if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { + return &errortypes.BadInput{ + Message: "Error parsing bidder params", + } + } + + // move params from .bidder to .params + // this is required since openrtb_ext.ExtImpShowheroes is used in 2 places: + // 1. shExtImpBidder.Bidder - for parsing the incoming request + // 2. shExtImpBidder.Params - for marshaling the outgoing request to showheroes + bidderExt.Params.UnitID = bidderExt.Bidder.UnitID + + impExt, err := jsonutil.Marshal(bidderExt) + if err != nil { + return err + } + imp.Ext = impExt + + if imp.BidFloor == 0 || imp.BidFloorCur == "EUR" { + return nil + } + + currency := imp.BidFloorCur + if currency == "" { + currency = "USD" + } + + eurFloor, err := reqInfo.ConvertCurrency(imp.BidFloor, currency, "EUR") + if err != nil { + return err + } + + imp.BidFloor = eurFloor + imp.BidFloorCur = "EUR" + + return nil +} + +func getPrebidChannel(request *openrtb2.BidRequest) (string, string) { + var channelName string + var channelVersion string + reqExt := &openrtb_ext.ExtRequest{} + + if err := jsonutil.Unmarshal(request.Ext, reqExt); err == nil && reqExt.Prebid.Channel != nil { + channelName = reqExt.Prebid.Channel.Name + channelVersion = reqExt.Prebid.Channel.Version + } + return channelName, channelVersion +} + +func setPBSVersion(request *openrtb2.BidRequest, pbsVersion string) { + if pbsVersion == "" { + pbsVersion = version.VerUnknown + } + source := request.Source + if source == nil { + source = &openrtb2.Source{} + request.Source = source + } + + sourceExtMap := make(map[string]json.RawMessage) + if source.Ext != nil { + if err := jsonutil.Unmarshal(source.Ext, &sourceExtMap); err != nil { + return + } + } + sourceExtMap["pbs"] = json.RawMessage(`{"pbsv":"` + pbsVersion + `", "pbsp": "go"}`) + if ext, err := json.Marshal(sourceExtMap); err == nil { + source.Ext = ext + } +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, extra *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + if err := validate(request); err != nil { + return nil, []error{err} + } + var errors []error + validImps := make([]openrtb2.Imp, 0, len(request.Imp)) + + prebidChannelName, channelVersion := getPrebidChannel(request) + + for _, imp := range request.Imp { + if err := processImp(&imp, extra); err != nil { + errors = append(errors, err) + continue + } + + if imp.DisplayManager == "" { + imp.DisplayManager = prebidChannelName + imp.DisplayManagerVer = channelVersion + } + validImps = append(validImps, imp) + } + + if len(validImps) == 0 { + return nil, errors + } + + setPBSVersion(request, version.Ver) + + request.Imp = validImps + reqJSON, err := json.Marshal(request) + if err != nil { + errors = append(errors, err) + return nil, errors + } + + headers := http.Header{} + headers.Add("Content-Type", "application/json;charset=utf-8") + headers.Add("Accept", "application/json") + return []*adapters.RequestData{ + { + Method: "POST", + Uri: a.endpoint, + Body: reqJSON, + Headers: headers, + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + }, + }, errors +} + +func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest *adapters.RequestData, response *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if response.StatusCode == http.StatusNoContent { + return nil, nil + } + + if response.StatusCode != http.StatusOK { + return nil, []error{fmt.Errorf("unexpected status code: %d", response.StatusCode)} + } + var bidResponse openrtb2.BidResponse + if err := jsonutil.Unmarshal(response.Body, &bidResponse); err != nil { + return nil, []error{err} + } + + bidderResponse := adapters.NewBidderResponse() + bidderResponse.Currency = bidResponse.Cur + + for _, seatBid := range bidResponse.SeatBid { + for i := range seatBid.Bid { + bid := &seatBid.Bid[i] + + b := &adapters.TypedBid{ + Bid: bid, + BidType: getBidType(bid.MType), + } + bidderResponse.Bids = append(bidderResponse.Bids, b) + } + } + + return bidderResponse, nil +} + +func getBidType(markupType openrtb2.MarkupType) openrtb_ext.BidType { + + switch markupType { + case openrtb2.MarkupBanner: + return openrtb_ext.BidTypeBanner + case openrtb2.MarkupVideo: + return openrtb_ext.BidTypeVideo + default: + return openrtb_ext.BidTypeVideo + } +} diff --git a/adapters/showheroes/showheroes_test.go b/adapters/showheroes/showheroes_test.go new file mode 100644 index 000000000..ce82c8925 --- /dev/null +++ b/adapters/showheroes/showheroes_test.go @@ -0,0 +1,20 @@ +package showheroes + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" +) + +func TestJsonSamples(t *testing.T) { + bidder, err := Builder(openrtb_ext.BidderShowheroes, config.Adapter{ + Endpoint: "https://bid.showheroes.com/api/v1/bid", + }, config.Server{}) + if err != nil { + t.Fatalf("Builder returned unexpected error %v", err) + } + + adapterstest.RunJSONBidderTest(t, "showheroestest", bidder) +} diff --git a/adapters/silvermob/params_test.go b/adapters/silvermob/params_test.go index 9dc9a34eb..c59190d56 100644 --- a/adapters/silvermob/params_test.go +++ b/adapters/silvermob/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the silvermob schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/silvermob/silvermob.go b/adapters/silvermob/silvermob.go index b51207f13..062264e4c 100644 --- a/adapters/silvermob/silvermob.go +++ b/adapters/silvermob/silvermob.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type SilverMobAdapter struct { diff --git a/adapters/silvermob/silvermob_test.go b/adapters/silvermob/silvermob_test.go index 991a758b4..217dfb7db 100644 --- a/adapters/silvermob/silvermob_test.go +++ b/adapters/silvermob/silvermob_test.go @@ -3,9 +3,9 @@ package silvermob import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/silverpush/params_test.go b/adapters/silverpush/params_test.go index d98f413a7..721fd69f5 100644 --- a/adapters/silverpush/params_test.go +++ b/adapters/silverpush/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file intends to test static/bidder-params/silverpush.json diff --git a/adapters/silverpush/silverpush.go b/adapters/silverpush/silverpush.go index 049b0d5a9..f5b9ac058 100644 --- a/adapters/silverpush/silverpush.go +++ b/adapters/silverpush/silverpush.go @@ -6,12 +6,12 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) const ( diff --git a/adapters/silverpush/silverpush_test.go b/adapters/silverpush/silverpush_test.go index f953584f0..cfb7d296f 100644 --- a/adapters/silverpush/silverpush_test.go +++ b/adapters/silverpush/silverpush_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/smaato/native.go b/adapters/smaato/native.go index 2cbcae471..ce73d3d73 100644 --- a/adapters/smaato/native.go +++ b/adapters/smaato/native.go @@ -4,8 +4,8 @@ import ( "encoding/json" "fmt" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type nativeAd struct { diff --git a/adapters/smaato/params_test.go b/adapters/smaato/params_test.go index 7acb42c69..99aea5af5 100644 --- a/adapters/smaato/params_test.go +++ b/adapters/smaato/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file intends to test static/bidder-params/smaato.json diff --git a/adapters/smaato/smaato.go b/adapters/smaato/smaato.go index 34800102b..c782e7fa1 100644 --- a/adapters/smaato/smaato.go +++ b/adapters/smaato/smaato.go @@ -9,13 +9,13 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/timeutil" ) const clientVersion = "prebid_server_1.2" diff --git a/adapters/smaato/smaato_test.go b/adapters/smaato/smaato_test.go index 311724ecd..bc1d3497a 100644 --- a/adapters/smaato/smaato_test.go +++ b/adapters/smaato/smaato_test.go @@ -10,11 +10,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/smartadserver/params_test.go b/adapters/smartadserver/params_test.go index fb71edb41..46266e4be 100644 --- a/adapters/smartadserver/params_test.go +++ b/adapters/smartadserver/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/smartadserver.json diff --git a/adapters/smartadserver/smartadserver.go b/adapters/smartadserver/smartadserver.go index 1dc801a90..464084fd6 100644 --- a/adapters/smartadserver/smartadserver.go +++ b/adapters/smartadserver/smartadserver.go @@ -9,11 +9,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type SmartAdserverAdapter struct { diff --git a/adapters/smartadserver/smartadserver_test.go b/adapters/smartadserver/smartadserver_test.go index 51b1fb091..bb90a4877 100644 --- a/adapters/smartadserver/smartadserver_test.go +++ b/adapters/smartadserver/smartadserver_test.go @@ -3,9 +3,9 @@ package smartadserver import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/smarthub/params_test.go b/adapters/smarthub/params_test.go index 18616abd0..5a2371f8e 100644 --- a/adapters/smarthub/params_test.go +++ b/adapters/smarthub/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/smarthub/smarthub.go b/adapters/smarthub/smarthub.go index 7048bb0cc..733813bd8 100644 --- a/adapters/smarthub/smarthub.go +++ b/adapters/smarthub/smarthub.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/smarthub/smarthub_test.go b/adapters/smarthub/smarthub_test.go index bee9c04aa..bb88ab131 100644 --- a/adapters/smarthub/smarthub_test.go +++ b/adapters/smarthub/smarthub_test.go @@ -3,9 +3,9 @@ package smarthub import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/smartrtb/smartrtb.go b/adapters/smartrtb/smartrtb.go index 68fd9bfcc..2e498c57d 100644 --- a/adapters/smartrtb/smartrtb.go +++ b/adapters/smartrtb/smartrtb.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // Base adapter structure. diff --git a/adapters/smartrtb/smartrtb_test.go b/adapters/smartrtb/smartrtb_test.go index 060323a7a..5e1fd42a2 100644 --- a/adapters/smartrtb/smartrtb_test.go +++ b/adapters/smartrtb/smartrtb_test.go @@ -3,9 +3,9 @@ package smartrtb import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/smartx/params_test.go b/adapters/smartx/params_test.go index 837c63568..904586b78 100644 --- a/adapters/smartx/params_test.go +++ b/adapters/smartx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/smartx/smartx.go b/adapters/smartx/smartx.go index 154f511f0..8a15bb626 100644 --- a/adapters/smartx/smartx.go +++ b/adapters/smartx/smartx.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/smartx/smartx_test.go b/adapters/smartx/smartx_test.go index 6d2575286..e04f4aa7a 100644 --- a/adapters/smartx/smartx_test.go +++ b/adapters/smartx/smartx_test.go @@ -3,9 +3,9 @@ package smartx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testsDir = "smartxtest" diff --git a/adapters/smartyads/params_test.go b/adapters/smartyads/params_test.go index ed4989462..f379c68f3 100644 --- a/adapters/smartyads/params_test.go +++ b/adapters/smartyads/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/smartyads/smartyads.go b/adapters/smartyads/smartyads.go index 3a07edaf6..9970b3af7 100644 --- a/adapters/smartyads/smartyads.go +++ b/adapters/smartyads/smartyads.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type SmartyAdsAdapter struct { diff --git a/adapters/smartyads/smartyads_test.go b/adapters/smartyads/smartyads_test.go index 330f3900a..9b7ada132 100644 --- a/adapters/smartyads/smartyads_test.go +++ b/adapters/smartyads/smartyads_test.go @@ -3,9 +3,9 @@ package smartyads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/smilewanted/params_test.go b/adapters/smilewanted/params_test.go index 78a29dc04..cfca29976 100644 --- a/adapters/smilewanted/params_test.go +++ b/adapters/smilewanted/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/smilewanted.json diff --git a/adapters/smilewanted/smilewanted.go b/adapters/smilewanted/smilewanted.go index 5484c8419..c64a5727f 100644 --- a/adapters/smilewanted/smilewanted.go +++ b/adapters/smilewanted/smilewanted.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/smilewanted/smilewanted_test.go b/adapters/smilewanted/smilewanted_test.go index b63c2172e..d256441b9 100644 --- a/adapters/smilewanted/smilewanted_test.go +++ b/adapters/smilewanted/smilewanted_test.go @@ -3,9 +3,12 @@ package smilewanted import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/assert" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/smoot/params_test.go b/adapters/smoot/params_test.go index ef0ec2149..259e97308 100644 --- a/adapters/smoot/params_test.go +++ b/adapters/smoot/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/smoot/smoot.go b/adapters/smoot/smoot.go index e23c2de60..9a0df2b4a 100644 --- a/adapters/smoot/smoot.go +++ b/adapters/smoot/smoot.go @@ -6,10 +6,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/smoot/smoot_test.go b/adapters/smoot/smoot_test.go index 46c658624..7e4d67fd0 100644 --- a/adapters/smoot/smoot_test.go +++ b/adapters/smoot/smoot_test.go @@ -3,9 +3,9 @@ package smoot import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/smrtconnect/smrtconnect.go b/adapters/smrtconnect/smrtconnect.go index 4ecde49ce..b462b460f 100644 --- a/adapters/smrtconnect/smrtconnect.go +++ b/adapters/smrtconnect/smrtconnect.go @@ -6,12 +6,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/smrtconnect/smrtconnect_test.go b/adapters/smrtconnect/smrtconnect_test.go index 2b020c1e3..f715f8141 100644 --- a/adapters/smrtconnect/smrtconnect_test.go +++ b/adapters/smrtconnect/smrtconnect_test.go @@ -3,9 +3,9 @@ package smrtconnect import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/sonobi/params_test.go b/adapters/sonobi/params_test.go index 7ffff8ffd..eae150661 100644 --- a/adapters/sonobi/params_test.go +++ b/adapters/sonobi/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/sonobi.json diff --git a/adapters/sonobi/sonobi.go b/adapters/sonobi/sonobi.go index cf00595c6..b4adb57e1 100644 --- a/adapters/sonobi/sonobi.go +++ b/adapters/sonobi/sonobi.go @@ -7,11 +7,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // SonobiAdapter - Sonobi SonobiAdapter definition diff --git a/adapters/sonobi/sonobi_test.go b/adapters/sonobi/sonobi_test.go index aa9f44ed7..35fc29b8f 100644 --- a/adapters/sonobi/sonobi_test.go +++ b/adapters/sonobi/sonobi_test.go @@ -3,9 +3,9 @@ package sonobi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/sovrn/params_test.go b/adapters/sovrn/params_test.go index 021043c1c..873ec63a1 100644 --- a/adapters/sovrn/params_test.go +++ b/adapters/sovrn/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/sovrn/sovrn.go b/adapters/sovrn/sovrn.go index 8276c0704..25bbced73 100644 --- a/adapters/sovrn/sovrn.go +++ b/adapters/sovrn/sovrn.go @@ -8,11 +8,11 @@ import ( "strconv" "strings" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/sovrn/sovrn_test.go b/adapters/sovrn/sovrn_test.go index f2d61d166..12545b3f6 100644 --- a/adapters/sovrn/sovrn_test.go +++ b/adapters/sovrn/sovrn_test.go @@ -3,9 +3,9 @@ package sovrn import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/sovrnXsp/params_test.go b/adapters/sovrnXsp/params_test.go index 91d31ec54..2c7270420 100644 --- a/adapters/sovrnXsp/params_test.go +++ b/adapters/sovrnXsp/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/sovrnXsp/sovrnXsp.go b/adapters/sovrnXsp/sovrnXsp.go index 7dc90adfd..2a0444323 100644 --- a/adapters/sovrnXsp/sovrnXsp.go +++ b/adapters/sovrnXsp/sovrnXsp.go @@ -5,11 +5,11 @@ import ( "fmt" "net/http" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/sovrnXsp/sovrnXsp_test.go b/adapters/sovrnXsp/sovrnXsp_test.go index 3a82e29a5..6c7e4c546 100644 --- a/adapters/sovrnXsp/sovrnXsp_test.go +++ b/adapters/sovrnXsp/sovrnXsp_test.go @@ -3,9 +3,9 @@ package sovrnXsp import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/sparteo/params_test.go b/adapters/sparteo/params_test.go index 209093d1e..c7b8d162d 100644 --- a/adapters/sparteo/params_test.go +++ b/adapters/sparteo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/sparteo.json diff --git a/adapters/sparteo/sparteo.go b/adapters/sparteo/sparteo.go index 100d5acc7..0653e2c4d 100644 --- a/adapters/sparteo/sparteo.go +++ b/adapters/sparteo/sparteo.go @@ -5,11 +5,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/sparteo/sparteo_test.go b/adapters/sparteo/sparteo_test.go index 527f98b37..8e9524dab 100644 --- a/adapters/sparteo/sparteo_test.go +++ b/adapters/sparteo/sparteo_test.go @@ -5,9 +5,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/adapters/sspBC/sspbc.go b/adapters/sspBC/sspbc.go index 4a12ddaa5..36fce93ff 100644 --- a/adapters/sspBC/sspbc.go +++ b/adapters/sspBC/sspbc.go @@ -7,12 +7,12 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/sspBC/sspbc_test.go b/adapters/sspBC/sspbc_test.go index f2fdc7dae..a2a61f74c 100644 --- a/adapters/sspBC/sspbc_test.go +++ b/adapters/sspBC/sspbc_test.go @@ -5,11 +5,11 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/startio/startio.go b/adapters/startio/startio.go index b524a6601..6699ab8ee 100644 --- a/adapters/startio/startio.go +++ b/adapters/startio/startio.go @@ -6,11 +6,11 @@ import ( "slices" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/startio/startio_test.go b/adapters/startio/startio_test.go index 8de9e017a..5aa321e63 100644 --- a/adapters/startio/startio_test.go +++ b/adapters/startio/startio_test.go @@ -3,9 +3,9 @@ package startio import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/stroeerCore/params_test.go b/adapters/stroeerCore/params_test.go index 4050a2195..6aa2d02d7 100644 --- a/adapters/stroeerCore/params_test.go +++ b/adapters/stroeerCore/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/stroeerCore/stroeercore.go b/adapters/stroeerCore/stroeercore.go index 57dc2b0cd..3bcc76883 100644 --- a/adapters/stroeerCore/stroeercore.go +++ b/adapters/stroeerCore/stroeercore.go @@ -7,11 +7,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/stroeerCore/stroeercore_test.go b/adapters/stroeerCore/stroeercore_test.go index b0f620488..4040b3415 100644 --- a/adapters/stroeerCore/stroeercore_test.go +++ b/adapters/stroeerCore/stroeercore_test.go @@ -3,9 +3,9 @@ package stroeerCore import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/taboola/params_test.go b/adapters/taboola/params_test.go index 8018c4b9d..bd1ccddbb 100644 --- a/adapters/taboola/params_test.go +++ b/adapters/taboola/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/taboola/taboola.go b/adapters/taboola/taboola.go index a11fbf6ce..ec65a4b67 100644 --- a/adapters/taboola/taboola.go +++ b/adapters/taboola/taboola.go @@ -11,12 +11,12 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/taboola/taboola_test.go b/adapters/taboola/taboola_test.go index 082e48094..60004ef1a 100644 --- a/adapters/taboola/taboola_test.go +++ b/adapters/taboola/taboola_test.go @@ -3,9 +3,9 @@ package taboola import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/tappx/params_test.go b/adapters/tappx/params_test.go index 07b56bf80..2575dffed 100644 --- a/adapters/tappx/params_test.go +++ b/adapters/tappx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/tappx/tappx.go b/adapters/tappx/tappx.go index 71bad1543..d0052613e 100644 --- a/adapters/tappx/tappx.go +++ b/adapters/tappx/tappx.go @@ -11,12 +11,12 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const TAPPX_BIDDER_VERSION = "1.6" diff --git a/adapters/tappx/tappx_test.go b/adapters/tappx/tappx_test.go index 3643a58cc..2fc8b6166 100644 --- a/adapters/tappx/tappx_test.go +++ b/adapters/tappx/tappx_test.go @@ -4,9 +4,9 @@ import ( "regexp" "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/adapters/teads/teads.go b/adapters/teads/teads.go index 402392d1c..81d6eb35e 100644 --- a/adapters/teads/teads.go +++ b/adapters/teads/teads.go @@ -9,12 +9,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // Builder builds a new instance of the Teads adapter for the given bidder with the given config. diff --git a/adapters/teads/teads_test.go b/adapters/teads/teads_test.go index 8499e6f13..ce61f732c 100644 --- a/adapters/teads/teads_test.go +++ b/adapters/teads/teads_test.go @@ -3,9 +3,9 @@ package teads import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/telaria/params_test.go b/adapters/telaria/params_test.go index 7b1dfe085..1ed6d600e 100644 --- a/adapters/telaria/params_test.go +++ b/adapters/telaria/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/telaria/telaria.go b/adapters/telaria/telaria.go index 1805bfaea..1969ed5a5 100644 --- a/adapters/telaria/telaria.go +++ b/adapters/telaria/telaria.go @@ -7,11 +7,11 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const Endpoint = "https://ads.tremorhub.com/ad/rtb/prebid" diff --git a/adapters/telaria/telaria_test.go b/adapters/telaria/telaria_test.go index 8c55e7b90..73fbed3d0 100644 --- a/adapters/telaria/telaria_test.go +++ b/adapters/telaria/telaria_test.go @@ -3,9 +3,9 @@ package telaria import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/teqblaze/params_test.go b/adapters/teqblaze/params_test.go index 2c86ea148..ac99ad665 100644 --- a/adapters/teqblaze/params_test.go +++ b/adapters/teqblaze/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/teqblaze/teqblaze.go b/adapters/teqblaze/teqblaze.go index b6e391bb8..203ca847c 100644 --- a/adapters/teqblaze/teqblaze.go +++ b/adapters/teqblaze/teqblaze.go @@ -5,10 +5,10 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/teqblaze/teqblaze_test.go b/adapters/teqblaze/teqblaze_test.go index f4a3cdca9..22537c07e 100644 --- a/adapters/teqblaze/teqblaze_test.go +++ b/adapters/teqblaze/teqblaze_test.go @@ -3,9 +3,9 @@ package teqblaze import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/theadx/params_test.go b/adapters/theadx/params_test.go index 09440b335..764d5edc3 100644 --- a/adapters/theadx/params_test.go +++ b/adapters/theadx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/theadx.json diff --git a/adapters/theadx/theadx.go b/adapters/theadx/theadx.go index 34b1e1a3b..5460daa83 100644 --- a/adapters/theadx/theadx.go +++ b/adapters/theadx/theadx.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/theadx/theadx_test.go b/adapters/theadx/theadx_test.go index a945bd15f..170a3150d 100644 --- a/adapters/theadx/theadx_test.go +++ b/adapters/theadx/theadx_test.go @@ -3,9 +3,9 @@ package theadx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/thetradedesk/params_test.go b/adapters/thetradedesk/params_test.go index b0829fb29..1cf105857 100644 --- a/adapters/thetradedesk/params_test.go +++ b/adapters/thetradedesk/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/thetradedesk/thetradedesk.go b/adapters/thetradedesk/thetradedesk.go index f3d81d2a0..f567b43d9 100644 --- a/adapters/thetradedesk/thetradedesk.go +++ b/adapters/thetradedesk/thetradedesk.go @@ -10,11 +10,11 @@ import ( "strings" "text/template" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/thetradedesk/thetradedesk_test.go b/adapters/thetradedesk/thetradedesk_test.go index dec4652ce..050d64498 100644 --- a/adapters/thetradedesk/thetradedesk_test.go +++ b/adapters/thetradedesk/thetradedesk_test.go @@ -3,15 +3,15 @@ package thetradedesk import ( "encoding/json" "errors" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" "net/http" "testing" "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/tpmn/params_test.go b/adapters/tpmn/params_test.go index 674da5fb6..a7159abc4 100644 --- a/adapters/tpmn/params_test.go +++ b/adapters/tpmn/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/tpmn/tpmn.go b/adapters/tpmn/tpmn.go index 262fc28ac..95e2d03d3 100644 --- a/adapters/tpmn/tpmn.go +++ b/adapters/tpmn/tpmn.go @@ -7,10 +7,10 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // TpmnAdapter struct diff --git a/adapters/tpmn/tpmn_test.go b/adapters/tpmn/tpmn_test.go index 865771e89..f207467fb 100644 --- a/adapters/tpmn/tpmn_test.go +++ b/adapters/tpmn/tpmn_test.go @@ -3,9 +3,9 @@ package tpmn import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/tradplus/params_test.go b/adapters/tradplus/params_test.go index aa92db4a2..394a8e7b8 100644 --- a/adapters/tradplus/params_test.go +++ b/adapters/tradplus/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/tradplus/tradplus.go b/adapters/tradplus/tradplus.go index 4800c73e8..7e7b7a6ec 100644 --- a/adapters/tradplus/tradplus.go +++ b/adapters/tradplus/tradplus.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/tradplus/tradplus_test.go b/adapters/tradplus/tradplus_test.go index e081607f4..38dc571e0 100644 --- a/adapters/tradplus/tradplus_test.go +++ b/adapters/tradplus/tradplus_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/trafficgate/params_test.go b/adapters/trafficgate/params_test.go index 0667a8bc5..a14f887dd 100644 --- a/adapters/trafficgate/params_test.go +++ b/adapters/trafficgate/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TestValidParams makes sure that the trafficgate schema accepts all imp.ext fields which we intend to support. diff --git a/adapters/trafficgate/trafficgate.go b/adapters/trafficgate/trafficgate.go index d4d181399..ce72048ad 100644 --- a/adapters/trafficgate/trafficgate.go +++ b/adapters/trafficgate/trafficgate.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/trafficgate/trafficgate_test.go b/adapters/trafficgate/trafficgate_test.go index df932538d..de5c0459c 100644 --- a/adapters/trafficgate/trafficgate_test.go +++ b/adapters/trafficgate/trafficgate_test.go @@ -3,9 +3,9 @@ package trafficgate import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/triplelift/triplelift.go b/adapters/triplelift/triplelift.go index c5d89cd25..736773075 100644 --- a/adapters/triplelift/triplelift.go +++ b/adapters/triplelift/triplelift.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type TripleliftAdapter struct { diff --git a/adapters/triplelift/triplelift_test.go b/adapters/triplelift/triplelift_test.go index 1fd5fc8d5..547c8609b 100644 --- a/adapters/triplelift/triplelift_test.go +++ b/adapters/triplelift/triplelift_test.go @@ -3,9 +3,9 @@ package triplelift import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/triplelift_native/params_test.go b/adapters/triplelift_native/params_test.go index 743c3d87e..1b65fc46f 100644 --- a/adapters/triplelift_native/params_test.go +++ b/adapters/triplelift_native/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/triplelift_native/triplelift_native.go b/adapters/triplelift_native/triplelift_native.go index 1d4c6bf63..987e20d94 100644 --- a/adapters/triplelift_native/triplelift_native.go +++ b/adapters/triplelift_native/triplelift_native.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type TripleliftNativeAdapter struct { diff --git a/adapters/triplelift_native/triplelift_native_test.go b/adapters/triplelift_native/triplelift_native_test.go index 651890b01..e3f3b7958 100644 --- a/adapters/triplelift_native/triplelift_native_test.go +++ b/adapters/triplelift_native/triplelift_native_test.go @@ -3,9 +3,9 @@ package triplelift_native import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/trustedstack/params_test.go b/adapters/trustedstack/params_test.go index a38e0bb72..dee742745 100644 --- a/adapters/trustedstack/params_test.go +++ b/adapters/trustedstack/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/trustedstack.json diff --git a/adapters/trustedstack/trustedstack.go b/adapters/trustedstack/trustedstack.go index 7c2fd4df5..0d795620c 100644 --- a/adapters/trustedstack/trustedstack.go +++ b/adapters/trustedstack/trustedstack.go @@ -7,10 +7,10 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/trustedstack/trustedstack_test.go b/adapters/trustedstack/trustedstack_test.go index d12202802..223c97b97 100644 --- a/adapters/trustedstack/trustedstack_test.go +++ b/adapters/trustedstack/trustedstack_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/trustx/params_test.go b/adapters/trustx/params_test.go new file mode 100644 index 000000000..6c785e417 --- /dev/null +++ b/adapters/trustx/params_test.go @@ -0,0 +1,51 @@ +package trustx + +import ( + "encoding/json" + "testing" + + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/require" +) + +// This file actually intends to test static/bidder-params/trustx.json +// +// These also validate the format of the external API: request.imp[i].ext.prebid.bidder.trustx + +// TestValidParams makes sure that the trustx schema accepts all imp.ext fields which we intend to support. +func TestValidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + require.NoError(t, err, "Failed to fetch the json-schemas") + + for _, validParam := range validParams { + err := validator.Validate(openrtb_ext.BidderTrustX, json.RawMessage(validParam)) + require.NoError(t, err, "Schema rejected trustx params: %s", validParam) + } +} + +// TestInvalidParams makes sure that the trustx schema rejects all the imp.ext fields we don't support. +func TestInvalidParams(t *testing.T) { + validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") + require.NoError(t, err, "Failed to fetch the json-schemas") + + for _, invalidParam := range invalidParams { + err := validator.Validate(openrtb_ext.BidderTrustX, json.RawMessage(invalidParam)) + require.Error(t, err, "Schema allowed unexpected params: %s", invalidParam) + } +} + +var validParams = []string{ + `{}`, + `{"uid": 1234}`, + `{"uid": 1234, "keywords":{"site": {}, "user": {}}}`, +} +var invalidParams = []string{ + ``, + `null`, + `true`, + `5`, + `4.2`, + `[]`, + `{"uid": "invalid_type"}`, + `{"keywords": "invalid_type"}`, +} diff --git a/adapters/trustx/trustx.go b/adapters/trustx/trustx.go new file mode 100644 index 000000000..a36a1985f --- /dev/null +++ b/adapters/trustx/trustx.go @@ -0,0 +1,216 @@ +package trustx + +import ( + "encoding/json" + "fmt" + "net/http" + + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type impExt struct { + Prebid *openrtb_ext.ExtImpPrebid `json:"prebid,omitempty"` + Bidder json.RawMessage `json:"bidder"` + Data *impExtData `json:"data,omitempty"` + Gpid string `json:"gpid,omitempty"` +} + +type impExtData struct { + PbAdslot string `json:"pbadslot,omitempty"` + AdServer *impExtDataAdServer `json:"adserver,omitempty"` +} + +type impExtDataAdServer struct { + Name string `json:"name,omitempty"` + AdSlot string `json:"adslot,omitempty"` +} + +type bidExt struct { + Bidder bidExtBidder `json:"bidder,omitempty"` +} + +type bidExtBidder struct { + TrustX bidExtBidderTrustX `json:"trustx,omitempty"` +} + +type bidExtBidderTrustX struct { + NetworkName string `json:"networkName,omitempty"` +} + +type adapter struct { + endpoint string +} + +// Builder builds a new instance of the TRUSTX adapter for the given bidder with the given config. +func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { + bidder := &adapter{ + endpoint: config.Endpoint, + } + return bidder, nil +} + +func (a *adapter) MakeRequests(request *openrtb2.BidRequest, reqInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { + var errs []error + for i := range request.Imp { + err := setImpExtData(&request.Imp[i]) + if err != nil { + errs = append(errs, err) + return nil, errs + } + } + + body, err := jsonutil.Marshal(request) + if err != nil { + errs = append(errs, err) + return nil, errs + } + + reqs := make([]*adapters.RequestData, 0, 1) + requestData := &adapters.RequestData{ + Method: http.MethodPost, + Uri: a.endpoint, + Body: body, + Headers: getHeaders(request), + ImpIDs: openrtb_ext.GetImpIDs(request.Imp), + } + reqs = append(reqs, requestData) + + return reqs, errs +} + +func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, externalRequest *adapters.RequestData, response *adapters.ResponseData) (*adapters.BidderResponse, []error) { + if adapters.IsResponseStatusCodeNoContent(response) { + return nil, nil + } + + if err := adapters.CheckResponseStatusCodeForErrors(response); err != nil { + return nil, []error{err} + } + + var resp openrtb2.BidResponse + if err := jsonutil.Unmarshal(response.Body, &resp); err != nil { + return nil, []error{&errortypes.BadServerResponse{ + Message: "Bad Server Response", + }} + } + + var bidErrors []error + bidderResponse := adapters.NewBidderResponseWithBidsCapacity(1) + for i := range resp.SeatBid { + seatBid := &resp.SeatBid[i] + for j := range seatBid.Bid { + bid := &seatBid.Bid[j] + typedBid, err := getTypedBid(bid) + if err != nil { + bidErrors = append(bidErrors, err) + continue + } + bidderResponse.Bids = append(bidderResponse.Bids, typedBid) + } + } + + return bidderResponse, bidErrors +} + +func setImpExtData(imp *openrtb2.Imp) error { + var ext impExt + if err := jsonutil.Unmarshal(imp.Ext, &ext); err != nil { + //if unmarshalling fails, proceed with the request + return nil + } + if ext.Data != nil && ext.Data.AdServer != nil && ext.Data.AdServer.AdSlot != "" { + ext.Gpid = ext.Data.AdServer.AdSlot + extJSON, err := jsonutil.Marshal(ext) + if err != nil { + return err + } + imp.Ext = extJSON + } + return nil +} + +func getHeaders(request *openrtb2.BidRequest) http.Header { + headers := http.Header{} + headers.Set("Content-Type", "application/json;charset=utf-8") + headers.Set("Accept", "application/json") + headers.Set("X-Openrtb-Version", "2.6") + + if request.Site != nil { + if request.Site.Ref != "" { + headers.Set("Referer", request.Site.Ref) + } + if request.Site.Domain != "" { + headers.Set("Origin", request.Site.Domain) + } + } + + if request.Device != nil { + if len(request.Device.IP) > 0 { + headers.Set("X-Forwarded-For", request.Device.IP) + } + + if len(request.Device.IPv6) > 0 { + headers.Set("X-Forwarded-For", request.Device.IPv6) + } + + if len(request.Device.UA) > 0 { + headers.Set("User-Agent", request.Device.UA) + } + } + + return headers +} + +func getTypedBid(bid *openrtb2.Bid) (*adapters.TypedBid, error) { + var bidType openrtb_ext.BidType + switch bid.MType { + case openrtb2.MarkupBanner: + bidType = openrtb_ext.BidTypeBanner + case openrtb2.MarkupVideo: + bidType = openrtb_ext.BidTypeVideo + default: + return nil, &errortypes.BadServerResponse{ + Message: fmt.Sprintf("Unsupported MType: %v", bid.MType), + } + } + + var extBidPrebidVideo *openrtb_ext.ExtBidPrebidVideo + if bidType == openrtb_ext.BidTypeVideo { + extBidPrebidVideo = &openrtb_ext.ExtBidPrebidVideo{} + if len(bid.Cat) > 0 { + extBidPrebidVideo.PrimaryCategory = bid.Cat[0] + } + if bid.Dur > 0 { + extBidPrebidVideo.Duration = int(bid.Dur) + } + } + return &adapters.TypedBid{ + Bid: bid, + BidType: bidType, + BidVideo: extBidPrebidVideo, + BidMeta: getBidMeta(bid.Ext), + }, nil +} + +func getBidMeta(ext json.RawMessage) *openrtb_ext.ExtBidPrebidMeta { + if ext == nil { + return nil + } + var be bidExt + + if err := jsonutil.Unmarshal(ext, &be); err != nil { + return nil + } + var bidMeta *openrtb_ext.ExtBidPrebidMeta + if be.Bidder.TrustX.NetworkName != "" { + bidMeta = &openrtb_ext.ExtBidPrebidMeta{ + NetworkName: be.Bidder.TrustX.NetworkName, + } + } + return bidMeta +} diff --git a/adapters/trustx/trustx_test.go b/adapters/trustx/trustx_test.go new file mode 100644 index 000000000..f3fe9d45e --- /dev/null +++ b/adapters/trustx/trustx_test.go @@ -0,0 +1,18 @@ +package trustx + +import ( + "testing" + + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/stretchr/testify/require" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderTrustX, config.Adapter{ + Endpoint: "https://test.localhost.com"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + require.NoError(t, buildErr, "Builder returned unexpected error") + adapterstest.RunJSONBidderTest(t, "trustxtest", bidder) +} diff --git a/adapters/ucfunnel/params_test.go b/adapters/ucfunnel/params_test.go index 47954e8aa..ca9556ff6 100644 --- a/adapters/ucfunnel/params_test.go +++ b/adapters/ucfunnel/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/ucfunnel.json diff --git a/adapters/ucfunnel/ucfunnel.go b/adapters/ucfunnel/ucfunnel.go index efee7736d..e48c3dd15 100644 --- a/adapters/ucfunnel/ucfunnel.go +++ b/adapters/ucfunnel/ucfunnel.go @@ -7,11 +7,11 @@ import ( "net/url" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type UcfunnelAdapter struct { diff --git a/adapters/ucfunnel/ucfunnel_test.go b/adapters/ucfunnel/ucfunnel_test.go index ec1b777c7..0e0500a0e 100644 --- a/adapters/ucfunnel/ucfunnel_test.go +++ b/adapters/ucfunnel/ucfunnel_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/undertone/params_test.go b/adapters/undertone/params_test.go index dad74a08e..126a8c4af 100644 --- a/adapters/undertone/params_test.go +++ b/adapters/undertone/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/undertone/undertone.go b/adapters/undertone/undertone.go index 91b2527c6..522a4a885 100644 --- a/adapters/undertone/undertone.go +++ b/adapters/undertone/undertone.go @@ -8,11 +8,11 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const adapterId = 4 diff --git a/adapters/undertone/undertone_test.go b/adapters/undertone/undertone_test.go index 45281a1d1..5c5541218 100644 --- a/adapters/undertone/undertone_test.go +++ b/adapters/undertone/undertone_test.go @@ -3,9 +3,9 @@ package undertone import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/unicorn/params_test.go b/adapters/unicorn/params_test.go index 89768ea82..808068840 100644 --- a/adapters/unicorn/params_test.go +++ b/adapters/unicorn/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/unicorn/unicorn.go b/adapters/unicorn/unicorn.go index a957cff9a..ebaaab17f 100644 --- a/adapters/unicorn/unicorn.go +++ b/adapters/unicorn/unicorn.go @@ -8,11 +8,11 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/unicorn/unicorn_test.go b/adapters/unicorn/unicorn_test.go index a83951277..646001927 100644 --- a/adapters/unicorn/unicorn_test.go +++ b/adapters/unicorn/unicorn_test.go @@ -3,9 +3,9 @@ package unicorn import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/unruly/params_test.go b/adapters/unruly/params_test.go index 132afee8e..cbda24631 100644 --- a/adapters/unruly/params_test.go +++ b/adapters/unruly/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/unruly/unruly.go b/adapters/unruly/unruly.go index c8e73de99..4acf708f2 100644 --- a/adapters/unruly/unruly.go +++ b/adapters/unruly/unruly.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/unruly/unruly_test.go b/adapters/unruly/unruly_test.go index e3df3d888..dc86bb3e6 100644 --- a/adapters/unruly/unruly_test.go +++ b/adapters/unruly/unruly_test.go @@ -3,9 +3,9 @@ package unruly import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/vidazoo/params_test.go b/adapters/vidazoo/params_test.go index cfd3e9b5d..42d77bdd6 100644 --- a/adapters/vidazoo/params_test.go +++ b/adapters/vidazoo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/vidazoo/vidazoo.go b/adapters/vidazoo/vidazoo.go index be0cf66d9..0f98d8a2e 100644 --- a/adapters/vidazoo/vidazoo.go +++ b/adapters/vidazoo/vidazoo.go @@ -8,11 +8,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/vidazoo/vidazoo_test.go b/adapters/vidazoo/vidazoo_test.go index 5d6090de9..49116c425 100644 --- a/adapters/vidazoo/vidazoo_test.go +++ b/adapters/vidazoo/vidazoo_test.go @@ -3,9 +3,9 @@ package vidazoo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/videobyte/params_test.go b/adapters/videobyte/params_test.go index ffb37f88d..977409c11 100644 --- a/adapters/videobyte/params_test.go +++ b/adapters/videobyte/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/videobyte.json diff --git a/adapters/videobyte/videobyte.go b/adapters/videobyte/videobyte.go index ed79c6525..5968d9257 100644 --- a/adapters/videobyte/videobyte.go +++ b/adapters/videobyte/videobyte.go @@ -6,11 +6,11 @@ import ( "net/http" "net/url" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" ) diff --git a/adapters/videobyte/videobyte_test.go b/adapters/videobyte/videobyte_test.go index 2d1d2a07f..cd5cdf512 100644 --- a/adapters/videobyte/videobyte_test.go +++ b/adapters/videobyte/videobyte_test.go @@ -3,9 +3,9 @@ package videobyte import ( "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/videoheroes/params_test.go b/adapters/videoheroes/params_test.go index e8af1f1fc..f927d5724 100644 --- a/adapters/videoheroes/params_test.go +++ b/adapters/videoheroes/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/videoheroes/videoheroes.go b/adapters/videoheroes/videoheroes.go index 8d1d7450c..80956d56d 100755 --- a/adapters/videoheroes/videoheroes.go +++ b/adapters/videoheroes/videoheroes.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/videoheroes/videoheroes_test.go b/adapters/videoheroes/videoheroes_test.go index 3545b601d..c99944100 100644 --- a/adapters/videoheroes/videoheroes_test.go +++ b/adapters/videoheroes/videoheroes_test.go @@ -3,9 +3,9 @@ package videoheroes import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/vidoomy/params_test.go b/adapters/vidoomy/params_test.go index b3801c637..1052816be 100644 --- a/adapters/vidoomy/params_test.go +++ b/adapters/vidoomy/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/vidoomy.json diff --git a/adapters/vidoomy/vidoomy.go b/adapters/vidoomy/vidoomy.go index b39448a41..c7dda9c77 100644 --- a/adapters/vidoomy/vidoomy.go +++ b/adapters/vidoomy/vidoomy.go @@ -7,12 +7,12 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) type adapter struct { diff --git a/adapters/vidoomy/vidoomy_test.go b/adapters/vidoomy/vidoomy_test.go index ef561b596..c6950cf8b 100644 --- a/adapters/vidoomy/vidoomy_test.go +++ b/adapters/vidoomy/vidoomy_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestVidoomyBidderEndpointConfig(t *testing.T) { diff --git a/adapters/visiblemeasures/params_test.go b/adapters/visiblemeasures/params_test.go index b4e5bb66c..e4bbbe288 100644 --- a/adapters/visiblemeasures/params_test.go +++ b/adapters/visiblemeasures/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/visiblemeasures/visiblemeasures.go b/adapters/visiblemeasures/visiblemeasures.go index 100ba03e5..a024c5e3a 100644 --- a/adapters/visiblemeasures/visiblemeasures.go +++ b/adapters/visiblemeasures/visiblemeasures.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/visiblemeasures/visiblemeasures_test.go b/adapters/visiblemeasures/visiblemeasures_test.go index 820389383..718c4b2de 100644 --- a/adapters/visiblemeasures/visiblemeasures_test.go +++ b/adapters/visiblemeasures/visiblemeasures_test.go @@ -3,9 +3,9 @@ package visiblemeasures import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/visx/params_test.go b/adapters/visx/params_test.go index 1355d6f8d..de8925866 100644 --- a/adapters/visx/params_test.go +++ b/adapters/visx/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/visx/visx.go b/adapters/visx/visx.go index 36f62ab29..2014ef3a6 100644 --- a/adapters/visx/visx.go +++ b/adapters/visx/visx.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type VisxAdapter struct { diff --git a/adapters/visx/visx_test.go b/adapters/visx/visx_test.go index d2adffddc..dd1dd999f 100644 --- a/adapters/visx/visx_test.go +++ b/adapters/visx/visx_test.go @@ -3,9 +3,9 @@ package visx import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/vox/params_test.go b/adapters/vox/params_test.go index 536503555..5438bc9df 100644 --- a/adapters/vox/params_test.go +++ b/adapters/vox/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/vox/vox.go b/adapters/vox/vox.go index 3e5f03aa6..5918e2dba 100644 --- a/adapters/vox/vox.go +++ b/adapters/vox/vox.go @@ -5,10 +5,10 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/vox/vox_test.go b/adapters/vox/vox_test.go index dce89de3a..4e057e2b2 100644 --- a/adapters/vox/vox_test.go +++ b/adapters/vox/vox_test.go @@ -3,9 +3,9 @@ package vox import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/vrtcal/params_test.go b/adapters/vrtcal/params_test.go index 8ba180db2..1e0aa9487 100644 --- a/adapters/vrtcal/params_test.go +++ b/adapters/vrtcal/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) //Vrtcal doesn't currently require any custom fields. This file is included for conformity only diff --git a/adapters/vrtcal/vrtcal.go b/adapters/vrtcal/vrtcal.go index e0df0bca9..d342fc44c 100644 --- a/adapters/vrtcal/vrtcal.go +++ b/adapters/vrtcal/vrtcal.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type VrtcalAdapter struct { diff --git a/adapters/vrtcal/vrtcal_test.go b/adapters/vrtcal/vrtcal_test.go index 59d29aaee..72efdd5f1 100644 --- a/adapters/vrtcal/vrtcal_test.go +++ b/adapters/vrtcal/vrtcal_test.go @@ -3,9 +3,9 @@ package vrtcal import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/vungle/param_test.go b/adapters/vungle/param_test.go index 7053669ed..114637d27 100644 --- a/adapters/vungle/param_test.go +++ b/adapters/vungle/param_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/vungle/vungle.go b/adapters/vungle/vungle.go index 6e6967fc2..43785b3d9 100644 --- a/adapters/vungle/vungle.go +++ b/adapters/vungle/vungle.go @@ -8,10 +8,10 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const SupportedCurrency = "USD" diff --git a/adapters/vungle/vungle_test.go b/adapters/vungle/vungle_test.go index 740208dbe..687edb21b 100644 --- a/adapters/vungle/vungle_test.go +++ b/adapters/vungle/vungle_test.go @@ -3,9 +3,9 @@ package vungle import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/xeworks/params_test.go b/adapters/xeworks/params_test.go index 0ce8d99f4..0581e0570 100644 --- a/adapters/xeworks/params_test.go +++ b/adapters/xeworks/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validParams = []string{ diff --git a/adapters/xeworks/xeworks.go b/adapters/xeworks/xeworks.go index bd9d17952..10598b675 100644 --- a/adapters/xeworks/xeworks.go +++ b/adapters/xeworks/xeworks.go @@ -7,12 +7,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type bidType struct { diff --git a/adapters/xeworks/xeworks_test.go b/adapters/xeworks/xeworks_test.go index 842045af1..f8c566fe4 100644 --- a/adapters/xeworks/xeworks_test.go +++ b/adapters/xeworks/xeworks_test.go @@ -3,9 +3,9 @@ package xeworks import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/yahooAds/params_test.go b/adapters/yahooAds/params_test.go index 42a5c16ae..9da14a18b 100644 --- a/adapters/yahooAds/params_test.go +++ b/adapters/yahooAds/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/yahooAds.json diff --git a/adapters/yahooAds/yahooAds.go b/adapters/yahooAds/yahooAds.go index 4a03bc3e7..1be27dc3c 100644 --- a/adapters/yahooAds/yahooAds.go +++ b/adapters/yahooAds/yahooAds.go @@ -6,12 +6,12 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) type adapter struct { diff --git a/adapters/yahooAds/yahooAds_test.go b/adapters/yahooAds/yahooAds_test.go index 0eaf711fa..6b07ef32c 100644 --- a/adapters/yahooAds/yahooAds_test.go +++ b/adapters/yahooAds/yahooAds_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestYahooAdsBidderEndpointConfig(t *testing.T) { diff --git a/adapters/yandex/params_test.go b/adapters/yandex/params_test.go index 0805be198..d3b872728 100644 --- a/adapters/yandex/params_test.go +++ b/adapters/yandex/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/yandex/yandex.go b/adapters/yandex/yandex.go index 51c7c7ec2..c7e8e4050 100644 --- a/adapters/yandex/yandex.go +++ b/adapters/yandex/yandex.go @@ -11,12 +11,12 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/adapters/yandex/yandex_test.go b/adapters/yandex/yandex_test.go index 7635b1a1b..29a7feff1 100644 --- a/adapters/yandex/yandex_test.go +++ b/adapters/yandex/yandex_test.go @@ -3,9 +3,9 @@ package yandex import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/yeahmobi/params_test.go b/adapters/yeahmobi/params_test.go index 2b47316df..8366c1926 100644 --- a/adapters/yeahmobi/params_test.go +++ b/adapters/yeahmobi/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/yeahmobi/yeahmobi.go b/adapters/yeahmobi/yeahmobi.go index 934cee5c2..f3b314ad9 100644 --- a/adapters/yeahmobi/yeahmobi.go +++ b/adapters/yeahmobi/yeahmobi.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/yeahmobi/yeahmobi_test.go b/adapters/yeahmobi/yeahmobi_test.go index d822b32d6..452ec6e78 100644 --- a/adapters/yeahmobi/yeahmobi_test.go +++ b/adapters/yeahmobi/yeahmobi_test.go @@ -3,9 +3,9 @@ package yeahmobi import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/yieldlab/params_test.go b/adapters/yieldlab/params_test.go index ac65adc0f..6ac8fa727 100644 --- a/adapters/yieldlab/params_test.go +++ b/adapters/yieldlab/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/yieldlab.json diff --git a/adapters/yieldlab/types.go b/adapters/yieldlab/types.go index 57ee15c92..4740b042e 100644 --- a/adapters/yieldlab/types.go +++ b/adapters/yieldlab/types.go @@ -4,7 +4,7 @@ import ( "strconv" "time" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type bidResponse struct { diff --git a/adapters/yieldlab/yieldlab.go b/adapters/yieldlab/yieldlab.go index 4466e548a..419354711 100644 --- a/adapters/yieldlab/yieldlab.go +++ b/adapters/yieldlab/yieldlab.go @@ -12,12 +12,12 @@ import ( "golang.org/x/text/currency" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) // YieldlabAdapter connects the Yieldlab API to prebid server diff --git a/adapters/yieldlab/yieldlab_test.go b/adapters/yieldlab/yieldlab_test.go index 1bea9b12e..b9fe8ed8a 100644 --- a/adapters/yieldlab/yieldlab_test.go +++ b/adapters/yieldlab/yieldlab_test.go @@ -8,9 +8,9 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const testURL = "https://ad.yieldlab.net/testing/" diff --git a/adapters/yieldmo/params_test.go b/adapters/yieldmo/params_test.go index baa566cf7..7c9224180 100644 --- a/adapters/yieldmo/params_test.go +++ b/adapters/yieldmo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // This file actually intends to test static/bidder-params/yieldmo.json diff --git a/adapters/yieldmo/yieldmo.go b/adapters/yieldmo/yieldmo.go index 0725f7920..c4ea2c66d 100644 --- a/adapters/yieldmo/yieldmo.go +++ b/adapters/yieldmo/yieldmo.go @@ -7,11 +7,11 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type YieldmoAdapter struct { diff --git a/adapters/yieldmo/yieldmo_test.go b/adapters/yieldmo/yieldmo_test.go index 668e0a375..62ec8d5dd 100644 --- a/adapters/yieldmo/yieldmo_test.go +++ b/adapters/yieldmo/yieldmo_test.go @@ -3,9 +3,9 @@ package yieldmo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/yieldone/params_test.go b/adapters/yieldone/params_test.go index 5632546ac..9f493a6d1 100644 --- a/adapters/yieldone/params_test.go +++ b/adapters/yieldone/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/yieldone/yieldone.go b/adapters/yieldone/yieldone.go index b1aa64653..5227861c4 100644 --- a/adapters/yieldone/yieldone.go +++ b/adapters/yieldone/yieldone.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type YieldoneAdapter struct { diff --git a/adapters/yieldone/yieldone_test.go b/adapters/yieldone/yieldone_test.go index a9831561d..c72904920 100644 --- a/adapters/yieldone/yieldone_test.go +++ b/adapters/yieldone/yieldone_test.go @@ -3,9 +3,9 @@ package yieldone import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adapters/zentotem/zentotem.go b/adapters/zentotem/zentotem.go index 65c067443..428cc2c44 100644 --- a/adapters/zentotem/zentotem.go +++ b/adapters/zentotem/zentotem.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type adapter struct { diff --git a/adapters/zentotem/zentotem_test.go b/adapters/zentotem/zentotem_test.go index cf608c4a4..2b14a3492 100644 --- a/adapters/zentotem/zentotem_test.go +++ b/adapters/zentotem/zentotem_test.go @@ -2,9 +2,9 @@ package zentotem import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "testing" ) diff --git a/adapters/zeroclickfraud/zeroclickfraud.go b/adapters/zeroclickfraud/zeroclickfraud.go index eecd1dd85..08d004024 100644 --- a/adapters/zeroclickfraud/zeroclickfraud.go +++ b/adapters/zeroclickfraud/zeroclickfraud.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type ZeroClickFraudAdapter struct { diff --git a/adapters/zeroclickfraud/zeroclickfraud_test.go b/adapters/zeroclickfraud/zeroclickfraud_test.go index 363f37c0e..d10b226bc 100644 --- a/adapters/zeroclickfraud/zeroclickfraud_test.go +++ b/adapters/zeroclickfraud/zeroclickfraud_test.go @@ -3,9 +3,9 @@ package zeroclickfraud import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/zeta_global_ssp/params_test.go b/adapters/zeta_global_ssp/params_test.go index d665d3da0..a1c26968b 100644 --- a/adapters/zeta_global_ssp/params_test.go +++ b/adapters/zeta_global_ssp/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/zeta_global_ssp/zeta_global_ssp.go b/adapters/zeta_global_ssp/zeta_global_ssp.go index 59a912c16..9f491ed2b 100644 --- a/adapters/zeta_global_ssp/zeta_global_ssp.go +++ b/adapters/zeta_global_ssp/zeta_global_ssp.go @@ -8,12 +8,12 @@ import ( "text/template" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/zeta_global_ssp/zeta_global_ssp_test.go b/adapters/zeta_global_ssp/zeta_global_ssp_test.go index f7e9b3669..d68b55b85 100644 --- a/adapters/zeta_global_ssp/zeta_global_ssp_test.go +++ b/adapters/zeta_global_ssp/zeta_global_ssp_test.go @@ -3,9 +3,9 @@ package zeta_global_ssp import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adapters/zmaticoo/params_test.go b/adapters/zmaticoo/params_test.go index c6c462155..1360bfbe9 100644 --- a/adapters/zmaticoo/params_test.go +++ b/adapters/zmaticoo/params_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestValidParams(t *testing.T) { diff --git a/adapters/zmaticoo/zmaticoo.go b/adapters/zmaticoo/zmaticoo.go index 9e0da9e44..93703d5f7 100644 --- a/adapters/zmaticoo/zmaticoo.go +++ b/adapters/zmaticoo/zmaticoo.go @@ -6,11 +6,11 @@ import ( "net/http" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type adapter struct { diff --git a/adapters/zmaticoo/zmaticoo_test.go b/adapters/zmaticoo/zmaticoo_test.go index df12c1e1b..7bd5c6f67 100644 --- a/adapters/zmaticoo/zmaticoo_test.go +++ b/adapters/zmaticoo/zmaticoo_test.go @@ -3,9 +3,9 @@ package zmaticoo import ( "testing" - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters/adapterstest" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func TestJsonSamples(t *testing.T) { diff --git a/adservertargeting/adservertargeting.go b/adservertargeting/adservertargeting.go index 3ab7cefe6..993d6387b 100644 --- a/adservertargeting/adservertargeting.go +++ b/adservertargeting/adservertargeting.go @@ -7,7 +7,7 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type DataSource string diff --git a/adservertargeting/adservertargeting_test.go b/adservertargeting/adservertargeting_test.go index 8ba3c256b..10e3090d2 100644 --- a/adservertargeting/adservertargeting_test.go +++ b/adservertargeting/adservertargeting_test.go @@ -7,8 +7,8 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/openrtb/v20/openrtb3" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/adservertargeting/reqcache.go b/adservertargeting/reqcache.go index 03c87f024..c1b701bdf 100644 --- a/adservertargeting/reqcache.go +++ b/adservertargeting/reqcache.go @@ -5,7 +5,7 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type requestCache struct { diff --git a/adservertargeting/requestlookup.go b/adservertargeting/requestlookup.go index 682997165..99545b816 100644 --- a/adservertargeting/requestlookup.go +++ b/adservertargeting/requestlookup.go @@ -7,7 +7,7 @@ import ( "strings" "github.com/buger/jsonparser" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func getAdServerTargeting(reqWrapper *openrtb_ext.RequestWrapper) ([]openrtb_ext.AdServerTarget, error) { diff --git a/adservertargeting/requestlookup_test.go b/adservertargeting/requestlookup_test.go index 22f914ac7..c588cdf30 100644 --- a/adservertargeting/requestlookup_test.go +++ b/adservertargeting/requestlookup_test.go @@ -6,7 +6,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adservertargeting/respdataprocessor.go b/adservertargeting/respdataprocessor.go index beeaae68d..489e5fc7b 100644 --- a/adservertargeting/respdataprocessor.go +++ b/adservertargeting/respdataprocessor.go @@ -6,8 +6,8 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" jsonpatch "gopkg.in/evanphx/json-patch.v5" ) diff --git a/adservertargeting/respdataprocessor_test.go b/adservertargeting/respdataprocessor_test.go index 973f9b801..90215a4f1 100644 --- a/adservertargeting/respdataprocessor_test.go +++ b/adservertargeting/respdataprocessor_test.go @@ -8,7 +8,7 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/openrtb/v20/openrtb3" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/adservertargeting/utils.go b/adservertargeting/utils.go index 7cd4a826b..9286c896b 100644 --- a/adservertargeting/utils.go +++ b/adservertargeting/utils.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/buger/jsonparser" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func splitAndGet(path string, data []byte, delimiter string) (string, error) { diff --git a/amp/parse.go b/amp/parse.go index 2a86bc7b6..5437ed3f9 100644 --- a/amp/parse.go +++ b/amp/parse.go @@ -10,10 +10,10 @@ import ( tcf2 "github.com/prebid/go-gdpr/vendorconsent/tcf2" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/privacy/ccpa" - "github.com/prebid/prebid-server/v3/privacy/gdpr" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/privacy/ccpa" + "github.com/prebid/prebid-server/v4/privacy/gdpr" ) // Params defines the parameters of an AMP request. diff --git a/amp/parse_test.go b/amp/parse_test.go index 65b69012b..671d9b0f0 100644 --- a/amp/parse_test.go +++ b/amp/parse_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/privacy/ccpa" - "github.com/prebid/prebid-server/v3/privacy/gdpr" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/privacy/ccpa" + "github.com/prebid/prebid-server/v4/privacy/gdpr" "github.com/stretchr/testify/assert" ) diff --git a/analytics/agma/agma_module.go b/analytics/agma/agma_module.go index 1e544fe60..518956d58 100644 --- a/analytics/agma/agma_module.go +++ b/analytics/agma/agma_module.go @@ -13,10 +13,10 @@ import ( "github.com/benbjohnson/clock" "github.com/docker/go-units" "github.com/prebid/go-gdpr/vendorconsent" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type httpSender = func(payload []byte) error diff --git a/analytics/agma/agma_module_test.go b/analytics/agma/agma_module_test.go index 61a6e5275..20325ebb5 100644 --- a/analytics/agma/agma_module_test.go +++ b/analytics/agma/agma_module_test.go @@ -11,9 +11,9 @@ import ( "github.com/benbjohnson/clock" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/analytics/agma/model.go b/analytics/agma/model.go index 112ce961a..b48d39aeb 100644 --- a/analytics/agma/model.go +++ b/analytics/agma/model.go @@ -5,8 +5,8 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type EventType string diff --git a/analytics/agma/model_test.go b/analytics/agma/model_test.go index 925856b87..35340bd27 100644 --- a/analytics/agma/model_test.go +++ b/analytics/agma/model_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/analytics/agma/sender.go b/analytics/agma/sender.go index e3f9c7685..28a0825b0 100644 --- a/analytics/agma/sender.go +++ b/analytics/agma/sender.go @@ -10,9 +10,9 @@ import ( "net/url" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/version" ) func compressToGZIP(requestBody []byte) ([]byte, error) { diff --git a/analytics/agma/sender_test.go b/analytics/agma/sender_test.go index 1d23e6b6a..e4a2553c9 100644 --- a/analytics/agma/sender_test.go +++ b/analytics/agma/sender_test.go @@ -7,7 +7,7 @@ import ( "net/http/httptest" "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/analytics/build/build.go b/analytics/build/build.go index 8ac3d6822..551f3dfe9 100644 --- a/analytics/build/build.go +++ b/analytics/build/build.go @@ -3,19 +3,16 @@ package build import ( "encoding/json" "github.com/benbjohnson/clock" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/analytics/agma" - "github.com/prebid/prebid-server/v3/analytics/auctionaudit" - "github.com/prebid/prebid-server/v3/analytics/clients" - "github.com/prebid/prebid-server/v3/analytics/filesystem" - "github.com/prebid/prebid-server/v3/analytics/pubstack" - "github.com/prebid/prebid-server/v3/analytics/s3" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/privacy" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/analytics/agma" + "github.com/prebid/prebid-server/v4/analytics/clients" + "github.com/prebid/prebid-server/v4/analytics/filesystem" + "github.com/prebid/prebid-server/v4/analytics/pubstack" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/privacy" ) // Modules that need to be logged to need to be initialized here diff --git a/analytics/build/build_test.go b/analytics/build/build_test.go index d4e8d8fa8..43c996f34 100644 --- a/analytics/build/build_test.go +++ b/analytics/build/build_test.go @@ -1,19 +1,18 @@ package build import ( - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/iputil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/iputil" "net/http" "os" "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/analytics/core.go b/analytics/core.go index 25ff46c82..72a49f1cb 100644 --- a/analytics/core.go +++ b/analytics/core.go @@ -4,9 +4,9 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Module must be implemented by analytics modules to extract the required information and logging diff --git a/analytics/filesystem/file_module.go b/analytics/filesystem/file_module.go index f2ab3c63d..0342ee9f3 100644 --- a/analytics/filesystem/file_module.go +++ b/analytics/filesystem/file_module.go @@ -6,9 +6,9 @@ import ( cglog "github.com/chasex/glog" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type RequestType string diff --git a/analytics/filesystem/file_module_test.go b/analytics/filesystem/file_module_test.go index 0e502cfb9..ff5a139dd 100644 --- a/analytics/filesystem/file_module_test.go +++ b/analytics/filesystem/file_module_test.go @@ -6,8 +6,8 @@ import ( "strings" "testing" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/mock" "github.com/prebid/openrtb/v20/openrtb2" diff --git a/analytics/filesystem/model.go b/analytics/filesystem/model.go index aed111dd1..eec6fd764 100644 --- a/analytics/filesystem/model.go +++ b/analytics/filesystem/model.go @@ -4,10 +4,10 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type logAuction struct { diff --git a/analytics/pubstack/config.go b/analytics/pubstack/config.go index 38ca4cb13..6548cbc0f 100644 --- a/analytics/pubstack/config.go +++ b/analytics/pubstack/config.go @@ -9,7 +9,7 @@ import ( "time" "github.com/docker/go-units" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) func fetchConfig(client *http.Client, endpoint *url.URL) (*Configuration, error) { diff --git a/analytics/pubstack/configupdate.go b/analytics/pubstack/configupdate.go index 166e69554..d570d28da 100644 --- a/analytics/pubstack/configupdate.go +++ b/analytics/pubstack/configupdate.go @@ -6,7 +6,7 @@ import ( "net/url" "time" - "github.com/prebid/prebid-server/v3/util/task" + "github.com/prebid/prebid-server/v4/util/task" ) // ConfigUpdateTask publishes configurations until the stop channel is signaled. diff --git a/analytics/pubstack/eventchannel/eventchannel.go b/analytics/pubstack/eventchannel/eventchannel.go index bde37ee54..7879a6d9d 100644 --- a/analytics/pubstack/eventchannel/eventchannel.go +++ b/analytics/pubstack/eventchannel/eventchannel.go @@ -7,7 +7,7 @@ import ( "time" "github.com/benbjohnson/clock" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) type Metrics struct { diff --git a/analytics/pubstack/eventchannel/sender.go b/analytics/pubstack/eventchannel/sender.go index 61587ea94..3ea79e210 100644 --- a/analytics/pubstack/eventchannel/sender.go +++ b/analytics/pubstack/eventchannel/sender.go @@ -8,7 +8,7 @@ import ( "net/url" "path" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) type Sender = func(payload []byte) error diff --git a/analytics/pubstack/helpers/json.go b/analytics/pubstack/helpers/json.go index fbdc17321..ba02a34a2 100644 --- a/analytics/pubstack/helpers/json.go +++ b/analytics/pubstack/helpers/json.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func JsonifyAuctionObject(ao *analytics.AuctionObject, scope string) ([]byte, error) { diff --git a/analytics/pubstack/helpers/json_test.go b/analytics/pubstack/helpers/json_test.go index 1e6282078..82f56e1bc 100644 --- a/analytics/pubstack/helpers/json_test.go +++ b/analytics/pubstack/helpers/json_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" + "github.com/prebid/prebid-server/v4/analytics" "github.com/stretchr/testify/assert" ) diff --git a/analytics/pubstack/helpers/model.go b/analytics/pubstack/helpers/model.go index 7dad2f7da..cdba835e4 100644 --- a/analytics/pubstack/helpers/model.go +++ b/analytics/pubstack/helpers/model.go @@ -4,10 +4,10 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type logAuction struct { diff --git a/analytics/pubstack/pubstack_module.go b/analytics/pubstack/pubstack_module.go index 9a8116951..965774043 100644 --- a/analytics/pubstack/pubstack_module.go +++ b/analytics/pubstack/pubstack_module.go @@ -10,10 +10,10 @@ import ( "time" "github.com/benbjohnson/clock" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/analytics/pubstack/eventchannel" - "github.com/prebid/prebid-server/v3/analytics/pubstack/helpers" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/analytics/pubstack/eventchannel" + "github.com/prebid/prebid-server/v4/analytics/pubstack/helpers" + "github.com/prebid/prebid-server/v4/logger" ) type Configuration struct { diff --git a/analytics/pubstack/pubstack_module_test.go b/analytics/pubstack/pubstack_module_test.go index e2b4e118c..ff590010f 100644 --- a/analytics/pubstack/pubstack_module_test.go +++ b/analytics/pubstack/pubstack_module_test.go @@ -8,8 +8,8 @@ import ( "time" "github.com/benbjohnson/clock" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/analytics/runner.go b/analytics/runner.go index d10370e48..42b422d55 100644 --- a/analytics/runner.go +++ b/analytics/runner.go @@ -1,7 +1,7 @@ package analytics import ( - "github.com/prebid/prebid-server/v3/privacy" + "github.com/prebid/prebid-server/v4/privacy" ) type Runner interface { diff --git a/bidadjustment/apply.go b/bidadjustment/apply.go index 864d6bf6f..d3063709e 100644 --- a/bidadjustment/apply.go +++ b/bidadjustment/apply.go @@ -3,8 +3,8 @@ package bidadjustment import ( "math" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const ( diff --git a/bidadjustment/apply_test.go b/bidadjustment/apply_test.go index 1a9bf75a2..529a5ab52 100644 --- a/bidadjustment/apply_test.go +++ b/bidadjustment/apply_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/bidadjustment/build_rules.go b/bidadjustment/build_rules.go index 2d0ac7c4c..fbde25844 100644 --- a/bidadjustment/build_rules.go +++ b/bidadjustment/build_rules.go @@ -1,8 +1,8 @@ package bidadjustment import ( - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const ( diff --git a/bidadjustment/build_rules_test.go b/bidadjustment/build_rules_test.go index 29864bcdb..fd7346c2a 100644 --- a/bidadjustment/build_rules_test.go +++ b/bidadjustment/build_rules_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/bidadjustment/validate.go b/bidadjustment/validate.go index b5383b4d1..dd59f12af 100644 --- a/bidadjustment/validate.go +++ b/bidadjustment/validate.go @@ -3,7 +3,7 @@ package bidadjustment import ( "math" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Validate checks whether all provided bid adjustments are valid or not against the requirements defined in the issue diff --git a/bidadjustment/validate_test.go b/bidadjustment/validate_test.go index dedcddc9a..2ac39bddd 100644 --- a/bidadjustment/validate_test.go +++ b/bidadjustment/validate_test.go @@ -3,7 +3,7 @@ package bidadjustment import ( "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/config/account.go b/config/account.go index 2d2bfb5cd..a773e6fbb 100644 --- a/config/account.go +++ b/config/account.go @@ -7,8 +7,8 @@ import ( "strings" "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/iputil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/iputil" ) // ChannelType enumerates the values of integrations Prebid Server can configure for an account diff --git a/config/account_module_decoder.go b/config/account_module_decoder.go index 950460cc5..20d62e6de 100644 --- a/config/account_module_decoder.go +++ b/config/account_module_decoder.go @@ -6,7 +6,7 @@ import ( "reflect" "github.com/mitchellh/mapstructure" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // AccountModulesHookFunc returns a mapstructure.DecodeHookFuncType that converts diff --git a/config/account_test.go b/config/account_test.go index 0e1d366ca..8e6d48472 100644 --- a/config/account_test.go +++ b/config/account_test.go @@ -6,7 +6,7 @@ import ( "testing" "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/config/bidderinfo.go b/config/bidderinfo.go index ce3eb57e0..4337eb858 100644 --- a/config/bidderinfo.go +++ b/config/bidderinfo.go @@ -8,11 +8,11 @@ import ( "strings" "text/template" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/util/sliceutil" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/sliceutil" validator "github.com/asaskevich/govalidator" "gopkg.in/yaml.v3" diff --git a/config/bidderinfo_test.go b/config/bidderinfo_test.go index 785b85bc6..8c1a68363 100644 --- a/config/bidderinfo_test.go +++ b/config/bidderinfo_test.go @@ -7,8 +7,8 @@ import ( "gopkg.in/yaml.v3" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/config/compression.go b/config/compression.go index c838e3390..c99a893ca 100644 --- a/config/compression.go +++ b/config/compression.go @@ -1,6 +1,6 @@ package config -import "github.com/prebid/prebid-server/v3/util/httputil" +import "github.com/prebid/prebid-server/v4/util/httputil" type Compression struct { Request CompressionInfo `mapstructure:"request"` diff --git a/config/compression_test.go b/config/compression_test.go index 78e7b6468..23f4bb5fa 100644 --- a/config/compression_test.go +++ b/config/compression_test.go @@ -3,7 +3,7 @@ package config import ( "testing" - "github.com/prebid/prebid-server/v3/util/httputil" + "github.com/prebid/prebid-server/v4/util/httputil" "github.com/stretchr/testify/assert" ) diff --git a/config/config.go b/config/config.go index 02153c247..96f7ec916 100644 --- a/config/config.go +++ b/config/config.go @@ -11,10 +11,10 @@ import ( "github.com/prebid/go-gdpr/consentconstants" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/spf13/viper" ) diff --git a/config/config_test.go b/config/config_test.go index 7d7ebe910..be3857be5 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -10,8 +10,8 @@ import ( "time" "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/spf13/viper" "github.com/stretchr/testify/assert" ) diff --git a/config/stored_requests.go b/config/stored_requests.go index 73acc1bf0..92eab4ea8 100644 --- a/config/stored_requests.go +++ b/config/stored_requests.go @@ -5,7 +5,7 @@ import ( "strings" "time" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) // DataType constants diff --git a/config/structlog.go b/config/structlog.go index 4b088f231..d89af631e 100644 --- a/config/structlog.go +++ b/config/structlog.go @@ -6,7 +6,7 @@ import ( "regexp" "strings" - logInternal "github.com/prebid/prebid-server/v3/logger" + logInternal "github.com/prebid/prebid-server/v4/logger" ) type logMsg func(string, ...interface{}) diff --git a/currency/currency.go b/currency/currency.go index b4d886274..236c2235d 100644 --- a/currency/currency.go +++ b/currency/currency.go @@ -1,7 +1,7 @@ package currency import ( - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func GetAuctionCurrencyRates(currencyConverter *RateConverter, requestRates *openrtb_ext.ExtRequestCurrency) Conversions { diff --git a/currency/currency_test.go b/currency/currency_test.go index c29c8d18e..f8ceb3ac2 100644 --- a/currency/currency_test.go +++ b/currency/currency_test.go @@ -4,9 +4,9 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/currency/rate_converter.go b/currency/rate_converter.go index c791c9b66..ba7639df9 100644 --- a/currency/rate_converter.go +++ b/currency/rate_converter.go @@ -8,10 +8,10 @@ import ( "sync/atomic" "time" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/timeutil" ) // RateConverter holds the currencies conversion rates dictionary diff --git a/currency/rate_converter_test.go b/currency/rate_converter_test.go index 0698a7ba2..c218128dd 100644 --- a/currency/rate_converter_test.go +++ b/currency/rate_converter_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/util/task" + "github.com/prebid/prebid-server/v4/util/task" "github.com/stretchr/testify/assert" ) diff --git a/currency/rates_test.go b/currency/rates_test.go index 555d299d2..f922fa62a 100644 --- a/currency/rates_test.go +++ b/currency/rates_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "golang.org/x/text/currency" ) diff --git a/currency/validation.go b/currency/validation.go index 5e23362e5..45b2522a5 100644 --- a/currency/validation.go +++ b/currency/validation.go @@ -5,8 +5,8 @@ import ( "golang.org/x/text/currency" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // ValidateCustomRates throws a bad input error if any of the 3-digit currency codes found in diff --git a/currency/validation_test.go b/currency/validation_test.go index 0edd5c89a..fd22c2efd 100644 --- a/currency/validation_test.go +++ b/currency/validation_test.go @@ -3,8 +3,8 @@ package currency import ( "testing" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/dsa/validate.go b/dsa/validate.go index 3dce2fba1..09f97456f 100644 --- a/dsa/validate.go +++ b/dsa/validate.go @@ -3,9 +3,9 @@ package dsa import ( "errors" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // Required values representing whether a DSA object is required diff --git a/dsa/validate_test.go b/dsa/validate_test.go index e0af9bc80..104ef1154 100644 --- a/dsa/validate_test.go +++ b/dsa/validate_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/dsa/writer.go b/dsa/writer.go index 33d0bda6d..9e5d164e7 100644 --- a/dsa/writer.go +++ b/dsa/writer.go @@ -1,8 +1,8 @@ package dsa import ( - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Writer is used to write the default DSA to the request (req.regs.ext.dsa) diff --git a/dsa/writer_test.go b/dsa/writer_test.go index bbe82e0b6..04826c408 100644 --- a/dsa/writer_test.go +++ b/dsa/writer_test.go @@ -5,9 +5,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/cookie_sync.go b/endpoints/cookie_sync.go index a90bc6117..c835f063f 100644 --- a/endpoints/cookie_sync.go +++ b/endpoints/cookie_sync.go @@ -15,23 +15,23 @@ import ( "github.com/julienschmidt/httprouter" gpplib "github.com/prebid/go-gpp" gppConstants "github.com/prebid/go-gpp/constants" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/privacy/ccpa" - gppPrivacy "github.com/prebid/prebid-server/v3/privacy/gpp" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/jsonutil" - stringutil "github.com/prebid/prebid-server/v3/util/stringutil" - "github.com/prebid/prebid-server/v3/util/timeutil" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/privacy/ccpa" + gppPrivacy "github.com/prebid/prebid-server/v4/privacy/gpp" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/jsonutil" + stringutil "github.com/prebid/prebid-server/v4/util/stringutil" + "github.com/prebid/prebid-server/v4/util/timeutil" ) const receiveCookieDeprecation = "receive-cookie-deprecation" diff --git a/endpoints/cookie_sync_test.go b/endpoints/cookie_sync_test.go index 6fc56f797..add77369f 100644 --- a/endpoints/cookie_sync_test.go +++ b/endpoints/cookie_sync_test.go @@ -15,17 +15,17 @@ import ( "testing/iotest" "time" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/privacy/ccpa" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/privacy/ccpa" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/endpoints/currency_rates.go b/endpoints/currency_rates.go index f7d20cd79..c6cacc673 100644 --- a/endpoints/currency_rates.go +++ b/endpoints/currency_rates.go @@ -4,9 +4,9 @@ import ( "net/http" "time" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // currencyRatesInfo holds currency rates information. diff --git a/endpoints/currency_rates_test.go b/endpoints/currency_rates_test.go index 00da093a2..21d314a9f 100644 --- a/endpoints/currency_rates_test.go +++ b/endpoints/currency_rates_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/currency" + "github.com/prebid/prebid-server/v4/currency" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/events/account_test.go b/endpoints/events/account_test.go index b379621b0..cbd0a5c81 100644 --- a/endpoints/events/account_test.go +++ b/endpoints/events/account_test.go @@ -9,10 +9,10 @@ import ( "testing" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/stored_requests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/endpoints/events/event.go b/endpoints/events/event.go index fa2fca2f9..c1a253b3d 100644 --- a/endpoints/events/event.go +++ b/endpoints/events/event.go @@ -10,17 +10,17 @@ import ( "time" "unicode" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/julienschmidt/httprouter" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/httputil" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/httputil" ) const ( diff --git a/endpoints/events/event_test.go b/endpoints/events/event_test.go index eb52d8c12..8a32da7b2 100644 --- a/endpoints/events/event_test.go +++ b/endpoints/events/event_test.go @@ -12,12 +12,12 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/events/vtrack.go b/endpoints/events/vtrack.go index ff846f694..9a2e6ce5f 100644 --- a/endpoints/events/vtrack.go +++ b/endpoints/events/vtrack.go @@ -10,16 +10,16 @@ import ( "time" "github.com/julienschmidt/httprouter" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/jsonutil" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/endpoints/events/vtrack_test.go b/endpoints/events/vtrack_test.go index 1345d563d..0648bdbbb 100644 --- a/endpoints/events/vtrack_test.go +++ b/endpoints/events/vtrack_test.go @@ -12,11 +12,11 @@ import ( "strings" "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/getuids.go b/endpoints/getuids.go index dac114da2..ecc176b07 100644 --- a/endpoints/getuids.go +++ b/endpoints/getuids.go @@ -4,8 +4,8 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/usersync" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/usersync" "encoding/json" ) diff --git a/endpoints/getuids_test.go b/endpoints/getuids_test.go index 1092c51f7..6b0ff5a7c 100644 --- a/endpoints/getuids_test.go +++ b/endpoints/getuids_test.go @@ -5,7 +5,7 @@ import ( "net/http/httptest" "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/info/bidders.go b/endpoints/info/bidders.go index d5f6ea330..67b988731 100644 --- a/endpoints/info/bidders.go +++ b/endpoints/info/bidders.go @@ -6,9 +6,9 @@ import ( "strings" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) var invalidEnabledOnlyMsg = []byte(`Invalid value for 'enabledonly' query param, must be of boolean type`) diff --git a/endpoints/info/bidders_detail.go b/endpoints/info/bidders_detail.go index 1a0936a07..5bf97f3ce 100644 --- a/endpoints/info/bidders_detail.go +++ b/endpoints/info/bidders_detail.go @@ -7,10 +7,10 @@ import ( "strings" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/endpoints/info/bidders_detail_test.go b/endpoints/info/bidders_detail_test.go index d98e9ec09..2ee6df0f5 100644 --- a/endpoints/info/bidders_detail_test.go +++ b/endpoints/info/bidders_detail_test.go @@ -9,9 +9,9 @@ import ( "testing" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/info/bidders_test.go b/endpoints/info/bidders_test.go index 20b5ea040..9a30c2875 100644 --- a/endpoints/info/bidders_test.go +++ b/endpoints/info/bidders_test.go @@ -6,7 +6,7 @@ import ( "net/http/httptest" "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/openrtb2/amp_auction.go b/endpoints/openrtb2/amp_auction.go index bc8b16fdc..993c487eb 100644 --- a/endpoints/openrtb2/amp_auction.go +++ b/endpoints/openrtb2/amp_auction.go @@ -15,29 +15,29 @@ import ( "github.com/julienschmidt/httprouter" "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/openrtb/v20/openrtb3" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/util/uuidutil" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/util/uuidutil" jsonpatch "gopkg.in/evanphx/json-patch.v5" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/amp" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/stored_responses" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/version" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/amp" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/stored_responses" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/version" ) const defaultAmpRequestTimeoutMillis = 900 diff --git a/endpoints/openrtb2/amp_auction_test.go b/endpoints/openrtb2/amp_auction_test.go index c547622a2..22fe332da 100644 --- a/endpoints/openrtb2/amp_auction_test.go +++ b/endpoints/openrtb2/amp_auction_test.go @@ -19,23 +19,23 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/amp" - "github.com/prebid/prebid-server/v3/analytics" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/metrics" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/amp" + "github.com/prebid/prebid-server/v4/analytics" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/metrics" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // TestGoodRequests makes sure that the auction runs properly-formatted stored bids correctly. diff --git a/endpoints/openrtb2/auction.go b/endpoints/openrtb2/auction.go index 0eaf0e302..bebaab091 100644 --- a/endpoints/openrtb2/auction.go +++ b/endpoints/openrtb2/auction.go @@ -21,38 +21,38 @@ import ( "github.com/prebid/go-gpp/constants" "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/openrtb/v20/openrtb3" - "github.com/prebid/prebid-server/v3/bidadjustment" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/privacysandbox" - "github.com/prebid/prebid-server/v3/schain" + "github.com/prebid/prebid-server/v4/bidadjustment" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/privacysandbox" + "github.com/prebid/prebid-server/v4/schain" "golang.org/x/net/publicsuffix" jsonpatch "gopkg.in/evanphx/json-patch.v5" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/privacy/ccpa" - "github.com/prebid/prebid-server/v3/privacy/lmt" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/stored_responses" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/httputil" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/uuidutil" - "github.com/prebid/prebid-server/v3/version" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/privacy/ccpa" + "github.com/prebid/prebid-server/v4/privacy/lmt" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/stored_responses" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/httputil" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/uuidutil" + "github.com/prebid/prebid-server/v4/version" ) const ampChannel = "amp" diff --git a/endpoints/openrtb2/auction_benchmark_test.go b/endpoints/openrtb2/auction_benchmark_test.go index c8bd66485..76c28f287 100644 --- a/endpoints/openrtb2/auction_benchmark_test.go +++ b/endpoints/openrtb2/auction_benchmark_test.go @@ -10,18 +10,18 @@ import ( "testing" "time" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/macros" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/usersync" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/macros" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/usersync" ) // benchmarkTestServer returns the header bidding test ad. This response was scraped from a real appnexus server response. diff --git a/endpoints/openrtb2/auction_test.go b/endpoints/openrtb2/auction_test.go index d245d72b5..4b55906e4 100644 --- a/endpoints/openrtb2/auction_test.go +++ b/endpoints/openrtb2/auction_test.go @@ -23,25 +23,25 @@ import ( "github.com/julienschmidt/httprouter" gpplib "github.com/prebid/go-gpp" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/analytics" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/metrics" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/stored_responses" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/analytics" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/metrics" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/stored_responses" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/openrtb2/interstitial.go b/endpoints/openrtb2/interstitial.go index 4cb9482c0..7f39af001 100644 --- a/endpoints/openrtb2/interstitial.go +++ b/endpoints/openrtb2/interstitial.go @@ -4,9 +4,9 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func processInterstitials(req *openrtb_ext.RequestWrapper) error { diff --git a/endpoints/openrtb2/interstitial_test.go b/endpoints/openrtb2/interstitial_test.go index d5276d18d..5f4e4e154 100644 --- a/endpoints/openrtb2/interstitial_test.go +++ b/endpoints/openrtb2/interstitial_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/endpoints/openrtb2/test_utils.go b/endpoints/openrtb2/test_utils.go index f4a1c7f68..d62e0d31d 100644 --- a/endpoints/openrtb2/test_utils.go +++ b/endpoints/openrtb2/test_utils.go @@ -18,29 +18,29 @@ import ( "github.com/julienschmidt/httprouter" "github.com/prebid/openrtb/v20/openrtb2" "github.com/prebid/openrtb/v20/openrtb3" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/analytics" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - pbc "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/uuidutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/analytics" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + pbc "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/uuidutil" jsonpatch "gopkg.in/evanphx/json-patch.v5" ) diff --git a/endpoints/openrtb2/video_auction.go b/endpoints/openrtb2/video_auction.go index 047511f37..7e393a08a 100644 --- a/endpoints/openrtb2/video_auction.go +++ b/endpoints/openrtb2/video_auction.go @@ -16,29 +16,29 @@ import ( "github.com/gofrs/uuid" "github.com/julienschmidt/httprouter" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/privacy" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/privacy" jsonpatch "gopkg.in/evanphx/json-patch.v5" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/iputil" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/util/uuidutil" - "github.com/prebid/prebid-server/v3/version" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/iputil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/uuidutil" + "github.com/prebid/prebid-server/v4/version" ) var defaultRequestTimeout int64 = 5000 diff --git a/endpoints/openrtb2/video_auction_test.go b/endpoints/openrtb2/video_auction_test.go index f3210d539..9cd563b08 100644 --- a/endpoints/openrtb2/video_auction_test.go +++ b/endpoints/openrtb2/video_auction_test.go @@ -11,21 +11,21 @@ import ( "strings" "testing" - "github.com/prebid/prebid-server/v3/analytics" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/metrics" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/analytics" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/metrics" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" diff --git a/endpoints/setuid.go b/endpoints/setuid.go index 835876100..dcefe4f64 100644 --- a/endpoints/setuid.go +++ b/endpoints/setuid.go @@ -12,19 +12,19 @@ import ( "github.com/julienschmidt/httprouter" gpplib "github.com/prebid/go-gpp" gppConstants "github.com/prebid/go-gpp/constants" - accountService "github.com/prebid/prebid-server/v3/account" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" - gppPrivacy "github.com/prebid/prebid-server/v3/privacy/gpp" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/httputil" - stringutil "github.com/prebid/prebid-server/v3/util/stringutil" + accountService "github.com/prebid/prebid-server/v4/account" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" + gppPrivacy "github.com/prebid/prebid-server/v4/privacy/gpp" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/httputil" + stringutil "github.com/prebid/prebid-server/v4/util/stringutil" ) const ( diff --git a/endpoints/setuid_test.go b/endpoints/setuid_test.go index 6ee6e1ed2..ee2e595d9 100644 --- a/endpoints/setuid_test.go +++ b/endpoints/setuid_test.go @@ -12,18 +12,18 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/analytics" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/usersync" + "github.com/prebid/prebid-server/v4/analytics" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/usersync" "github.com/stretchr/testify/assert" - metricsConf "github.com/prebid/prebid-server/v3/metrics/config" + metricsConf "github.com/prebid/prebid-server/v4/metrics/config" ) func TestSetUIDEndpoint(t *testing.T) { diff --git a/endpoints/version.go b/endpoints/version.go index b947c771f..8a1f15599 100644 --- a/endpoints/version.go +++ b/endpoints/version.go @@ -4,8 +4,8 @@ import ( "encoding/json" "net/http" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const versionEndpointValueNotSet = "not-set" diff --git a/exchange/adapter_builders.go b/exchange/adapter_builders.go index fa1ea996f..9f8916c0a 100755 --- a/exchange/adapter_builders.go +++ b/exchange/adapter_builders.go @@ -1,263 +1,267 @@ package exchange import ( - "github.com/prebid/prebid-server/v3/adapters" - ttx "github.com/prebid/prebid-server/v3/adapters/33across" - "github.com/prebid/prebid-server/v3/adapters/aax" - "github.com/prebid/prebid-server/v3/adapters/aceex" - "github.com/prebid/prebid-server/v3/adapters/acuityads" - "github.com/prebid/prebid-server/v3/adapters/adagio" - "github.com/prebid/prebid-server/v3/adapters/adelement" - "github.com/prebid/prebid-server/v3/adapters/adf" - "github.com/prebid/prebid-server/v3/adapters/adgeneration" - "github.com/prebid/prebid-server/v3/adapters/adhese" - "github.com/prebid/prebid-server/v3/adapters/adkernel" - "github.com/prebid/prebid-server/v3/adapters/adkernelAdn" - "github.com/prebid/prebid-server/v3/adapters/adman" - "github.com/prebid/prebid-server/v3/adapters/admatic" - "github.com/prebid/prebid-server/v3/adapters/admixer" - "github.com/prebid/prebid-server/v3/adapters/adnuntius" - "github.com/prebid/prebid-server/v3/adapters/adocean" - "github.com/prebid/prebid-server/v3/adapters/adoppler" - "github.com/prebid/prebid-server/v3/adapters/adot" - "github.com/prebid/prebid-server/v3/adapters/adpone" - "github.com/prebid/prebid-server/v3/adapters/adprime" - "github.com/prebid/prebid-server/v3/adapters/adquery" - "github.com/prebid/prebid-server/v3/adapters/adrino" - "github.com/prebid/prebid-server/v3/adapters/ads_interactive" - "github.com/prebid/prebid-server/v3/adapters/adsinteractive" - "github.com/prebid/prebid-server/v3/adapters/adtarget" - "github.com/prebid/prebid-server/v3/adapters/adtelligent" - "github.com/prebid/prebid-server/v3/adapters/adtonos" - "github.com/prebid/prebid-server/v3/adapters/adtrgtme" - "github.com/prebid/prebid-server/v3/adapters/aduptech" - "github.com/prebid/prebid-server/v3/adapters/advangelists" - "github.com/prebid/prebid-server/v3/adapters/adverxo" - "github.com/prebid/prebid-server/v3/adapters/adview" - "github.com/prebid/prebid-server/v3/adapters/adxcg" - "github.com/prebid/prebid-server/v3/adapters/adyoulike" - "github.com/prebid/prebid-server/v3/adapters/afront" - "github.com/prebid/prebid-server/v3/adapters/aidem" - "github.com/prebid/prebid-server/v3/adapters/aja" - "github.com/prebid/prebid-server/v3/adapters/akcelo" - "github.com/prebid/prebid-server/v3/adapters/algorix" - "github.com/prebid/prebid-server/v3/adapters/alkimi" - "github.com/prebid/prebid-server/v3/adapters/amx" - "github.com/prebid/prebid-server/v3/adapters/apacdex" - "github.com/prebid/prebid-server/v3/adapters/appnexus" - "github.com/prebid/prebid-server/v3/adapters/appush" - "github.com/prebid/prebid-server/v3/adapters/aso" - "github.com/prebid/prebid-server/v3/adapters/audienceNetwork" - "github.com/prebid/prebid-server/v3/adapters/automatad" - "github.com/prebid/prebid-server/v3/adapters/avocet" - "github.com/prebid/prebid-server/v3/adapters/axis" - "github.com/prebid/prebid-server/v3/adapters/axonix" - "github.com/prebid/prebid-server/v3/adapters/beachfront" - "github.com/prebid/prebid-server/v3/adapters/beintoo" - "github.com/prebid/prebid-server/v3/adapters/bematterfull" - "github.com/prebid/prebid-server/v3/adapters/between" - "github.com/prebid/prebid-server/v3/adapters/beyondmedia" - "github.com/prebid/prebid-server/v3/adapters/bidmachine" - "github.com/prebid/prebid-server/v3/adapters/bidmatic" - "github.com/prebid/prebid-server/v3/adapters/bidmyadz" - "github.com/prebid/prebid-server/v3/adapters/bidscube" - "github.com/prebid/prebid-server/v3/adapters/bidstack" - "github.com/prebid/prebid-server/v3/adapters/bidtheatre" - "github.com/prebid/prebid-server/v3/adapters/bigoad" - "github.com/prebid/prebid-server/v3/adapters/blasto" - "github.com/prebid/prebid-server/v3/adapters/bliink" - "github.com/prebid/prebid-server/v3/adapters/blis" - "github.com/prebid/prebid-server/v3/adapters/blue" - "github.com/prebid/prebid-server/v3/adapters/bluesea" - "github.com/prebid/prebid-server/v3/adapters/bmtm" - "github.com/prebid/prebid-server/v3/adapters/boldwin" - "github.com/prebid/prebid-server/v3/adapters/brave" - "github.com/prebid/prebid-server/v3/adapters/bwx" - cadentaperturemx "github.com/prebid/prebid-server/v3/adapters/cadent_aperture_mx" - "github.com/prebid/prebid-server/v3/adapters/ccx" - "github.com/prebid/prebid-server/v3/adapters/cointraffic" - "github.com/prebid/prebid-server/v3/adapters/coinzilla" - "github.com/prebid/prebid-server/v3/adapters/colossus" - "github.com/prebid/prebid-server/v3/adapters/compass" - "github.com/prebid/prebid-server/v3/adapters/concert" - "github.com/prebid/prebid-server/v3/adapters/connatix" - "github.com/prebid/prebid-server/v3/adapters/connectad" - "github.com/prebid/prebid-server/v3/adapters/consumable" - "github.com/prebid/prebid-server/v3/adapters/conversant" - "github.com/prebid/prebid-server/v3/adapters/copper6ssp" - "github.com/prebid/prebid-server/v3/adapters/cpmstar" - "github.com/prebid/prebid-server/v3/adapters/criteo" - "github.com/prebid/prebid-server/v3/adapters/cwire" - "github.com/prebid/prebid-server/v3/adapters/datablocks" - "github.com/prebid/prebid-server/v3/adapters/decenterads" - "github.com/prebid/prebid-server/v3/adapters/deepintent" - "github.com/prebid/prebid-server/v3/adapters/definemedia" - "github.com/prebid/prebid-server/v3/adapters/dianomi" - "github.com/prebid/prebid-server/v3/adapters/displayio" - "github.com/prebid/prebid-server/v3/adapters/dmx" - "github.com/prebid/prebid-server/v3/adapters/driftpixel" - "github.com/prebid/prebid-server/v3/adapters/dxkulture" - evolution "github.com/prebid/prebid-server/v3/adapters/e_volution" - "github.com/prebid/prebid-server/v3/adapters/edge226" - "github.com/prebid/prebid-server/v3/adapters/emtv" - "github.com/prebid/prebid-server/v3/adapters/eplanning" - "github.com/prebid/prebid-server/v3/adapters/epom" - "github.com/prebid/prebid-server/v3/adapters/escalax" - "github.com/prebid/prebid-server/v3/adapters/exco" - "github.com/prebid/prebid-server/v3/adapters/feedad" - "github.com/prebid/prebid-server/v3/adapters/flatads" - "github.com/prebid/prebid-server/v3/adapters/flipp" - "github.com/prebid/prebid-server/v3/adapters/freewheelssp" - "github.com/prebid/prebid-server/v3/adapters/frvradn" - "github.com/prebid/prebid-server/v3/adapters/fwssp" - "github.com/prebid/prebid-server/v3/adapters/gamma" - "github.com/prebid/prebid-server/v3/adapters/gamoshi" - "github.com/prebid/prebid-server/v3/adapters/globalsun" - "github.com/prebid/prebid-server/v3/adapters/gothamads" - "github.com/prebid/prebid-server/v3/adapters/grid" - "github.com/prebid/prebid-server/v3/adapters/gumgum" - "github.com/prebid/prebid-server/v3/adapters/huaweiads" - "github.com/prebid/prebid-server/v3/adapters/imds" - "github.com/prebid/prebid-server/v3/adapters/impactify" - "github.com/prebid/prebid-server/v3/adapters/improvedigital" - "github.com/prebid/prebid-server/v3/adapters/infytv" - "github.com/prebid/prebid-server/v3/adapters/inmobi" - "github.com/prebid/prebid-server/v3/adapters/insticator" - "github.com/prebid/prebid-server/v3/adapters/interactiveoffers" - "github.com/prebid/prebid-server/v3/adapters/intertech" - "github.com/prebid/prebid-server/v3/adapters/invibes" - "github.com/prebid/prebid-server/v3/adapters/iqx" - "github.com/prebid/prebid-server/v3/adapters/iqzone" - "github.com/prebid/prebid-server/v3/adapters/ix" - "github.com/prebid/prebid-server/v3/adapters/jixie" - "github.com/prebid/prebid-server/v3/adapters/kargo" - "github.com/prebid/prebid-server/v3/adapters/kayzen" - "github.com/prebid/prebid-server/v3/adapters/kidoz" - "github.com/prebid/prebid-server/v3/adapters/kiviads" - "github.com/prebid/prebid-server/v3/adapters/kobler" - "github.com/prebid/prebid-server/v3/adapters/krushmedia" - "github.com/prebid/prebid-server/v3/adapters/kueezrtb" - "github.com/prebid/prebid-server/v3/adapters/lemmadigital" - "github.com/prebid/prebid-server/v3/adapters/limelightDigital" - lmkiviads "github.com/prebid/prebid-server/v3/adapters/lm_kiviads" - "github.com/prebid/prebid-server/v3/adapters/lockerdome" - "github.com/prebid/prebid-server/v3/adapters/logan" - "github.com/prebid/prebid-server/v3/adapters/logicad" - "github.com/prebid/prebid-server/v3/adapters/loopme" - "github.com/prebid/prebid-server/v3/adapters/loyal" - "github.com/prebid/prebid-server/v3/adapters/lunamedia" - "github.com/prebid/prebid-server/v3/adapters/mabidder" - "github.com/prebid/prebid-server/v3/adapters/madsense" - "github.com/prebid/prebid-server/v3/adapters/madvertise" - "github.com/prebid/prebid-server/v3/adapters/marsmedia" - "github.com/prebid/prebid-server/v3/adapters/mediago" - "github.com/prebid/prebid-server/v3/adapters/medianet" - "github.com/prebid/prebid-server/v3/adapters/mediasquare" - "github.com/prebid/prebid-server/v3/adapters/melozen" - "github.com/prebid/prebid-server/v3/adapters/metax" - "github.com/prebid/prebid-server/v3/adapters/mgid" - "github.com/prebid/prebid-server/v3/adapters/mgidX" - "github.com/prebid/prebid-server/v3/adapters/minutemedia" - "github.com/prebid/prebid-server/v3/adapters/missena" - "github.com/prebid/prebid-server/v3/adapters/mobfoxpb" - "github.com/prebid/prebid-server/v3/adapters/mobilefuse" - "github.com/prebid/prebid-server/v3/adapters/mobkoi" - "github.com/prebid/prebid-server/v3/adapters/motorik" - "github.com/prebid/prebid-server/v3/adapters/nativo" - "github.com/prebid/prebid-server/v3/adapters/nextmillennium" - "github.com/prebid/prebid-server/v3/adapters/nexx360" - "github.com/prebid/prebid-server/v3/adapters/nobid" - "github.com/prebid/prebid-server/v3/adapters/ogury" - "github.com/prebid/prebid-server/v3/adapters/oms" - "github.com/prebid/prebid-server/v3/adapters/onetag" - "github.com/prebid/prebid-server/v3/adapters/openweb" - "github.com/prebid/prebid-server/v3/adapters/openx" - "github.com/prebid/prebid-server/v3/adapters/operaads" - "github.com/prebid/prebid-server/v3/adapters/optidigital" - "github.com/prebid/prebid-server/v3/adapters/oraki" - "github.com/prebid/prebid-server/v3/adapters/orbidder" - "github.com/prebid/prebid-server/v3/adapters/outbrain" - "github.com/prebid/prebid-server/v3/adapters/ownadx" - "github.com/prebid/prebid-server/v3/adapters/pangle" - "github.com/prebid/prebid-server/v3/adapters/pgamssp" - "github.com/prebid/prebid-server/v3/adapters/playdigo" - "github.com/prebid/prebid-server/v3/adapters/pubmatic" - "github.com/prebid/prebid-server/v3/adapters/pubnative" - "github.com/prebid/prebid-server/v3/adapters/pubrise" - "github.com/prebid/prebid-server/v3/adapters/pulsepoint" - "github.com/prebid/prebid-server/v3/adapters/pwbid" - "github.com/prebid/prebid-server/v3/adapters/qt" - "github.com/prebid/prebid-server/v3/adapters/readpeak" - "github.com/prebid/prebid-server/v3/adapters/rediads" - "github.com/prebid/prebid-server/v3/adapters/relevantdigital" - "github.com/prebid/prebid-server/v3/adapters/resetdigital" - "github.com/prebid/prebid-server/v3/adapters/revcontent" - "github.com/prebid/prebid-server/v3/adapters/richaudience" - "github.com/prebid/prebid-server/v3/adapters/rise" - "github.com/prebid/prebid-server/v3/adapters/roulax" - "github.com/prebid/prebid-server/v3/adapters/rtbhouse" - "github.com/prebid/prebid-server/v3/adapters/rubicon" - salunamedia "github.com/prebid/prebid-server/v3/adapters/sa_lunamedia" - "github.com/prebid/prebid-server/v3/adapters/screencore" - "github.com/prebid/prebid-server/v3/adapters/seedingAlliance" - "github.com/prebid/prebid-server/v3/adapters/seedtag" - "github.com/prebid/prebid-server/v3/adapters/sharethrough" - "github.com/prebid/prebid-server/v3/adapters/silvermob" - "github.com/prebid/prebid-server/v3/adapters/silverpush" - "github.com/prebid/prebid-server/v3/adapters/smaato" - "github.com/prebid/prebid-server/v3/adapters/smartadserver" - "github.com/prebid/prebid-server/v3/adapters/smarthub" - "github.com/prebid/prebid-server/v3/adapters/smartrtb" - "github.com/prebid/prebid-server/v3/adapters/smartx" - "github.com/prebid/prebid-server/v3/adapters/smartyads" - "github.com/prebid/prebid-server/v3/adapters/smilewanted" - "github.com/prebid/prebid-server/v3/adapters/smoot" - "github.com/prebid/prebid-server/v3/adapters/smrtconnect" - "github.com/prebid/prebid-server/v3/adapters/sonobi" - "github.com/prebid/prebid-server/v3/adapters/sovrn" - "github.com/prebid/prebid-server/v3/adapters/sovrnXsp" - "github.com/prebid/prebid-server/v3/adapters/sparteo" - "github.com/prebid/prebid-server/v3/adapters/sspBC" - "github.com/prebid/prebid-server/v3/adapters/startio" - "github.com/prebid/prebid-server/v3/adapters/stroeerCore" - "github.com/prebid/prebid-server/v3/adapters/taboola" - "github.com/prebid/prebid-server/v3/adapters/tappx" - "github.com/prebid/prebid-server/v3/adapters/teads" - "github.com/prebid/prebid-server/v3/adapters/telaria" - "github.com/prebid/prebid-server/v3/adapters/teqblaze" - "github.com/prebid/prebid-server/v3/adapters/theadx" - "github.com/prebid/prebid-server/v3/adapters/thetradedesk" - "github.com/prebid/prebid-server/v3/adapters/tpmn" - "github.com/prebid/prebid-server/v3/adapters/tradplus" - "github.com/prebid/prebid-server/v3/adapters/trafficgate" - "github.com/prebid/prebid-server/v3/adapters/triplelift" - "github.com/prebid/prebid-server/v3/adapters/triplelift_native" - "github.com/prebid/prebid-server/v3/adapters/trustedstack" - "github.com/prebid/prebid-server/v3/adapters/ucfunnel" - "github.com/prebid/prebid-server/v3/adapters/undertone" - "github.com/prebid/prebid-server/v3/adapters/unicorn" - "github.com/prebid/prebid-server/v3/adapters/unruly" - "github.com/prebid/prebid-server/v3/adapters/vidazoo" - "github.com/prebid/prebid-server/v3/adapters/videobyte" - "github.com/prebid/prebid-server/v3/adapters/videoheroes" - "github.com/prebid/prebid-server/v3/adapters/vidoomy" - "github.com/prebid/prebid-server/v3/adapters/visiblemeasures" - "github.com/prebid/prebid-server/v3/adapters/visx" - "github.com/prebid/prebid-server/v3/adapters/vox" - "github.com/prebid/prebid-server/v3/adapters/vrtcal" - "github.com/prebid/prebid-server/v3/adapters/vungle" - "github.com/prebid/prebid-server/v3/adapters/xeworks" - "github.com/prebid/prebid-server/v3/adapters/yahooAds" - "github.com/prebid/prebid-server/v3/adapters/yandex" - "github.com/prebid/prebid-server/v3/adapters/yeahmobi" - "github.com/prebid/prebid-server/v3/adapters/yieldlab" - "github.com/prebid/prebid-server/v3/adapters/yieldmo" - "github.com/prebid/prebid-server/v3/adapters/yieldone" - "github.com/prebid/prebid-server/v3/adapters/zentotem" - "github.com/prebid/prebid-server/v3/adapters/zeroclickfraud" - "github.com/prebid/prebid-server/v3/adapters/zeta_global_ssp" - "github.com/prebid/prebid-server/v3/adapters/zmaticoo" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + ttx "github.com/prebid/prebid-server/v4/adapters/33across" + "github.com/prebid/prebid-server/v4/adapters/aax" + "github.com/prebid/prebid-server/v4/adapters/aceex" + "github.com/prebid/prebid-server/v4/adapters/acuityads" + "github.com/prebid/prebid-server/v4/adapters/adagio" + "github.com/prebid/prebid-server/v4/adapters/adelement" + "github.com/prebid/prebid-server/v4/adapters/adf" + "github.com/prebid/prebid-server/v4/adapters/adgeneration" + "github.com/prebid/prebid-server/v4/adapters/adhese" + "github.com/prebid/prebid-server/v4/adapters/adkernel" + "github.com/prebid/prebid-server/v4/adapters/adkernelAdn" + "github.com/prebid/prebid-server/v4/adapters/adman" + "github.com/prebid/prebid-server/v4/adapters/admatic" + "github.com/prebid/prebid-server/v4/adapters/admixer" + "github.com/prebid/prebid-server/v4/adapters/adnuntius" + "github.com/prebid/prebid-server/v4/adapters/adot" + "github.com/prebid/prebid-server/v4/adapters/adpone" + "github.com/prebid/prebid-server/v4/adapters/adprime" + "github.com/prebid/prebid-server/v4/adapters/adquery" + "github.com/prebid/prebid-server/v4/adapters/adrino" + "github.com/prebid/prebid-server/v4/adapters/adtarget" + "github.com/prebid/prebid-server/v4/adapters/adtelligent" + "github.com/prebid/prebid-server/v4/adapters/adtonos" + "github.com/prebid/prebid-server/v4/adapters/adtrgtme" + "github.com/prebid/prebid-server/v4/adapters/aduptech" + "github.com/prebid/prebid-server/v4/adapters/advangelists" + "github.com/prebid/prebid-server/v4/adapters/adverxo" + "github.com/prebid/prebid-server/v4/adapters/adview" + "github.com/prebid/prebid-server/v4/adapters/adxcg" + "github.com/prebid/prebid-server/v4/adapters/adyoulike" + "github.com/prebid/prebid-server/v4/adapters/afront" + "github.com/prebid/prebid-server/v4/adapters/aidem" + "github.com/prebid/prebid-server/v4/adapters/aja" + "github.com/prebid/prebid-server/v4/adapters/akcelo" + "github.com/prebid/prebid-server/v4/adapters/algorix" + "github.com/prebid/prebid-server/v4/adapters/alkimi" + alliance_gravity "github.com/prebid/prebid-server/v4/adapters/alliance_gravity" + "github.com/prebid/prebid-server/v4/adapters/amx" + "github.com/prebid/prebid-server/v4/adapters/apacdex" + "github.com/prebid/prebid-server/v4/adapters/appnexus" + "github.com/prebid/prebid-server/v4/adapters/appush" + "github.com/prebid/prebid-server/v4/adapters/aso" + "github.com/prebid/prebid-server/v4/adapters/audienceNetwork" + "github.com/prebid/prebid-server/v4/adapters/automatad" + "github.com/prebid/prebid-server/v4/adapters/avocet" + "github.com/prebid/prebid-server/v4/adapters/axis" + "github.com/prebid/prebid-server/v4/adapters/axonix" + "github.com/prebid/prebid-server/v4/adapters/beachfront" + "github.com/prebid/prebid-server/v4/adapters/beintoo" + "github.com/prebid/prebid-server/v4/adapters/bematterfull" + "github.com/prebid/prebid-server/v4/adapters/beop" + "github.com/prebid/prebid-server/v4/adapters/between" + "github.com/prebid/prebid-server/v4/adapters/beyondmedia" + "github.com/prebid/prebid-server/v4/adapters/bidmachine" + "github.com/prebid/prebid-server/v4/adapters/bidmatic" + "github.com/prebid/prebid-server/v4/adapters/bidmyadz" + "github.com/prebid/prebid-server/v4/adapters/bidscube" + "github.com/prebid/prebid-server/v4/adapters/bidstack" + "github.com/prebid/prebid-server/v4/adapters/bidtheatre" + "github.com/prebid/prebid-server/v4/adapters/bigoad" + "github.com/prebid/prebid-server/v4/adapters/blasto" + "github.com/prebid/prebid-server/v4/adapters/bliink" + "github.com/prebid/prebid-server/v4/adapters/blis" + "github.com/prebid/prebid-server/v4/adapters/blue" + "github.com/prebid/prebid-server/v4/adapters/bluesea" + "github.com/prebid/prebid-server/v4/adapters/bmtm" + "github.com/prebid/prebid-server/v4/adapters/boldwin" + "github.com/prebid/prebid-server/v4/adapters/boldwin_rapid" + "github.com/prebid/prebid-server/v4/adapters/brave" + "github.com/prebid/prebid-server/v4/adapters/bwx" + cadentaperturemx "github.com/prebid/prebid-server/v4/adapters/cadent_aperture_mx" + "github.com/prebid/prebid-server/v4/adapters/ccx" + "github.com/prebid/prebid-server/v4/adapters/clydo" + "github.com/prebid/prebid-server/v4/adapters/cointraffic" + "github.com/prebid/prebid-server/v4/adapters/coinzilla" + "github.com/prebid/prebid-server/v4/adapters/colossus" + "github.com/prebid/prebid-server/v4/adapters/compass" + "github.com/prebid/prebid-server/v4/adapters/concert" + "github.com/prebid/prebid-server/v4/adapters/connatix" + "github.com/prebid/prebid-server/v4/adapters/connectad" + "github.com/prebid/prebid-server/v4/adapters/consumable" + "github.com/prebid/prebid-server/v4/adapters/contxtful" + "github.com/prebid/prebid-server/v4/adapters/conversant" + "github.com/prebid/prebid-server/v4/adapters/copper6ssp" + "github.com/prebid/prebid-server/v4/adapters/cpmstar" + "github.com/prebid/prebid-server/v4/adapters/criteo" + "github.com/prebid/prebid-server/v4/adapters/cwire" + "github.com/prebid/prebid-server/v4/adapters/datablocks" + "github.com/prebid/prebid-server/v4/adapters/decenterads" + "github.com/prebid/prebid-server/v4/adapters/deepintent" + "github.com/prebid/prebid-server/v4/adapters/definemedia" + "github.com/prebid/prebid-server/v4/adapters/dianomi" + "github.com/prebid/prebid-server/v4/adapters/displayio" + "github.com/prebid/prebid-server/v4/adapters/dmx" + "github.com/prebid/prebid-server/v4/adapters/driftpixel" + evolution "github.com/prebid/prebid-server/v4/adapters/e_volution" + "github.com/prebid/prebid-server/v4/adapters/edge226" + "github.com/prebid/prebid-server/v4/adapters/elementaltv" + "github.com/prebid/prebid-server/v4/adapters/emtv" + "github.com/prebid/prebid-server/v4/adapters/eplanning" + "github.com/prebid/prebid-server/v4/adapters/epom" + "github.com/prebid/prebid-server/v4/adapters/escalax" + "github.com/prebid/prebid-server/v4/adapters/exco" + "github.com/prebid/prebid-server/v4/adapters/feedad" + "github.com/prebid/prebid-server/v4/adapters/flatads" + "github.com/prebid/prebid-server/v4/adapters/flipp" + "github.com/prebid/prebid-server/v4/adapters/freewheelssp" + "github.com/prebid/prebid-server/v4/adapters/frvradn" + "github.com/prebid/prebid-server/v4/adapters/fwssp" + "github.com/prebid/prebid-server/v4/adapters/gamma" + "github.com/prebid/prebid-server/v4/adapters/gamoshi" + "github.com/prebid/prebid-server/v4/adapters/globalsun" + "github.com/prebid/prebid-server/v4/adapters/goldbach" + "github.com/prebid/prebid-server/v4/adapters/grid" + "github.com/prebid/prebid-server/v4/adapters/gumgum" + "github.com/prebid/prebid-server/v4/adapters/huaweiads" + "github.com/prebid/prebid-server/v4/adapters/imds" + "github.com/prebid/prebid-server/v4/adapters/impactify" + "github.com/prebid/prebid-server/v4/adapters/improvedigital" + "github.com/prebid/prebid-server/v4/adapters/infytv" + "github.com/prebid/prebid-server/v4/adapters/inmobi" + "github.com/prebid/prebid-server/v4/adapters/insticator" + "github.com/prebid/prebid-server/v4/adapters/intenze" + "github.com/prebid/prebid-server/v4/adapters/interactiveoffers" + "github.com/prebid/prebid-server/v4/adapters/invibes" + "github.com/prebid/prebid-server/v4/adapters/iqx" + "github.com/prebid/prebid-server/v4/adapters/iqzone" + "github.com/prebid/prebid-server/v4/adapters/ix" + "github.com/prebid/prebid-server/v4/adapters/jixie" + "github.com/prebid/prebid-server/v4/adapters/kargo" + "github.com/prebid/prebid-server/v4/adapters/kayzen" + "github.com/prebid/prebid-server/v4/adapters/kidoz" + "github.com/prebid/prebid-server/v4/adapters/kiviads" + "github.com/prebid/prebid-server/v4/adapters/kobler" + "github.com/prebid/prebid-server/v4/adapters/krushmedia" + "github.com/prebid/prebid-server/v4/adapters/kueezrtb" + "github.com/prebid/prebid-server/v4/adapters/lemmadigital" + "github.com/prebid/prebid-server/v4/adapters/limelightDigital" + lmkiviads "github.com/prebid/prebid-server/v4/adapters/lm_kiviads" + "github.com/prebid/prebid-server/v4/adapters/lockerdome" + "github.com/prebid/prebid-server/v4/adapters/logan" + "github.com/prebid/prebid-server/v4/adapters/logicad" + "github.com/prebid/prebid-server/v4/adapters/loopme" + "github.com/prebid/prebid-server/v4/adapters/loyal" + "github.com/prebid/prebid-server/v4/adapters/lunamedia" + "github.com/prebid/prebid-server/v4/adapters/mabidder" + "github.com/prebid/prebid-server/v4/adapters/madsense" + "github.com/prebid/prebid-server/v4/adapters/madvertise" + "github.com/prebid/prebid-server/v4/adapters/marsmedia" + "github.com/prebid/prebid-server/v4/adapters/mediago" + "github.com/prebid/prebid-server/v4/adapters/medianet" + "github.com/prebid/prebid-server/v4/adapters/mediasquare" + "github.com/prebid/prebid-server/v4/adapters/melozen" + "github.com/prebid/prebid-server/v4/adapters/metax" + "github.com/prebid/prebid-server/v4/adapters/mgid" + "github.com/prebid/prebid-server/v4/adapters/mgidX" + "github.com/prebid/prebid-server/v4/adapters/minutemedia" + "github.com/prebid/prebid-server/v4/adapters/missena" + "github.com/prebid/prebid-server/v4/adapters/mobfoxpb" + "github.com/prebid/prebid-server/v4/adapters/mobilefuse" + "github.com/prebid/prebid-server/v4/adapters/mobkoi" + "github.com/prebid/prebid-server/v4/adapters/motorik" + "github.com/prebid/prebid-server/v4/adapters/msft" + "github.com/prebid/prebid-server/v4/adapters/nativery" + "github.com/prebid/prebid-server/v4/adapters/nativo" + "github.com/prebid/prebid-server/v4/adapters/nextmillennium" + "github.com/prebid/prebid-server/v4/adapters/nexx360" + "github.com/prebid/prebid-server/v4/adapters/nobid" + "github.com/prebid/prebid-server/v4/adapters/ogury" + "github.com/prebid/prebid-server/v4/adapters/oms" + "github.com/prebid/prebid-server/v4/adapters/onetag" + "github.com/prebid/prebid-server/v4/adapters/openweb" + "github.com/prebid/prebid-server/v4/adapters/openx" + "github.com/prebid/prebid-server/v4/adapters/operaads" + "github.com/prebid/prebid-server/v4/adapters/optidigital" + "github.com/prebid/prebid-server/v4/adapters/oraki" + "github.com/prebid/prebid-server/v4/adapters/orbidder" + "github.com/prebid/prebid-server/v4/adapters/outbrain" + "github.com/prebid/prebid-server/v4/adapters/ownadx" + "github.com/prebid/prebid-server/v4/adapters/pangle" + "github.com/prebid/prebid-server/v4/adapters/pgamssp" + "github.com/prebid/prebid-server/v4/adapters/playdigo" + "github.com/prebid/prebid-server/v4/adapters/pubmatic" + "github.com/prebid/prebid-server/v4/adapters/pubnative" + "github.com/prebid/prebid-server/v4/adapters/pubrise" + "github.com/prebid/prebid-server/v4/adapters/pulsepoint" + "github.com/prebid/prebid-server/v4/adapters/pwbid" + "github.com/prebid/prebid-server/v4/adapters/qt" + "github.com/prebid/prebid-server/v4/adapters/readpeak" + "github.com/prebid/prebid-server/v4/adapters/rediads" + "github.com/prebid/prebid-server/v4/adapters/relevantdigital" + "github.com/prebid/prebid-server/v4/adapters/resetdigital" + "github.com/prebid/prebid-server/v4/adapters/revcontent" + "github.com/prebid/prebid-server/v4/adapters/richaudience" + "github.com/prebid/prebid-server/v4/adapters/rise" + "github.com/prebid/prebid-server/v4/adapters/roulax" + "github.com/prebid/prebid-server/v4/adapters/rtbhouse" + "github.com/prebid/prebid-server/v4/adapters/rubicon" + salunamedia "github.com/prebid/prebid-server/v4/adapters/sa_lunamedia" + "github.com/prebid/prebid-server/v4/adapters/seedingAlliance" + "github.com/prebid/prebid-server/v4/adapters/seedtag" + "github.com/prebid/prebid-server/v4/adapters/sharethrough" + "github.com/prebid/prebid-server/v4/adapters/showheroes" + "github.com/prebid/prebid-server/v4/adapters/silvermob" + "github.com/prebid/prebid-server/v4/adapters/silverpush" + "github.com/prebid/prebid-server/v4/adapters/smaato" + "github.com/prebid/prebid-server/v4/adapters/smartadserver" + "github.com/prebid/prebid-server/v4/adapters/smarthub" + "github.com/prebid/prebid-server/v4/adapters/smartrtb" + "github.com/prebid/prebid-server/v4/adapters/smartx" + "github.com/prebid/prebid-server/v4/adapters/smartyads" + "github.com/prebid/prebid-server/v4/adapters/smilewanted" + "github.com/prebid/prebid-server/v4/adapters/smoot" + "github.com/prebid/prebid-server/v4/adapters/smrtconnect" + "github.com/prebid/prebid-server/v4/adapters/sonobi" + "github.com/prebid/prebid-server/v4/adapters/sovrn" + "github.com/prebid/prebid-server/v4/adapters/sovrnXsp" + "github.com/prebid/prebid-server/v4/adapters/sparteo" + "github.com/prebid/prebid-server/v4/adapters/sspBC" + "github.com/prebid/prebid-server/v4/adapters/startio" + "github.com/prebid/prebid-server/v4/adapters/stroeerCore" + "github.com/prebid/prebid-server/v4/adapters/taboola" + "github.com/prebid/prebid-server/v4/adapters/tappx" + "github.com/prebid/prebid-server/v4/adapters/teads" + "github.com/prebid/prebid-server/v4/adapters/telaria" + "github.com/prebid/prebid-server/v4/adapters/teqblaze" + "github.com/prebid/prebid-server/v4/adapters/theadx" + "github.com/prebid/prebid-server/v4/adapters/thetradedesk" + "github.com/prebid/prebid-server/v4/adapters/tpmn" + "github.com/prebid/prebid-server/v4/adapters/tradplus" + "github.com/prebid/prebid-server/v4/adapters/trafficgate" + "github.com/prebid/prebid-server/v4/adapters/triplelift" + "github.com/prebid/prebid-server/v4/adapters/triplelift_native" + "github.com/prebid/prebid-server/v4/adapters/trustedstack" + "github.com/prebid/prebid-server/v4/adapters/trustx" + "github.com/prebid/prebid-server/v4/adapters/ucfunnel" + "github.com/prebid/prebid-server/v4/adapters/undertone" + "github.com/prebid/prebid-server/v4/adapters/unicorn" + "github.com/prebid/prebid-server/v4/adapters/unruly" + "github.com/prebid/prebid-server/v4/adapters/vidazoo" + "github.com/prebid/prebid-server/v4/adapters/videobyte" + "github.com/prebid/prebid-server/v4/adapters/videoheroes" + "github.com/prebid/prebid-server/v4/adapters/vidoomy" + "github.com/prebid/prebid-server/v4/adapters/visiblemeasures" + "github.com/prebid/prebid-server/v4/adapters/visx" + "github.com/prebid/prebid-server/v4/adapters/vox" + "github.com/prebid/prebid-server/v4/adapters/vrtcal" + "github.com/prebid/prebid-server/v4/adapters/vungle" + "github.com/prebid/prebid-server/v4/adapters/xeworks" + "github.com/prebid/prebid-server/v4/adapters/yahooAds" + "github.com/prebid/prebid-server/v4/adapters/yandex" + "github.com/prebid/prebid-server/v4/adapters/yeahmobi" + "github.com/prebid/prebid-server/v4/adapters/yieldlab" + "github.com/prebid/prebid-server/v4/adapters/yieldmo" + "github.com/prebid/prebid-server/v4/adapters/yieldone" + "github.com/prebid/prebid-server/v4/adapters/zentotem" + "github.com/prebid/prebid-server/v4/adapters/zeroclickfraud" + "github.com/prebid/prebid-server/v4/adapters/zeta_global_ssp" + "github.com/prebid/prebid-server/v4/adapters/zmaticoo" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Adapter registration is kept in this separate file for ease of use and to aid diff --git a/exchange/adapter_util.go b/exchange/adapter_util.go index b221a1adf..90c200653 100644 --- a/exchange/adapter_util.go +++ b/exchange/adapter_util.go @@ -5,10 +5,10 @@ import ( "net/http" "strings" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func BuildAdapters(client *http.Client, cfg *config.Configuration, infos config.BidderInfos, me metrics.MetricsEngine) (map[openrtb_ext.BidderName]AdaptedBidder, map[openrtb_ext.BidderName]struct{}, []error) { diff --git a/exchange/adapter_util_test.go b/exchange/adapter_util_test.go index 982775835..cf06957d8 100644 --- a/exchange/adapter_util_test.go +++ b/exchange/adapter_util_test.go @@ -6,12 +6,12 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adapters/appnexus" - "github.com/prebid/prebid-server/v3/adapters/rubicon" - "github.com/prebid/prebid-server/v3/config" - metrics "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adapters/appnexus" + "github.com/prebid/prebid-server/v4/adapters/rubicon" + "github.com/prebid/prebid-server/v4/config" + metrics "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/exchange/auction.go b/exchange/auction.go index ff1e28302..6a5cc8b28 100644 --- a/exchange/auction.go +++ b/exchange/auction.go @@ -12,11 +12,11 @@ import ( uuid "github.com/gofrs/uuid" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const ( diff --git a/exchange/auction_response.go b/exchange/auction_response.go index 67ab2dc4b..592e89eaa 100644 --- a/exchange/auction_response.go +++ b/exchange/auction_response.go @@ -2,7 +2,7 @@ package exchange import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // AuctionResponse contains OpenRTB Bid Response object and its extension (un-marshalled) object diff --git a/exchange/auction_test.go b/exchange/auction_test.go index 188e4d30e..95ee6d371 100644 --- a/exchange/auction_test.go +++ b/exchange/auction_test.go @@ -12,12 +12,12 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/exchange/bidder.go b/exchange/bidder.go index 264a03d46..e96fdc1a8 100644 --- a/exchange/bidder.go +++ b/exchange/bidder.go @@ -19,25 +19,25 @@ import ( "sync/atomic" "time" - "github.com/prebid/prebid-server/v3/bidadjustment" - "github.com/prebid/prebid-server/v3/config/util" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - loggerI "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/bidadjustment" + "github.com/prebid/prebid-server/v4/config/util" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + loggerI "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/version" "github.com/prebid/openrtb/v20/adcom1" nativeRequests "github.com/prebid/openrtb/v20/native1/request" nativeResponse "github.com/prebid/openrtb/v20/native1/response" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "golang.org/x/net/context/ctxhttp" ) diff --git a/exchange/bidder_health_test.go b/exchange/bidder_health_test.go index 1fa774892..0bf46b5af 100644 --- a/exchange/bidder_health_test.go +++ b/exchange/bidder_health_test.go @@ -6,9 +6,9 @@ import ( "sync" "testing" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/exchange/bidder_test.go b/exchange/bidder_test.go index eb061ee69..3fd7f5130 100644 --- a/exchange/bidder_test.go +++ b/exchange/bidder_test.go @@ -25,20 +25,20 @@ import ( nativeRequests "github.com/prebid/openrtb/v20/native1/request" nativeResponse "github.com/prebid/openrtb/v20/native1/response" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/version" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/exchange/bidder_validate_bids.go b/exchange/bidder_validate_bids.go index 5c5da548c..c4541a3a7 100644 --- a/exchange/bidder_validate_bids.go +++ b/exchange/bidder_validate_bids.go @@ -7,12 +7,12 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/openrtb_ext" goCurrency "golang.org/x/text/currency" ) diff --git a/exchange/bidder_validate_bids_test.go b/exchange/bidder_validate_bids_test.go index b611ca817..777c0a504 100644 --- a/exchange/bidder_validate_bids_test.go +++ b/exchange/bidder_validate_bids_test.go @@ -5,12 +5,12 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/exchange/entities/entities.go b/exchange/entities/entities.go index 808125f1c..cb5b6c4cd 100644 --- a/exchange/entities/entities.go +++ b/exchange/entities/entities.go @@ -2,7 +2,7 @@ package entities import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // PbsOrtbSeatBid is a SeatBid returned by an AdaptedBidder. diff --git a/exchange/events.go b/exchange/events.go index 20150f90b..75334f6c5 100644 --- a/exchange/events.go +++ b/exchange/events.go @@ -3,14 +3,14 @@ package exchange import ( "time" - "github.com/prebid/prebid-server/v3/exchange/entities" + "github.com/prebid/prebid-server/v4/exchange/entities" jsonpatch "gopkg.in/evanphx/json-patch.v5" - "github.com/prebid/prebid-server/v3/analytics" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/endpoints/events" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/analytics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/endpoints/events" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // eventTracking has configuration fields needed for adding event tracking to an auction response diff --git a/exchange/events_test.go b/exchange/events_test.go index 3f35ef517..e8ac47515 100644 --- a/exchange/events_test.go +++ b/exchange/events_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/exchange/exchange.go b/exchange/exchange.go index ef24e3fc9..1452c0492 100644 --- a/exchange/exchange.go +++ b/exchange/exchange.go @@ -14,31 +14,31 @@ import ( "strings" "time" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/adservertargeting" - "github.com/prebid/prebid-server/v3/bidadjustment" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/dsa" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/firstpartydata" - "github.com/prebid/prebid-server/v3/floors" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_responses" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/maputil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/adservertargeting" + "github.com/prebid/prebid-server/v4/bidadjustment" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/dsa" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/firstpartydata" + "github.com/prebid/prebid-server/v4/floors" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_responses" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/maputil" "github.com/buger/jsonparser" "github.com/gofrs/uuid" diff --git a/exchange/exchange_test.go b/exchange/exchange_test.go index 16b52873d..52550802a 100644 --- a/exchange/exchange_test.go +++ b/exchange/exchange_test.go @@ -20,30 +20,30 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - metricsConf "github.com/prebid/prebid-server/v3/metrics/config" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - pbc "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/file_fetcher" - "github.com/prebid/prebid-server/v3/stored_responses" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + metricsConf "github.com/prebid/prebid-server/v4/metrics/config" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + pbc "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/file_fetcher" + "github.com/prebid/prebid-server/v4/stored_responses" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" jsonpatch "gopkg.in/evanphx/json-patch.v5" diff --git a/exchange/non_bid_reason.go b/exchange/non_bid_reason.go index 05d4ea3ee..04f18d9c8 100644 --- a/exchange/non_bid_reason.go +++ b/exchange/non_bid_reason.go @@ -5,7 +5,7 @@ import ( "net" "syscall" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) // SeatNonBid list the reasons why bid was not resulted in positive bid diff --git a/exchange/non_bid_reason_test.go b/exchange/non_bid_reason_test.go index fb9c5e434..5c30dde96 100644 --- a/exchange/non_bid_reason_test.go +++ b/exchange/non_bid_reason_test.go @@ -6,7 +6,7 @@ import ( "syscall" "testing" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" "github.com/stretchr/testify/assert" ) diff --git a/exchange/price_granularity.go b/exchange/price_granularity.go index b1d5073cd..d471085db 100644 --- a/exchange/price_granularity.go +++ b/exchange/price_granularity.go @@ -6,8 +6,8 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // GetPriceBucket is the externally facing function for computing CPM buckets diff --git a/exchange/price_granularity_test.go b/exchange/price_granularity_test.go index 277696b88..ca18d7ae7 100644 --- a/exchange/price_granularity_test.go +++ b/exchange/price_granularity_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/exchange/seat_non_bids.go b/exchange/seat_non_bids.go index fd6fd1da3..d62dcb7f8 100644 --- a/exchange/seat_non_bids.go +++ b/exchange/seat_non_bids.go @@ -1,8 +1,8 @@ package exchange import ( - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type SeatNonBidBuilder map[string][]openrtb_ext.NonBid diff --git a/exchange/seat_non_bids_test.go b/exchange/seat_non_bids_test.go index 4a8f9e8f7..a6ec99fb1 100644 --- a/exchange/seat_non_bids_test.go +++ b/exchange/seat_non_bids_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/exchange/targeting.go b/exchange/targeting.go index c52553cfc..a4850d9d9 100644 --- a/exchange/targeting.go +++ b/exchange/targeting.go @@ -5,7 +5,7 @@ import ( "strconv" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const MaxKeyLength = 26 diff --git a/exchange/targeting_test.go b/exchange/targeting_test.go index 5a6f10c39..99d854580 100644 --- a/exchange/targeting_test.go +++ b/exchange/targeting_test.go @@ -8,16 +8,16 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" diff --git a/exchange/tmax_adjustments.go b/exchange/tmax_adjustments.go index 0d0fa31fd..7fe69b390 100644 --- a/exchange/tmax_adjustments.go +++ b/exchange/tmax_adjustments.go @@ -4,7 +4,7 @@ import ( "context" "time" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) type TmaxAdjustmentsPreprocessed struct { diff --git a/exchange/tmax_adjustments_test.go b/exchange/tmax_adjustments_test.go index 792523398..6a3041c0a 100644 --- a/exchange/tmax_adjustments_test.go +++ b/exchange/tmax_adjustments_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/exchange/utils.go b/exchange/utils.go index 7606cd424..12d57d954 100644 --- a/exchange/utils.go +++ b/exchange/utils.go @@ -13,20 +13,20 @@ import ( gppConstants "github.com/prebid/go-gpp/constants" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/firstpartydata" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/privacy/ccpa" - "github.com/prebid/prebid-server/v3/privacy/lmt" - "github.com/prebid/prebid-server/v3/schain" - "github.com/prebid/prebid-server/v3/stored_responses" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/firstpartydata" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/privacy/ccpa" + "github.com/prebid/prebid-server/v4/privacy/lmt" + "github.com/prebid/prebid-server/v4/schain" + "github.com/prebid/prebid-server/v4/stored_responses" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) var errInvalidRequestExt = errors.New("request.ext is invalid") diff --git a/exchange/utils_test.go b/exchange/utils_test.go index 1139c2bda..1889493bc 100644 --- a/exchange/utils_test.go +++ b/exchange/utils_test.go @@ -10,15 +10,15 @@ import ( gpplib "github.com/prebid/go-gpp" "github.com/prebid/go-gpp/constants" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/firstpartydata" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/firstpartydata" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/experiment/adscert/SignerLogger.go b/experiment/adscert/SignerLogger.go index 798e9bd2a..d2ba706e8 100644 --- a/experiment/adscert/SignerLogger.go +++ b/experiment/adscert/SignerLogger.go @@ -3,7 +3,7 @@ package adscert import ( "fmt" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) type SignerLogger struct { diff --git a/experiment/adscert/inprocesssigner.go b/experiment/adscert/inprocesssigner.go index ee5f4905d..a8d0ac724 100644 --- a/experiment/adscert/inprocesssigner.go +++ b/experiment/adscert/inprocesssigner.go @@ -8,7 +8,7 @@ import ( "github.com/IABTechLab/adscert/pkg/adscert/discovery" "github.com/IABTechLab/adscert/pkg/adscert/signatory" "github.com/benbjohnson/clock" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) // inProcessSigner holds the signatory to add adsCert header to requests using in process go library diff --git a/experiment/adscert/remotesigner.go b/experiment/adscert/remotesigner.go index c441bbebb..0576d3997 100644 --- a/experiment/adscert/remotesigner.go +++ b/experiment/adscert/remotesigner.go @@ -6,7 +6,7 @@ import ( "github.com/IABTechLab/adscert/pkg/adscert/api" "github.com/IABTechLab/adscert/pkg/adscert/signatory" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" ) diff --git a/experiment/adscert/signer.go b/experiment/adscert/signer.go index f7ea9a425..44003cd88 100644 --- a/experiment/adscert/signer.go +++ b/experiment/adscert/signer.go @@ -6,7 +6,7 @@ import ( "github.com/IABTechLab/adscert/pkg/adscert/api" "github.com/IABTechLab/adscert/pkg/adscert/logger" "github.com/IABTechLab/adscert/pkg/adscert/signatory" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) const SignHeader = "X-Ads-Cert-Auth" diff --git a/experiment/adscert/signer_test.go b/experiment/adscert/signer_test.go index 3e08d0f6b..596922be3 100644 --- a/experiment/adscert/signer_test.go +++ b/experiment/adscert/signer_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/IABTechLab/adscert/pkg/adscert/api" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/firstpartydata/first_party_data.go b/firstpartydata/first_party_data.go index c91a0689b..44a451600 100644 --- a/firstpartydata/first_party_data.go +++ b/firstpartydata/first_party_data.go @@ -9,10 +9,10 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" jsonpatch "gopkg.in/evanphx/json-patch.v5" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) var ( diff --git a/firstpartydata/first_party_data_test.go b/firstpartydata/first_party_data_test.go index 3e4ff174e..ef88e79a5 100644 --- a/firstpartydata/first_party_data_test.go +++ b/firstpartydata/first_party_data_test.go @@ -8,9 +8,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/floors/enforce.go b/floors/enforce.go index f72d2bb72..f55d80e07 100644 --- a/floors/enforce.go +++ b/floors/enforce.go @@ -6,10 +6,10 @@ import ( "math/rand" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Enforce does floors enforcement for bids from all bidders based on floors provided in request, account level floors config diff --git a/floors/enforce_test.go b/floors/enforce_test.go index 3da86e2d7..c839188d7 100644 --- a/floors/enforce_test.go +++ b/floors/enforce_test.go @@ -7,11 +7,11 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/floors/fetcher.go b/floors/fetcher.go index c3d2a02f7..ac62931a3 100644 --- a/floors/fetcher.go +++ b/floors/fetcher.go @@ -14,11 +14,11 @@ import ( "github.com/alitto/pond" validator "github.com/asaskevich/govalidator" "github.com/coocood/freecache" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/timeutil" ) var refetchCheckInterval = 300 diff --git a/floors/fetcher_test.go b/floors/fetcher_test.go index 83876dc48..41bff4e2a 100644 --- a/floors/fetcher_test.go +++ b/floors/fetcher_test.go @@ -12,12 +12,12 @@ import ( "github.com/alitto/pond" "github.com/coocood/freecache" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - metricsConf "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + metricsConf "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/timeutil" "github.com/stretchr/testify/assert" ) diff --git a/floors/floors.go b/floors/floors.go index 5bcd2e5e6..658bf756e 100644 --- a/floors/floors.go +++ b/floors/floors.go @@ -6,10 +6,10 @@ import ( "math/rand" "strings" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) type Price struct { diff --git a/floors/floors_test.go b/floors/floors_test.go index 8d73a5de0..fecdad24c 100644 --- a/floors/floors_test.go +++ b/floors/floors_test.go @@ -7,11 +7,11 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/floors/rule.go b/floors/rule.go index fb3130c60..4e8532887 100644 --- a/floors/rule.go +++ b/floors/rule.go @@ -8,10 +8,10 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) const ( diff --git a/floors/rule_test.go b/floors/rule_test.go index dc46e0599..d5d65f0e2 100644 --- a/floors/rule_test.go +++ b/floors/rule_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/floors/validate.go b/floors/validate.go index 140df7def..74db16406 100644 --- a/floors/validate.go +++ b/floors/validate.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) var validSchemaDimensions = map[string]struct{}{ diff --git a/floors/validate_test.go b/floors/validate_test.go index 36c1c73e0..37418ea5e 100644 --- a/floors/validate_test.go +++ b/floors/validate_test.go @@ -5,8 +5,8 @@ import ( "fmt" "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/aggregated_config.go b/gdpr/aggregated_config.go index 3df5fdc7f..c0f40f4a6 100644 --- a/gdpr/aggregated_config.go +++ b/gdpr/aggregated_config.go @@ -3,8 +3,8 @@ package gdpr import ( "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // TCF2ConfigReader is an interface to access TCF2 configurations diff --git a/gdpr/aggregated_config_test.go b/gdpr/aggregated_config_test.go index f577772cb..44cd07efc 100644 --- a/gdpr/aggregated_config_test.go +++ b/gdpr/aggregated_config_test.go @@ -5,8 +5,8 @@ import ( "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/basic_enforcement_test.go b/gdpr/basic_enforcement_test.go index 7bb007694..b4ed2aeb3 100644 --- a/gdpr/basic_enforcement_test.go +++ b/gdpr/basic_enforcement_test.go @@ -6,7 +6,7 @@ import ( "github.com/prebid/go-gdpr/consentconstants" "github.com/prebid/go-gdpr/vendorconsent" tcf2 "github.com/prebid/go-gdpr/vendorconsent/tcf2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/full_enforcement_test.go b/gdpr/full_enforcement_test.go index eed86bf23..10c8463f3 100644 --- a/gdpr/full_enforcement_test.go +++ b/gdpr/full_enforcement_test.go @@ -8,8 +8,8 @@ import ( tcf2 "github.com/prebid/go-gdpr/vendorconsent/tcf2" "github.com/prebid/go-gdpr/vendorlist" "github.com/prebid/go-gdpr/vendorlist2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/gdpr.go b/gdpr/gdpr.go index 26e04e0b9..9c986b703 100644 --- a/gdpr/gdpr.go +++ b/gdpr/gdpr.go @@ -3,9 +3,9 @@ package gdpr import ( "context" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type Permissions interface { diff --git a/gdpr/gdpr_test.go b/gdpr/gdpr_test.go index 6329dad85..2efdc05f0 100644 --- a/gdpr/gdpr_test.go +++ b/gdpr/gdpr_test.go @@ -6,9 +6,9 @@ import ( "github.com/prebid/go-gdpr/consentconstants" "github.com/prebid/go-gdpr/vendorlist" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/gvl_vendor_ids.go b/gdpr/gvl_vendor_ids.go new file mode 100644 index 000000000..bcec2db51 --- /dev/null +++ b/gdpr/gvl_vendor_ids.go @@ -0,0 +1,119 @@ +package gdpr + +import ( + "context" + "encoding/json" + "io" + "net/http" + "sync/atomic" + "time" + + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/util/task" + "golang.org/x/net/context/ctxhttp" +) + +// LiveGVLVendorIDs provides thread-safe access to the set of vendor IDs present in the latest +// Global Vendor List. It uses atomic.Value so reads (on every request) are lock-free, while +// writes (periodic refresh) are safe without mutexes. +type LiveGVLVendorIDs struct { + ids atomic.Value // holds map[uint16]struct{} +} + +// NewLiveGVLVendorIDs creates a LiveGVLVendorIDs initialized with an empty set. +func NewLiveGVLVendorIDs() *LiveGVLVendorIDs { + l := &LiveGVLVendorIDs{} + l.ids.Store(make(map[uint16]struct{})) + return l +} + +// Contains returns true if the given vendor ID is in the current valid set. +// If the set is empty (e.g. the GVL fetch failed), all IDs are considered valid +// as a safe fallback. +func (l *LiveGVLVendorIDs) Contains(id uint16) bool { + m := l.ids.Load().(map[uint16]struct{}) + if len(m) == 0 { + return true + } + _, ok := m[id] + return ok +} + +// Update atomically replaces the valid vendor ID set. If newIDs is empty, the existing +// set is retained. +func (l *LiveGVLVendorIDs) Update(newIDs map[uint16]struct{}) { + if len(newIDs) > 0 { + l.ids.Store(newIDs) + } +} + +// NewGVLVendorIDTickerTask creates a TickerTask that fetches the latest GVL vendor IDs and +// updates the LiveGVLVendorIDs set. Calling Start on the returned task performs the initial +// fetch immediately and then schedules periodic refreshes at the given interval. +func NewGVLVendorIDTickerTask(interval time.Duration, client *http.Client, urlMaker func(uint16, uint16) string, live *LiveGVLVendorIDs, me metrics.MetricsEngine) *task.TickerTask { + return task.NewTickerTaskFromFunc(interval, func() error { + newIDs := FetchLatestGVLVendorIDs(context.Background(), client, urlMaker, me) + live.Update(newIDs) + return nil + }) +} + +// gvlVendorListContract is a lightweight contract for parsing only vendor IDs from GVL JSON +type gvlVendorListContract struct { + Vendors map[string]struct { + ID uint16 `json:"id"` + } `json:"vendors"` +} + +// FetchLatestGVLVendorIDs fetches the most recent Global Vendor List and returns a set of all +// vendor IDs present in it. The returned map has vendor IDs as keys and empty structs as values. +// If the fetch or parse fails, an empty map is returned. +func FetchLatestGVLVendorIDs(ctx context.Context, client *http.Client, urlMaker func(uint16, uint16) string, me metrics.MetricsEngine) map[uint16]struct{} { + vendorIDs := make(map[uint16]struct{}) + + // Fetch latest GVL for the latest spec version (listVersion 0 means latest) + url := urlMaker(latestSpecVersion, 0) + + req, err := http.NewRequest("GET", url, nil) + if err != nil { + logger.Errorf("Failed to build GET %s request for GVL vendor ID extraction: %v", url, err) + me.RecordLiveGVLFetch(false) + return vendorIDs + } + + resp, err := ctxhttp.Do(ctx, client, req) + if err != nil { + logger.Errorf("Error calling GET %s for GVL vendor ID extraction: %v", url, err) + me.RecordLiveGVLFetch(false) + return vendorIDs + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + logger.Errorf("GET %s returned %d for GVL vendor ID extraction", url, resp.StatusCode) + me.RecordLiveGVLFetch(false) + return vendorIDs + } + + respBody, err := io.ReadAll(resp.Body) + if err != nil { + logger.Errorf("Error reading response body from GET %s for GVL vendor ID extraction: %v", url, err) + me.RecordLiveGVLFetch(false) + return vendorIDs + } + + var contract gvlVendorListContract + if err := json.Unmarshal(respBody, &contract); err != nil { + logger.Errorf("GET %s returned malformed JSON for GVL vendor ID extraction: %v", url, err) + me.RecordLiveGVLFetch(false) + return vendorIDs + } + + for _, v := range contract.Vendors { + vendorIDs[v.ID] = struct{}{} + } + + me.RecordLiveGVLFetch(true) + return vendorIDs +} diff --git a/gdpr/gvl_vendor_ids_test.go b/gdpr/gvl_vendor_ids_test.go new file mode 100644 index 000000000..43010df57 --- /dev/null +++ b/gdpr/gvl_vendor_ids_test.go @@ -0,0 +1,169 @@ +package gdpr + +import ( + "context" + "net/http" + "net/http/httptest" + "testing" + + "github.com/prebid/prebid-server/v4/metrics" + "github.com/stretchr/testify/assert" +) + +func TestFetchLatestGVLVendorIDs(t *testing.T) { + tests := []struct { + name string + settings serverSettings + expectedIDs map[uint16]struct{} + expectError bool + }{ + { + name: "fetch-with-multiple-vendors", + settings: serverSettings{ + vendorListLatestVersion: 1, + vendorLists: map[int]map[int]string{ + 3: { + 1: MarshalVendorList(vendorList{ + GVLSpecificationVersion: 3, + VendorListVersion: 1, + Vendors: map[string]*vendor{ + "10": {ID: 10}, + "20": {ID: 20}, + "100": {ID: 100}, + }, + }), + }, + }, + }, + expectedIDs: map[uint16]struct{}{ + 10: {}, + 20: {}, + 100: {}, + }, + }, + { + name: "fetch-with-no-vendors", + settings: serverSettings{ + vendorListLatestVersion: 1, + vendorLists: map[int]map[int]string{ + 3: { + 1: MarshalVendorList(vendorList{ + GVLSpecificationVersion: 3, + VendorListVersion: 1, + Vendors: map[string]*vendor{}, + }), + }, + }, + }, + expectedIDs: map[uint16]struct{}{}, + }, + { + name: "error-spec-v3-not-available", + settings: serverSettings{ + vendorListLatestVersion: 1, + vendorLists: map[int]map[int]string{ + 2: { + 1: MarshalVendorList(vendorList{ + GVLSpecificationVersion: 2, + VendorListVersion: 1, + Vendors: map[string]*vendor{"5": {ID: 5}}, + }), + }, + }, + }, + expectedIDs: map[uint16]struct{}{}, + expectError: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(mockServer(tt.settings))) + defer server.Close() + + m := &metrics.MetricsEngineMock{} + if tt.expectError { + m.On("RecordLiveGVLFetch", false).Once() + } else { + m.On("RecordLiveGVLFetch", true).Once() + } + result := FetchLatestGVLVendorIDs(context.Background(), server.Client(), testURLMaker(server), m) + assert.Equal(t, tt.expectedIDs, result) + m.AssertExpectations(t) + }) + } +} + +func TestFetchLatestGVLVendorIDsServerError(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusInternalServerError) + })) + defer server.Close() + + m := &metrics.MetricsEngineMock{} + m.On("RecordLiveGVLFetch", false).Once() + result := FetchLatestGVLVendorIDs(context.Background(), server.Client(), testURLMaker(server), m) + assert.Empty(t, result) + m.AssertExpectations(t) +} + +func TestFetchLatestGVLVendorIDsMalformedJSON(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("not valid json")) + })) + defer server.Close() + + m := &metrics.MetricsEngineMock{} + m.On("RecordLiveGVLFetch", false).Once() + result := FetchLatestGVLVendorIDs(context.Background(), server.Client(), testURLMaker(server), m) + assert.Empty(t, result) + m.AssertExpectations(t) +} + +func TestLiveGVLVendorIDsContains(t *testing.T) { + tests := []struct { + name string + ids map[uint16]struct{} + checkID uint16 + expected bool + }{ + { + name: "empty-set-returns-true-for-any-id", + ids: map[uint16]struct{}{}, + checkID: 42, + expected: true, + }, + { + name: "id-present-in-set", + ids: map[uint16]struct{}{10: {}, 20: {}}, + checkID: 10, + expected: true, + }, + { + name: "id-not-present-in-set", + ids: map[uint16]struct{}{10: {}, 20: {}}, + checkID: 30, + expected: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + live := NewLiveGVLVendorIDs() + live.Update(tt.ids) + assert.Equal(t, tt.expected, live.Contains(tt.checkID)) + }) + } +} + +func TestLiveGVLVendorIDsUpdateSkipsEmpty(t *testing.T) { + live := NewLiveGVLVendorIDs() + live.Update(map[uint16]struct{}{10: {}, 20: {}}) + + // Updating with empty should retain previous set + live.Update(map[uint16]struct{}{}) + assert.True(t, live.Contains(10)) + assert.True(t, live.Contains(20)) + assert.False(t, live.Contains(30)) +} diff --git a/gdpr/impl.go b/gdpr/impl.go index 24c5b3010..df28560dd 100644 --- a/gdpr/impl.go +++ b/gdpr/impl.go @@ -6,8 +6,8 @@ import ( "github.com/prebid/go-gdpr/api" "github.com/prebid/go-gdpr/consentconstants" tcf2 "github.com/prebid/go-gdpr/vendorconsent/tcf2" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const noBidder openrtb_ext.BidderName = "" diff --git a/gdpr/impl_test.go b/gdpr/impl_test.go index 60a688fcc..8bd857d3f 100644 --- a/gdpr/impl_test.go +++ b/gdpr/impl_test.go @@ -9,9 +9,9 @@ import ( "github.com/prebid/go-gdpr/consentconstants" "github.com/prebid/go-gdpr/vendorlist" "github.com/prebid/go-gdpr/vendorlist2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/purpose_config.go b/gdpr/purpose_config.go index 020d0aaa0..9838c873f 100644 --- a/gdpr/purpose_config.go +++ b/gdpr/purpose_config.go @@ -2,7 +2,7 @@ package gdpr import ( "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) // purposeConfig represents all of the config info selected from the host and account configs for diff --git a/gdpr/purpose_config_test.go b/gdpr/purpose_config_test.go index 61b7b9b2d..025019ea0 100644 --- a/gdpr/purpose_config_test.go +++ b/gdpr/purpose_config_test.go @@ -3,7 +3,7 @@ package gdpr import ( "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/purpose_enforcer.go b/gdpr/purpose_enforcer.go index 5cc5d8e83..28a0c6dcd 100644 --- a/gdpr/purpose_enforcer.go +++ b/gdpr/purpose_enforcer.go @@ -4,8 +4,8 @@ import ( "github.com/prebid/go-gdpr/api" "github.com/prebid/go-gdpr/consentconstants" tcf2 "github.com/prebid/go-gdpr/vendorconsent/tcf2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // PurposeEnforcer represents the enforcement strategy for determining if legal basis is achieved for a purpose diff --git a/gdpr/purpose_enforcer_test.go b/gdpr/purpose_enforcer_test.go index 756bb07d7..a73f6b3ee 100644 --- a/gdpr/purpose_enforcer_test.go +++ b/gdpr/purpose_enforcer_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/signal.go b/gdpr/signal.go index 478985b64..b8bb49c27 100644 --- a/gdpr/signal.go +++ b/gdpr/signal.go @@ -3,7 +3,7 @@ package gdpr import ( "strconv" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) type Signal int diff --git a/gdpr/utils.go b/gdpr/utils.go index 543b70a4b..a8efc3087 100644 --- a/gdpr/utils.go +++ b/gdpr/utils.go @@ -7,8 +7,8 @@ import ( gpplib "github.com/prebid/go-gpp" gppConstants "github.com/prebid/go-gpp/constants" - "github.com/prebid/prebid-server/v3/openrtb_ext" - gppPolicy "github.com/prebid/prebid-server/v3/privacy/gpp" + "github.com/prebid/prebid-server/v4/openrtb_ext" + gppPolicy "github.com/prebid/prebid-server/v4/privacy/gpp" ) // GetGDPR will pull the gdpr flag from an openrtb request diff --git a/gdpr/utils_test.go b/gdpr/utils_test.go index 01fae95de..747b550db 100644 --- a/gdpr/utils_test.go +++ b/gdpr/utils_test.go @@ -6,8 +6,8 @@ import ( gpplib "github.com/prebid/go-gpp" gppConstants "github.com/prebid/go-gpp/constants" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/gdpr/vendorlist-fetching.go b/gdpr/vendorlist-fetching.go index 2a3be433e..097a4e479 100644 --- a/gdpr/vendorlist-fetching.go +++ b/gdpr/vendorlist-fetching.go @@ -13,9 +13,9 @@ import ( "github.com/prebid/go-gdpr/api" "github.com/prebid/go-gdpr/vendorlist" "github.com/prebid/go-gdpr/vendorlist2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" "golang.org/x/net/context/ctxhttp" ) diff --git a/gdpr/vendorlist-fetching_test.go b/gdpr/vendorlist-fetching_test.go index 4ba228244..8a587bd7f 100644 --- a/gdpr/vendorlist-fetching_test.go +++ b/gdpr/vendorlist-fetching_test.go @@ -11,9 +11,9 @@ import ( "github.com/prebid/go-gdpr/api" "github.com/prebid/go-gdpr/consentconstants" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func TestFetcherDynamicLoadListExists(t *testing.T) { diff --git a/go.mod b/go.mod index c1a9bee8f..a3b77785a 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,7 @@ -module github.com/prebid/prebid-server/v3 +module github.com/prebid/prebid-server/v4 go 1.23.0 -retract v3.0.0 // Forgot to update major version in import path and module name - require ( github.com/51Degrees/device-detection-go/v4 v4.4.35 github.com/DATA-DOG/go-sqlmock v1.5.0 diff --git a/hooks/empty_plan.go b/hooks/empty_plan.go index ea86a3140..a26bf8feb 100644 --- a/hooks/empty_plan.go +++ b/hooks/empty_plan.go @@ -1,8 +1,8 @@ package hooks import ( - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) // EmptyPlanBuilder implements the ExecutionPlanBuilder interface diff --git a/hooks/hookanalytics/analytics_test.go b/hooks/hookanalytics/analytics_test.go index a1186e1b8..3f783d4b2 100644 --- a/hooks/hookanalytics/analytics_test.go +++ b/hooks/hookanalytics/analytics_test.go @@ -3,7 +3,7 @@ package hookanalytics import ( "testing" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/hooks/hookexecution/context.go b/hooks/hookexecution/context.go index 75ad2a821..fee4e7385 100644 --- a/hooks/hookexecution/context.go +++ b/hooks/hookexecution/context.go @@ -3,10 +3,10 @@ package hookexecution import ( "sync" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/privacy" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/privacy" ) // executionContext holds information passed to module's hook during hook execution. diff --git a/hooks/hookexecution/enricher.go b/hooks/hookexecution/enricher.go index 17a2eb9cc..a7043a25a 100644 --- a/hooks/hookexecution/enricher.go +++ b/hooks/hookexecution/enricher.go @@ -5,8 +5,8 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/util/jsonutil" jsonpatch "gopkg.in/evanphx/json-patch.v5" ) diff --git a/hooks/hookexecution/enricher_test.go b/hooks/hookexecution/enricher_test.go index beb07444d..d25b30b40 100644 --- a/hooks/hookexecution/enricher_test.go +++ b/hooks/hookexecution/enricher_test.go @@ -7,10 +7,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hooks/hookexecution/errors.go b/hooks/hookexecution/errors.go index 0e61ebc98..c8124d7c0 100644 --- a/hooks/hookexecution/errors.go +++ b/hooks/hookexecution/errors.go @@ -3,7 +3,7 @@ package hookexecution import ( "fmt" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) // TimeoutError indicates exceeding of the max execution time allotted for hook. diff --git a/hooks/hookexecution/execution.go b/hooks/hookexecution/execution.go index b14629efe..c7a9dc132 100644 --- a/hooks/hookexecution/execution.go +++ b/hooks/hookexecution/execution.go @@ -8,15 +8,15 @@ import ( "sync" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/util/iputil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/util/iputil" ) type hookResponse[T any] struct { diff --git a/hooks/hookexecution/execution_test.go b/hooks/hookexecution/execution_test.go index 1090db578..5c3dd7294 100644 --- a/hooks/hookexecution/execution_test.go +++ b/hooks/hookexecution/execution_test.go @@ -4,10 +4,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" "github.com/stretchr/testify/assert" ) diff --git a/hooks/hookexecution/executor.go b/hooks/hookexecution/executor.go index 0e5b28fff..c33cfcdda 100644 --- a/hooks/hookexecution/executor.go +++ b/hooks/hookexecution/executor.go @@ -6,14 +6,14 @@ import ( "sync" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" ) const ( diff --git a/hooks/hookexecution/executor_test.go b/hooks/hookexecution/executor_test.go index a83df8990..0fe157224 100644 --- a/hooks/hookexecution/executor_test.go +++ b/hooks/hookexecution/executor_test.go @@ -10,17 +10,17 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/metrics" - metricsConfig "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/privacy" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/metrics" + metricsConfig "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/privacy" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/hooks/hookexecution/mocks_test.go b/hooks/hookexecution/mocks_test.go index 3d9d98286..cb3c95b9d 100644 --- a/hooks/hookexecution/mocks_test.go +++ b/hooks/hookexecution/mocks_test.go @@ -6,9 +6,9 @@ import ( "time" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) type mockUpdateHeaderEntrypointHook struct{} diff --git a/hooks/hookexecution/outcome.go b/hooks/hookexecution/outcome.go index d17d3cd46..b9c256132 100644 --- a/hooks/hookexecution/outcome.go +++ b/hooks/hookexecution/outcome.go @@ -3,7 +3,7 @@ package hookexecution import ( "time" - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" ) // Status indicates the result of hook execution. diff --git a/hooks/hookexecution/test_utils.go b/hooks/hookexecution/test_utils.go index b26d4aae4..cd4f4d16f 100644 --- a/hooks/hookexecution/test_utils.go +++ b/hooks/hookexecution/test_utils.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/hooks/hookstage/allprocessedbidresponses.go b/hooks/hookstage/allprocessedbidresponses.go index 6bfe0d808..09b486026 100644 --- a/hooks/hookstage/allprocessedbidresponses.go +++ b/hooks/hookstage/allprocessedbidresponses.go @@ -3,8 +3,8 @@ package hookstage import ( "context" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // AllProcessedBidResponses hooks are invoked over a list of all diff --git a/hooks/hookstage/bidderrequest.go b/hooks/hookstage/bidderrequest.go index 8c27f0724..ab06ad97a 100644 --- a/hooks/hookstage/bidderrequest.go +++ b/hooks/hookstage/bidderrequest.go @@ -3,7 +3,7 @@ package hookstage import ( "context" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // BidderRequest hooks are invoked for each bidder participating in auction. diff --git a/hooks/hookstage/bidderrequest_mutations.go b/hooks/hookstage/bidderrequest_mutations.go index 3ab571ff8..946f5b92c 100644 --- a/hooks/hookstage/bidderrequest_mutations.go +++ b/hooks/hookstage/bidderrequest_mutations.go @@ -3,7 +3,7 @@ package hookstage import ( "errors" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/prebid/openrtb/v20/adcom1" ) diff --git a/hooks/hookstage/invocation.go b/hooks/hookstage/invocation.go index b5452af7f..ee2f2ec89 100644 --- a/hooks/hookstage/invocation.go +++ b/hooks/hookstage/invocation.go @@ -3,7 +3,7 @@ package hookstage import ( "encoding/json" - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" ) // HookResult represents the result of execution the concrete hook instance. diff --git a/hooks/hookstage/processedauctionrequest.go b/hooks/hookstage/processedauctionrequest.go index 067421388..deb2994ab 100644 --- a/hooks/hookstage/processedauctionrequest.go +++ b/hooks/hookstage/processedauctionrequest.go @@ -3,7 +3,7 @@ package hookstage import ( "context" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // ProcessedAuctionRequest hooks are invoked after the request is parsed diff --git a/hooks/hookstage/processedauctionrequest_mutations.go b/hooks/hookstage/processedauctionrequest_mutations.go index 9cd9c6457..a98cbbc58 100644 --- a/hooks/hookstage/processedauctionrequest_mutations.go +++ b/hooks/hookstage/processedauctionrequest_mutations.go @@ -3,7 +3,7 @@ package hookstage import ( "encoding/json" "errors" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func (c *ChangeSet[T]) ProcessedAuctionRequest() ChangeSetProcessedAuctionRequest[T] { diff --git a/hooks/hookstage/processedauctionrequest_mutations_test.go b/hooks/hookstage/processedauctionrequest_mutations_test.go index bf7616a6d..3bfb94bf0 100644 --- a/hooks/hookstage/processedauctionrequest_mutations_test.go +++ b/hooks/hookstage/processedauctionrequest_mutations_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/hooks/hookstage/rawbidderresponse.go b/hooks/hookstage/rawbidderresponse.go index 52d1d8a1b..9299a7360 100644 --- a/hooks/hookstage/rawbidderresponse.go +++ b/hooks/hookstage/rawbidderresponse.go @@ -3,7 +3,7 @@ package hookstage import ( "context" - "github.com/prebid/prebid-server/v3/adapters" + "github.com/prebid/prebid-server/v4/adapters" ) // RawBidderResponse hooks are invoked for each bidder participating in auction. diff --git a/hooks/hookstage/rawbidderresponse_mutations.go b/hooks/hookstage/rawbidderresponse_mutations.go index 027598c65..203f9ac3b 100644 --- a/hooks/hookstage/rawbidderresponse_mutations.go +++ b/hooks/hookstage/rawbidderresponse_mutations.go @@ -3,7 +3,7 @@ package hookstage import ( "errors" - "github.com/prebid/prebid-server/v3/adapters" + "github.com/prebid/prebid-server/v4/adapters" ) func (c *ChangeSet[T]) RawBidderResponse() ChangeSetRawBidderResponse[T] { diff --git a/hooks/plan.go b/hooks/plan.go index dbf897e41..3480bf8d2 100644 --- a/hooks/plan.go +++ b/hooks/plan.go @@ -3,9 +3,9 @@ package hooks import ( "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/logger" ) type Stage string diff --git a/hooks/plan_test.go b/hooks/plan_test.go index 3266d2177..0d7639b58 100644 --- a/hooks/plan_test.go +++ b/hooks/plan_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/hooks/repo.go b/hooks/repo.go index e00077e7b..e9e545b50 100644 --- a/hooks/repo.go +++ b/hooks/repo.go @@ -3,7 +3,7 @@ package hooks import ( "fmt" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) // HookRepository is the interface that exposes methods diff --git a/hooks/repo_test.go b/hooks/repo_test.go index d6d371335..b31554d40 100644 --- a/hooks/repo_test.go +++ b/hooks/repo_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookstage" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/injector/injector.go b/injector/injector.go index 9de2c1b72..0df0c2aea 100644 --- a/injector/injector.go +++ b/injector/injector.go @@ -6,8 +6,8 @@ import ( "io" "strings" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" ) const ( diff --git a/injector/injector_test.go b/injector/injector_test.go index b3457b094..401006622 100644 --- a/injector/injector_test.go +++ b/injector/injector_test.go @@ -6,10 +6,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/macros/provider.go b/macros/provider.go index 575aa49aa..fa9b584b4 100644 --- a/macros/provider.go +++ b/macros/provider.go @@ -5,8 +5,8 @@ import ( "strconv" "time" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const ( diff --git a/macros/provider_test.go b/macros/provider_test.go index 795fae9c4..cc92b0dc7 100644 --- a/macros/provider_test.go +++ b/macros/provider_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/macros/string_index_based_replacer_test.go b/macros/string_index_based_replacer_test.go index 515640d4f..868592790 100644 --- a/macros/string_index_based_replacer_test.go +++ b/macros/string_index_based_replacer_test.go @@ -5,8 +5,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/exchange/entities" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/exchange/entities" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/main.go b/main.go index 255509ec1..8dfb93a9c 100644 --- a/main.go +++ b/main.go @@ -8,14 +8,14 @@ import ( "time" jsoniter "github.com/json-iterator/go" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/router" - "github.com/prebid/prebid-server/v3/server" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/task" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/router" + "github.com/prebid/prebid-server/v4/server" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/task" "github.com/spf13/viper" _ "go.uber.org/automaxprocs" diff --git a/main_test.go b/main_test.go index 494e6d677..92c0b9020 100644 --- a/main_test.go +++ b/main_test.go @@ -4,7 +4,7 @@ import ( "os" "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" "github.com/spf13/viper" diff --git a/metrics/config/metrics.go b/metrics/config/metrics.go index 8e6c3947f..ea273c7b0 100644 --- a/metrics/config/metrics.go +++ b/metrics/config/metrics.go @@ -3,10 +3,10 @@ package config import ( "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - prometheusmetrics "github.com/prebid/prebid-server/v3/metrics/prometheus" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + prometheusmetrics "github.com/prebid/prebid-server/v4/metrics/prometheus" + "github.com/prebid/prebid-server/v4/openrtb_ext" gometrics "github.com/rcrowley/go-metrics" influxdb "github.com/vrischmann/go-metrics-influxdb" ) diff --git a/metrics/config/metrics_test.go b/metrics/config/metrics_test.go index 48166f07f..1b35f59b1 100644 --- a/metrics/config/metrics_test.go +++ b/metrics/config/metrics_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - mainConfig "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + mainConfig "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" gometrics "github.com/rcrowley/go-metrics" ) diff --git a/metrics/go_metrics.go b/metrics/go_metrics.go index fbf890527..13b2bb76c 100644 --- a/metrics/go_metrics.go +++ b/metrics/go_metrics.go @@ -6,9 +6,9 @@ import ( "sync" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/openrtb_ext" metrics "github.com/rcrowley/go-metrics" ) diff --git a/metrics/go_metrics_test.go b/metrics/go_metrics_test.go index 2fcec9cb6..164aaaadd 100644 --- a/metrics/go_metrics_test.go +++ b/metrics/go_metrics_test.go @@ -5,8 +5,8 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" metrics "github.com/rcrowley/go-metrics" "github.com/stretchr/testify/assert" ) diff --git a/metrics/metrics.go b/metrics/metrics.go index cfbd03037..78590ee34 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -3,7 +3,7 @@ package metrics import ( "time" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Labels defines the labels that can be attached to the metrics. diff --git a/metrics/metrics_mock.go b/metrics/metrics_mock.go index 432e74f5f..83c0e8e9c 100644 --- a/metrics/metrics_mock.go +++ b/metrics/metrics_mock.go @@ -3,7 +3,7 @@ package metrics import ( "time" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/mock" ) diff --git a/metrics/prometheus/preload.go b/metrics/prometheus/preload.go index 731151476..835d71d4d 100644 --- a/metrics/prometheus/preload.go +++ b/metrics/prometheus/preload.go @@ -1,8 +1,8 @@ package prometheusmetrics import ( - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/prometheus/client_golang/prometheus" ) diff --git a/metrics/prometheus/prometheus.go b/metrics/prometheus/prometheus.go index 7174e102f..264fcdd03 100644 --- a/metrics/prometheus/prometheus.go +++ b/metrics/prometheus/prometheus.go @@ -6,9 +6,9 @@ import ( "strings" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/prometheus/client_golang/prometheus" promCollector "github.com/prometheus/client_golang/prometheus/collectors" ) diff --git a/metrics/prometheus/prometheus_test.go b/metrics/prometheus/prometheus_test.go index d4edca885..05e46b9e7 100644 --- a/metrics/prometheus/prometheus_test.go +++ b/metrics/prometheus/prometheus_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/prometheus/client_golang/prometheus" dto "github.com/prometheus/client_model/go" "github.com/stretchr/testify/assert" diff --git a/modules/builder.go b/modules/builder.go index ada151b14..1ca88c737 100644 --- a/modules/builder.go +++ b/modules/builder.go @@ -1,11 +1,10 @@ package modules import ( - fiftyonedegreesDevicedetection "github.com/prebid/prebid-server/v3/modules/fiftyonedegrees/devicedetection" - openadsSignatures "github.com/prebid/prebid-server/v3/modules/openads/signatures" - prebidOrtb2blocking "github.com/prebid/prebid-server/v3/modules/prebid/ortb2blocking" - prebidRulesengine "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine" - scope3Rtd "github.com/prebid/prebid-server/v3/modules/scope3/rtd" + fiftyonedegreesDevicedetection "github.com/prebid/prebid-server/v4/modules/fiftyonedegrees/devicedetection" + prebidOrtb2blocking "github.com/prebid/prebid-server/v4/modules/prebid/ortb2blocking" + prebidRulesengine "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine" + scope3Rtd "github.com/prebid/prebid-server/v4/modules/scope3/rtd" ) // builders returns mapping between module name and its builder diff --git a/modules/fiftyonedegrees/devicedetection/config.go b/modules/fiftyonedegrees/devicedetection/config.go index 3a83030b6..8037f83ec 100644 --- a/modules/fiftyonedegrees/devicedetection/config.go +++ b/modules/fiftyonedegrees/devicedetection/config.go @@ -8,7 +8,7 @@ import ( "os" "github.com/51Degrees/device-detection-go/v4/dd" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type config struct { diff --git a/modules/fiftyonedegrees/devicedetection/device_info_extractor.go b/modules/fiftyonedegrees/devicedetection/device_info_extractor.go index d16ac64f0..e3c4bca69 100644 --- a/modules/fiftyonedegrees/devicedetection/device_info_extractor.go +++ b/modules/fiftyonedegrees/devicedetection/device_info_extractor.go @@ -6,7 +6,7 @@ import ( "fmt" "strconv" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) // deviceInfoExtractor is a struct that contains the methods to extract device information diff --git a/modules/fiftyonedegrees/devicedetection/evidence_extractor.go b/modules/fiftyonedegrees/devicedetection/evidence_extractor.go index 700f53117..511b85960 100644 --- a/modules/fiftyonedegrees/devicedetection/evidence_extractor.go +++ b/modules/fiftyonedegrees/devicedetection/evidence_extractor.go @@ -9,7 +9,7 @@ import ( "github.com/51Degrees/device-detection-go/v4/dd" "github.com/51Degrees/device-detection-go/v4/onpremise" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) type defaultEvidenceExtractor struct { diff --git a/modules/fiftyonedegrees/devicedetection/evidence_extractor_test.go b/modules/fiftyonedegrees/devicedetection/evidence_extractor_test.go index 7dc4fb979..7e2aa6616 100644 --- a/modules/fiftyonedegrees/devicedetection/evidence_extractor_test.go +++ b/modules/fiftyonedegrees/devicedetection/evidence_extractor_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/51Degrees/device-detection-go/v4/dd" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookstage" "github.com/stretchr/testify/assert" ) diff --git a/modules/fiftyonedegrees/devicedetection/hook_auction_entrypoint.go b/modules/fiftyonedegrees/devicedetection/hook_auction_entrypoint.go index 8be51c422..f1429ef7e 100644 --- a/modules/fiftyonedegrees/devicedetection/hook_auction_entrypoint.go +++ b/modules/fiftyonedegrees/devicedetection/hook_auction_entrypoint.go @@ -3,8 +3,8 @@ package devicedetection import ( - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) // handleAuctionEntryPointRequestHook is a hookstage.HookFunc that is used to handle the auction entrypoint request hook. diff --git a/modules/fiftyonedegrees/devicedetection/hook_raw_auction_request.go b/modules/fiftyonedegrees/devicedetection/hook_raw_auction_request.go index acde532eb..4f5580a5c 100644 --- a/modules/fiftyonedegrees/devicedetection/hook_raw_auction_request.go +++ b/modules/fiftyonedegrees/devicedetection/hook_raw_auction_request.go @@ -6,8 +6,8 @@ import ( "fmt" "math" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" "github.com/tidwall/gjson" "github.com/tidwall/sjson" ) diff --git a/modules/fiftyonedegrees/devicedetection/module.go b/modules/fiftyonedegrees/devicedetection/module.go index 603f37810..72c0f60d9 100644 --- a/modules/fiftyonedegrees/devicedetection/module.go +++ b/modules/fiftyonedegrees/devicedetection/module.go @@ -10,8 +10,8 @@ import ( "github.com/51Degrees/device-detection-go/v4/dd" "github.com/51Degrees/device-detection-go/v4/onpremise" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" ) func configHashFromConfig(cfg *config) *dd.ConfigHash { diff --git a/modules/fiftyonedegrees/devicedetection/module_no_cgo_test.go b/modules/fiftyonedegrees/devicedetection/module_no_cgo_test.go index 2f4bce4a9..9aca4faa0 100644 --- a/modules/fiftyonedegrees/devicedetection/module_no_cgo_test.go +++ b/modules/fiftyonedegrees/devicedetection/module_no_cgo_test.go @@ -5,7 +5,7 @@ package devicedetection import ( "testing" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/modules/moduledeps" "github.com/stretchr/testify/assert" ) diff --git a/modules/fiftyonedegrees/devicedetection/module_test.go b/modules/fiftyonedegrees/devicedetection/module_test.go index 19595aca4..5566f8e25 100644 --- a/modules/fiftyonedegrees/devicedetection/module_test.go +++ b/modules/fiftyonedegrees/devicedetection/module_test.go @@ -12,8 +12,8 @@ import ( "github.com/51Degrees/device-detection-go/v4/dd" "github.com/51Degrees/device-detection-go/v4/onpremise" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/modules/fiftyonedegrees/devicedetection/no-cgo.go b/modules/fiftyonedegrees/devicedetection/no-cgo.go index c9ec89eb2..4fe5814f7 100644 --- a/modules/fiftyonedegrees/devicedetection/no-cgo.go +++ b/modules/fiftyonedegrees/devicedetection/no-cgo.go @@ -6,7 +6,7 @@ import ( "encoding/json" "errors" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/modules/moduledeps" ) const errMsg = "fiftyonedegrees should not be enabled unless CGO is enabled" diff --git a/modules/generator/builder.tmpl b/modules/generator/builder.tmpl index 211e0d1e0..ebf49e761 100644 --- a/modules/generator/builder.tmpl +++ b/modules/generator/builder.tmpl @@ -2,7 +2,7 @@ package modules import ( {{- range $vendor, $modules := .}} {{- range $module := $modules}} - {{$vendor}}{{$module | Title}} "github.com/prebid/prebid-server/v3/modules/{{$vendor}}/{{$module}}" + {{$vendor}}{{$module | Title}} "github.com/prebid/prebid-server/v4/modules/{{$vendor}}/{{$module}}" {{- end}} {{- end}} ) diff --git a/modules/helpers.go b/modules/helpers.go index 9a3c547e0..a23f2dc12 100644 --- a/modules/helpers.go +++ b/modules/helpers.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) var moduleReplacer = strings.NewReplacer(".", "_", "-", "_") diff --git a/modules/moduledeps/deps.go b/modules/moduledeps/deps.go index a60587e1e..5d15c4d51 100644 --- a/modules/moduledeps/deps.go +++ b/modules/moduledeps/deps.go @@ -3,7 +3,7 @@ package moduledeps import ( "net/http" - "github.com/prebid/prebid-server/v3/currency" + "github.com/prebid/prebid-server/v4/currency" ) // ModuleDeps provides dependencies that custom modules may need for hooks execution. diff --git a/modules/modules.go b/modules/modules.go index fc2e15e7e..b7e862570 100644 --- a/modules/modules.go +++ b/modules/modules.go @@ -4,11 +4,11 @@ import ( "encoding/json" "fmt" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/modules/moduledeps" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/modules/moduledeps" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) //go:generate go run ./generator/buildergen.go diff --git a/modules/modules_test.go b/modules/modules_test.go index cdc573e99..e9a1102ef 100644 --- a/modules/modules_test.go +++ b/modules/modules_test.go @@ -9,10 +9,10 @@ import ( "net/http" "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/ortb2blocking/analytics.go b/modules/prebid/ortb2blocking/analytics.go index bab50e3a4..de2b4db61 100644 --- a/modules/prebid/ortb2blocking/analytics.go +++ b/modules/prebid/ortb2blocking/analytics.go @@ -1,8 +1,8 @@ package ortb2blocking import ( - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) const enforceBlockingTag = "enforce_blocking" diff --git a/modules/prebid/ortb2blocking/config.go b/modules/prebid/ortb2blocking/config.go index 1990b0a56..5d42c1d8a 100644 --- a/modules/prebid/ortb2blocking/config.go +++ b/modules/prebid/ortb2blocking/config.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/prebid/openrtb/v20/adcom1" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func newConfig(data json.RawMessage) (config, error) { diff --git a/modules/prebid/ortb2blocking/hook_bidderrequest.go b/modules/prebid/ortb2blocking/hook_bidderrequest.go index 4b3cb87c8..c4e91d011 100644 --- a/modules/prebid/ortb2blocking/hook_bidderrequest.go +++ b/modules/prebid/ortb2blocking/hook_bidderrequest.go @@ -7,9 +7,9 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func handleBidderRequestHook( diff --git a/modules/prebid/ortb2blocking/hook_bidderrequest_test.go b/modules/prebid/ortb2blocking/hook_bidderrequest_test.go new file mode 100644 index 000000000..82ad70880 --- /dev/null +++ b/modules/prebid/ortb2blocking/hook_bidderrequest_test.go @@ -0,0 +1,738 @@ +package ortb2blocking + +import ( + "testing" + + "github.com/prebid/openrtb/v20/adcom1" + "github.com/prebid/openrtb/v20/openrtb2" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestUpdateBAttr_DoesNotCreateMediaTypeObjects(t *testing.T) { + cfg := config{ + Attributes: Attributes{ + Battr: Battr{ + BlockedBannerAttr: []int{1, 2, 3}, + BlockedVideoAttr: []int{4, 5, 6}, + BlockedAudioAttr: []int{7, 8, 9}, + }, + }, + } + + var sizeW int64 = 640 + var sizeH int64 = 480 + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp-video-only", + Video: &openrtb2.Video{W: &sizeW, H: &sizeH}, + // Banner = nil, Audio = nil + }, + { + ID: "imp-audio-only", + Audio: &openrtb2.Audio{}, + // Banner = nil, Video = nil + }, + }, + }, + }, + Bidder: "test-bidder", + } + + var blockingAttrs blockingAttributes + var result hookstage.HookResult[hookstage.BidderRequestPayload] + var changeSet hookstage.ChangeSet[hookstage.BidderRequestPayload] + + err := updateBAttr(cfg, payload, &blockingAttrs, &result, &changeSet) + require.NoError(t, err) + + // Check that mutations were created only for existing media types + mutations := changeSet.Mutations() + + // Check the number of mutations - there should be only one for video and one for audio + videoMutationsCount := 0 + audioMutationsCount := 0 + bannerMutationsCount := 0 + + for _, mutation := range mutations { + if len(mutation.Key()) >= 3 { + mediaType := mutation.Key()[2] // the third path element must be a media type + switch mediaType { + case "video": + videoMutationsCount++ + case "audio": + audioMutationsCount++ + case "banner": + bannerMutationsCount++ + } + } + } + + assert.Equal(t, 1, videoMutationsCount, "Should have exactly one video mutation") + assert.Equal(t, 1, audioMutationsCount, "Should have exactly one audio mutation") + assert.Equal(t, 0, bannerMutationsCount, "Should have no banner mutations") + + // Apply mutations manually using functions from the code + for _, mutation := range mutations { + updatedPayload, err := mutation.Apply(payload) + require.NoError(t, err) + payload = updatedPayload + } + + // Check that Banner/Audio objects were NOT created + for _, imp := range payload.Request.BidRequest.Imp { + switch imp.ID { + case "imp-video-only": + assert.NotNil(t, imp.Video, "Video should exist") + assert.Nil(t, imp.Banner, "Banner should NOT be created") + assert.Nil(t, imp.Audio, "Audio should NOT be created") + // Check that battr was added to video + if imp.Video != nil { + assert.Len(t, imp.Video.BAttr, 3, "Video should have battr applied") + } + case "imp-audio-only": + assert.NotNil(t, imp.Audio, "Audio should exist") + assert.Nil(t, imp.Banner, "Banner should NOT be created") + assert.Nil(t, imp.Video, "Video should NOT be created") + // Check that battr was added to audio + if imp.Audio != nil { + assert.Len(t, imp.Audio.BAttr, 3, "Audio should have battr applied") + } + } + } +} + +func TestUpdateBAttr_AppliesOnlyToExistingMediaTypes(t *testing.T) { + cfg := config{ + Attributes: Attributes{ + Battr: Battr{ + BlockedBannerAttr: []int{1, 2}, + BlockedVideoAttr: []int{3, 4}, + BlockedAudioAttr: []int{5, 6}, + }, + }, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp-banner-only", + Banner: &openrtb2.Banner{W: ptrutil.ToPtr[int64](300), H: ptrutil.ToPtr[int64](250)}, + }, + { + ID: "imp-mixed", + Banner: &openrtb2.Banner{W: ptrutil.ToPtr[int64](728), H: ptrutil.ToPtr[int64](90)}, + Video: &openrtb2.Video{W: ptrutil.ToPtr[int64](640), H: ptrutil.ToPtr[int64](480)}, + }, + }, + }, + }, + Bidder: "test-bidder", + } + + var blockingAttrs blockingAttributes + var result hookstage.HookResult[hookstage.BidderRequestPayload] + var changeSet hookstage.ChangeSet[hookstage.BidderRequestPayload] + + err := updateBAttr(cfg, payload, &blockingAttrs, &result, &changeSet) + require.NoError(t, err) + + // We apply mutations + mutations := changeSet.Mutations() + for _, mutation := range mutations { + updatedPayload, err := mutation.Apply(payload) + require.NoError(t, err) + payload = updatedPayload + } + + for _, imp := range payload.Request.BidRequest.Imp { + switch imp.ID { + case "imp-banner-only": + assert.NotNil(t, imp.Banner, "Banner should exist") + assert.Nil(t, imp.Video, "Video should NOT be created") + assert.Nil(t, imp.Audio, "Audio should NOT be created") + if imp.Banner != nil { + assert.Len(t, imp.Banner.BAttr, 2, "Banner should have battr applied") + } + case "imp-mixed": + assert.NotNil(t, imp.Banner, "Banner should exist") + assert.NotNil(t, imp.Video, "Video should exist") + assert.Nil(t, imp.Audio, "Audio should NOT be created") + if imp.Banner != nil { + assert.Len(t, imp.Banner.BAttr, 2, "Banner should have battr applied") + } + if imp.Video != nil { + assert.Len(t, imp.Video.BAttr, 2, "Video should have battr applied") + } + } + } +} + +func TestFilterByMediaType(t *testing.T) { + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "has-banner", + Banner: &openrtb2.Banner{}, + }, + { + ID: "no-banner", + // Banner = nil + }, + }, + }, + }, + } + + overrides := map[string][]int{ + "has-banner": {1, 2, 3}, + "no-banner": {4, 5, 6}, + } + + filtered := filterByMediaType(payload, overrides, func(imp openrtb2.Imp) bool { + return imp.Banner != nil + }) + + // Only the impression with the Banner should remain. + assert.Len(t, filtered, 1) + assert.Contains(t, filtered, "has-banner") + assert.NotContains(t, filtered, "no-banner") + assert.Equal(t, []int{1, 2, 3}, filtered["has-banner"]) +} + +func TestCreateBAttrMutation(t *testing.T) { + bAttrByImp := map[string][]int{ + "imp1": {1, 2}, + "imp2": {3, 4}, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Banner: &openrtb2.Banner{}, + }, + { + ID: "imp2", + Banner: &openrtb2.Banner{}, + }, + }, + }, + }, + } + + mutation := createBAttrMutation(bAttrByImp, "banner") + updatedPayload, err := mutation(payload) + require.NoError(t, err) + + // Check that battr was applied + for _, imp := range updatedPayload.Request.BidRequest.Imp { + switch imp.ID { + case "imp1": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BAttr, 2) + assert.Equal(t, adcom1.CreativeAttribute(1), imp.Banner.BAttr[0]) + assert.Equal(t, adcom1.CreativeAttribute(2), imp.Banner.BAttr[1]) + case "imp2": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BAttr, 2) + assert.Equal(t, adcom1.CreativeAttribute(3), imp.Banner.BAttr[0]) + assert.Equal(t, adcom1.CreativeAttribute(4), imp.Banner.BAttr[1]) + } + } +} + +func TestCreateBTypeMutation(t *testing.T) { + bTypeByImp := map[string][]int{ + "imp1": {1, 2}, + "imp2": {3, 4}, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Banner: &openrtb2.Banner{}, + }, + { + ID: "imp2", + Banner: &openrtb2.Banner{}, + }, + }, + }, + }, + } + + mutation := createBTypeMutation(bTypeByImp) + updatedPayload, err := mutation(payload) + require.NoError(t, err) + + // Check that btype was applied + for _, imp := range updatedPayload.Request.BidRequest.Imp { + switch imp.ID { + case "imp1": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BType, 2) + assert.Equal(t, openrtb2.BannerAdType(1), imp.Banner.BType[0]) + assert.Equal(t, openrtb2.BannerAdType(2), imp.Banner.BType[1]) + case "imp2": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BType, 2) + assert.Equal(t, openrtb2.BannerAdType(3), imp.Banner.BType[0]) + assert.Equal(t, openrtb2.BannerAdType(4), imp.Banner.BType[1]) + } + } +} + +func TestUpdateBType_DoesNotCreateBannerObjects(t *testing.T) { + cfg := config{ + Attributes: Attributes{ + Btype: Btype{ + BlockedBannerType: []int{1, 2, 3}, + }, + }, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp-video-only", + Video: &openrtb2.Video{W: ptrutil.ToPtr[int64](640), H: ptrutil.ToPtr[int64](480)}, + }, + { + ID: "imp-with-banner", + Banner: &openrtb2.Banner{}, + }, + }, + }, + }, + Bidder: "test-bidder", + } + + var blockingAttrs blockingAttributes + var result hookstage.HookResult[hookstage.BidderRequestPayload] + var changeSet hookstage.ChangeSet[hookstage.BidderRequestPayload] + + err := updateBType(cfg, payload, &blockingAttrs, &result, &changeSet) + require.NoError(t, err) + + // Apply mutations + mutations := changeSet.Mutations() + for _, mutation := range mutations { + updatedPayload, err := mutation.Apply(payload) + require.NoError(t, err) + payload = updatedPayload + } + + // Check that Banner was NOT created for video-only impression + for _, imp := range payload.Request.BidRequest.Imp { + switch imp.ID { + case "imp-video-only": + assert.NotNil(t, imp.Video, "Video should exist") + assert.Nil(t, imp.Banner, "Banner should NOT be created") + case "imp-with-banner": + assert.NotNil(t, imp.Banner, "Banner should exist") + assert.Len(t, imp.Banner.BType, 3, "Banner should have btype applied") + } + } +} + +func TestCreateBAttrMutation_EmptyValues(t *testing.T) { + bAttrByImp := map[string][]int{ + "imp1": {}, + "imp2": {1, 2}, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Banner: &openrtb2.Banner{}, + }, + { + ID: "imp2", + Banner: &openrtb2.Banner{}, + }, + }, + }, + }, + } + + mutation := createBAttrMutation(bAttrByImp, "banner") + updatedPayload, err := mutation(payload) + require.NoError(t, err) + + // Check that empty values are handled correctly + for _, imp := range updatedPayload.Request.BidRequest.Imp { + switch imp.ID { + case "imp1": + require.NotNil(t, imp.Banner) + // Empty array should result in empty BAttr + assert.Len(t, imp.Banner.BAttr, 0) + case "imp2": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BAttr, 2) + } + } +} + +func TestCreateBTypeMutation_EmptyValues(t *testing.T) { + bTypeByImp := map[string][]int{ + "imp1": {}, + "imp2": {1, 2}, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Banner: &openrtb2.Banner{}, + }, + { + ID: "imp2", + Banner: &openrtb2.Banner{}, + }, + }, + }, + }, + } + + mutation := createBTypeMutation(bTypeByImp) + updatedPayload, err := mutation(payload) + require.NoError(t, err) + + for _, imp := range updatedPayload.Request.BidRequest.Imp { + switch imp.ID { + case "imp1": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BType, 0) + case "imp2": + require.NotNil(t, imp.Banner) + assert.Len(t, imp.Banner.BType, 2) + } + } +} + +func TestMediaTypesFrom(t *testing.T) { + request := &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Banner: &openrtb2.Banner{}, + Video: &openrtb2.Video{}, + }, + { + ID: "imp2", + Audio: &openrtb2.Audio{}, + }, + }, + } + + mediaTypes := mediaTypesFrom(request) + + assert.Len(t, mediaTypes, 3) + assert.Contains(t, mediaTypes, "banner") + assert.Contains(t, mediaTypes, "video") + assert.Contains(t, mediaTypes, "audio") + assert.NotContains(t, mediaTypes, "native") +} + +func TestMediaTypesFromImp(t *testing.T) { + tests := []struct { + name string + imp openrtb2.Imp + expected []string + }{ + { + name: "banner only", + imp: openrtb2.Imp{ + Banner: &openrtb2.Banner{}, + }, + expected: []string{"banner"}, + }, + { + name: "video only", + imp: openrtb2.Imp{ + Video: &openrtb2.Video{}, + }, + expected: []string{"video"}, + }, + { + name: "audio only", + imp: openrtb2.Imp{ + Audio: &openrtb2.Audio{}, + }, + expected: []string{"audio"}, + }, + { + name: "native only", + imp: openrtb2.Imp{ + Native: &openrtb2.Native{}, + }, + expected: []string{"native"}, + }, + { + name: "multiple types", + imp: openrtb2.Imp{ + Banner: &openrtb2.Banner{}, + Video: &openrtb2.Video{}, + Audio: &openrtb2.Audio{}, + }, + expected: []string{"banner", "video", "audio"}, + }, + { + name: "no media types", + imp: openrtb2.Imp{}, + expected: []string{}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := mediaTypesFromImp(tt.imp) + assert.Len(t, result, len(tt.expected)) + for _, mt := range tt.expected { + assert.Contains(t, result, mt) + } + }) + } +} + +func TestMediaTypes_String(t *testing.T) { + tests := []struct { + name string + mt mediaTypes + expected string + }{ + { + name: "multiple types sorted", + mt: mediaTypes{ + "video": struct{}{}, + "banner": struct{}{}, + "audio": struct{}{}, + }, + expected: "audio, banner, video", + }, + { + name: "empty", + mt: mediaTypes{}, + expected: "", + }, + { + name: "all types", + mt: mediaTypes{ + "audio": struct{}{}, + "banner": struct{}{}, + "native": struct{}{}, + "video": struct{}{}, + }, + expected: "audio, banner, native, video", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := tt.mt.String() + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestMediaTypes_Intersects(t *testing.T) { + mt := mediaTypes{ + "banner": struct{}{}, + "video": struct{}{}, + } + + tests := []struct { + name string + input []string + expected bool + }{ + { + name: "exact match", + input: []string{"banner"}, + expected: true, + }, + { + name: "case insensitive match", + input: []string{"BANNER"}, + expected: true, + }, + { + name: "multiple with match", + input: []string{"audio", "video"}, + expected: true, + }, + { + name: "no match", + input: []string{"audio", "native"}, + expected: false, + }, + { + name: "empty input", + input: []string{}, + expected: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := mt.intersects(tt.input) + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestValidateCondition(t *testing.T) { + tests := []struct { + name string + condition Conditions + wantErr bool + }{ + { + name: "valid - bidders only", + condition: Conditions{ + Bidders: []string{"bidder1"}, + }, + wantErr: false, + }, + { + name: "valid - media types only", + condition: Conditions{ + MediaTypes: []string{"banner"}, + }, + wantErr: false, + }, + { + name: "valid - both present", + condition: Conditions{ + Bidders: []string{"bidder1"}, + MediaTypes: []string{"banner"}, + }, + wantErr: false, + }, + { + name: "invalid - both absent", + condition: Conditions{}, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := validateCondition(tt.condition) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + }) + } +} + +func TestFilterByMediaType_NoMatches(t *testing.T) { + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Video: &openrtb2.Video{}, + }, + }, + }, + }, + } + + overrides := map[string][]int{ + "imp1": {1, 2, 3}, + } + + // Filter for Banner, but impression has only Video + filtered := filterByMediaType(payload, overrides, func(imp openrtb2.Imp) bool { + return imp.Banner != nil + }) + + assert.Len(t, filtered, 0, "Should not include impressions without matching media type") +} + +func TestCreateBAttrMutation_VideoMediaType(t *testing.T) { + bAttrByImp := map[string][]int{ + "imp1": {1, 2}, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Video: &openrtb2.Video{}, + }, + }, + }, + }, + } + + mutation := createBAttrMutation(bAttrByImp, "video") + updatedPayload, err := mutation(payload) + require.NoError(t, err) + + imp := updatedPayload.Request.BidRequest.Imp[0] + require.NotNil(t, imp.Video) + assert.Len(t, imp.Video.BAttr, 2) + assert.Equal(t, adcom1.CreativeAttribute(1), imp.Video.BAttr[0]) + assert.Equal(t, adcom1.CreativeAttribute(2), imp.Video.BAttr[1]) +} + +func TestCreateBAttrMutation_AudioMediaType(t *testing.T) { + bAttrByImp := map[string][]int{ + "imp1": {7, 8, 9}, + } + + payload := hookstage.BidderRequestPayload{ + Request: &openrtb_ext.RequestWrapper{ + BidRequest: &openrtb2.BidRequest{ + Imp: []openrtb2.Imp{ + { + ID: "imp1", + Audio: &openrtb2.Audio{}, + }, + }, + }, + }, + } + + mutation := createBAttrMutation(bAttrByImp, "audio") + updatedPayload, err := mutation(payload) + require.NoError(t, err) + + imp := updatedPayload.Request.BidRequest.Imp[0] + require.NotNil(t, imp.Audio) + assert.Len(t, imp.Audio.BAttr, 3) + assert.Equal(t, adcom1.CreativeAttribute(7), imp.Audio.BAttr[0]) + assert.Equal(t, adcom1.CreativeAttribute(8), imp.Audio.BAttr[1]) + assert.Equal(t, adcom1.CreativeAttribute(9), imp.Audio.BAttr[2]) +} diff --git a/modules/prebid/ortb2blocking/hook_raw_bidder_response.go b/modules/prebid/ortb2blocking/hook_raw_bidder_response.go index a6ddbdd58..deeb3b029 100644 --- a/modules/prebid/ortb2blocking/hook_raw_bidder_response.go +++ b/modules/prebid/ortb2blocking/hook_raw_bidder_response.go @@ -7,9 +7,9 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" ) func handleRawBidderResponseHook( diff --git a/modules/prebid/ortb2blocking/module.go b/modules/prebid/ortb2blocking/module.go index 24ff28df7..e31c7ccb7 100644 --- a/modules/prebid/ortb2blocking/module.go +++ b/modules/prebid/ortb2blocking/module.go @@ -5,8 +5,8 @@ import ( "encoding/json" "github.com/prebid/openrtb/v20/adcom1" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" ) func Builder(_ json.RawMessage, _ moduledeps.ModuleDeps) (interface{}, error) { diff --git a/modules/prebid/ortb2blocking/module_test.go b/modules/prebid/ortb2blocking/module_test.go index 17008b2da..5a7b4ee27 100644 --- a/modules/prebid/ortb2blocking/module_test.go +++ b/modules/prebid/ortb2blocking/module_test.go @@ -8,12 +8,12 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" - "github.com/prebid/prebid-server/v3/hooks/hookexecution" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/adapters" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/hooks/hookexecution" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/bidder_config_ruleset.go b/modules/prebid/rulesengine/bidder_config_ruleset.go index 888c41c69..59d2c0079 100644 --- a/modules/prebid/rulesengine/bidder_config_ruleset.go +++ b/modules/prebid/rulesengine/bidder_config_ruleset.go @@ -1,7 +1,7 @@ package rulesengine import ( - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/rules" ) // buildBidderConfigRuleSet builds a dynamic ruleset based on the geoscope annotations in the diff --git a/modules/prebid/rulesengine/bidder_config_ruleset_builder.go b/modules/prebid/rulesengine/bidder_config_ruleset_builder.go index 2fe9b705c..85eb01753 100644 --- a/modules/prebid/rulesengine/bidder_config_ruleset_builder.go +++ b/modules/prebid/rulesengine/bidder_config_ruleset_builder.go @@ -6,8 +6,8 @@ import ( "slices" "strings" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/rules" ) type CountryExclusions = map[string][]string diff --git a/modules/prebid/rulesengine/bidder_config_ruleset_builder_test.go b/modules/prebid/rulesengine/bidder_config_ruleset_builder_test.go index e9f9743af..709fe3156 100644 --- a/modules/prebid/rulesengine/bidder_config_ruleset_builder_test.go +++ b/modules/prebid/rulesengine/bidder_config_ruleset_builder_test.go @@ -3,7 +3,7 @@ package rulesengine import ( "testing" - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/rules" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/bidder_config_ruleset_test.go b/modules/prebid/rulesengine/bidder_config_ruleset_test.go index 93af63cd2..081302893 100644 --- a/modules/prebid/rulesengine/bidder_config_ruleset_test.go +++ b/modules/prebid/rulesengine/bidder_config_ruleset_test.go @@ -4,8 +4,8 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/rules" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/cache.go b/modules/prebid/rulesengine/cache.go index 1b09abc1c..2110b0cd6 100644 --- a/modules/prebid/rulesengine/cache.go +++ b/modules/prebid/rulesengine/cache.go @@ -5,7 +5,7 @@ import ( "sync/atomic" "time" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/util/timeutil" ) type accountID = string diff --git a/modules/prebid/rulesengine/cache_entry.go b/modules/prebid/rulesengine/cache_entry.go index 5b995dd6e..5f912d182 100644 --- a/modules/prebid/rulesengine/cache_entry.go +++ b/modules/prebid/rulesengine/cache_entry.go @@ -7,10 +7,10 @@ import ( "errors" "time" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" ) type hash = string diff --git a/modules/prebid/rulesengine/cache_entry_test.go b/modules/prebid/rulesengine/cache_entry_test.go index 481f1a26c..0b3cb8d7d 100644 --- a/modules/prebid/rulesengine/cache_entry_test.go +++ b/modules/prebid/rulesengine/cache_entry_test.go @@ -5,10 +5,10 @@ import ( "errors" "testing" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/config/config.go b/modules/prebid/rulesengine/config/config.go index 0dc4bded5..5654d2044 100644 --- a/modules/prebid/rulesengine/config/config.go +++ b/modules/prebid/rulesengine/config/config.go @@ -7,8 +7,8 @@ import ( "fmt" "path/filepath" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/xeipuuv/gojsonschema" ) diff --git a/modules/prebid/rulesengine/hook_processed_auction.go b/modules/prebid/rulesengine/hook_processed_auction.go index 144b72a94..dad689135 100644 --- a/modules/prebid/rulesengine/hook_processed_auction.go +++ b/modules/prebid/rulesengine/hook_processed_auction.go @@ -3,9 +3,9 @@ package rulesengine import ( "fmt" - hs "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/randomutil" + hs "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/randomutil" ) type RequestWrapper = openrtb_ext.RequestWrapper diff --git a/modules/prebid/rulesengine/hook_processed_auction_test.go b/modules/prebid/rulesengine/hook_processed_auction_test.go index 9cc5fc7f8..711664419 100644 --- a/modules/prebid/rulesengine/hook_processed_auction_test.go +++ b/modules/prebid/rulesengine/hook_processed_auction_test.go @@ -2,9 +2,9 @@ package rulesengine import ( "fmt" - hs "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" + hs "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" "testing" "github.com/stretchr/testify/assert" diff --git a/modules/prebid/rulesengine/module.go b/modules/prebid/rulesengine/module.go index ca63c763b..e0a59245e 100644 --- a/modules/prebid/rulesengine/module.go +++ b/modules/prebid/rulesengine/module.go @@ -8,9 +8,9 @@ import ( "github.com/buger/jsonparser" - hs "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" + hs "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" ) // Builder configures the rules engine module initiating an in-memory cache and kicking diff --git a/modules/prebid/rulesengine/module_test.go b/modules/prebid/rulesengine/module_test.go index 2cf2bd59b..9bffeb881 100644 --- a/modules/prebid/rulesengine/module_test.go +++ b/modules/prebid/rulesengine/module_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/modules/moduledeps" + "github.com/prebid/prebid-server/v4/modules/moduledeps" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/result_functions.go b/modules/prebid/rulesengine/result_functions.go index 64fe23bc4..eef632ba5 100644 --- a/modules/prebid/rulesengine/result_functions.go +++ b/modules/prebid/rulesengine/result_functions.go @@ -5,10 +5,10 @@ import ( "errors" "fmt" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // ProcessedAuctionResultFunc is a type alias for a result function that runs in the processed auction request stage. diff --git a/modules/prebid/rulesengine/result_functions_test.go b/modules/prebid/rulesengine/result_functions_test.go index 1b78471ed..d452f1d83 100644 --- a/modules/prebid/rulesengine/result_functions_test.go +++ b/modules/prebid/rulesengine/result_functions_test.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - hs "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" + hs "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/tree_builder.go b/modules/prebid/rulesengine/tree_builder.go index 438212f06..c74fc095c 100644 --- a/modules/prebid/rulesengine/tree_builder.go +++ b/modules/prebid/rulesengine/tree_builder.go @@ -1,8 +1,8 @@ package rulesengine import ( - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/rules" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/rules" ) // treeBuilder is a custom tree builder for the rules engine module. diff --git a/modules/prebid/rulesengine/tree_builder_test.go b/modules/prebid/rulesengine/tree_builder_test.go index 38fc6a9ae..014c28db9 100644 --- a/modules/prebid/rulesengine/tree_builder_test.go +++ b/modules/prebid/rulesengine/tree_builder_test.go @@ -4,10 +4,10 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/modules/prebid/rulesengine/tree_manager.go b/modules/prebid/rulesengine/tree_manager.go index 35496e759..6aca08c43 100644 --- a/modules/prebid/rulesengine/tree_manager.go +++ b/modules/prebid/rulesengine/tree_manager.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" "github.com/xeipuuv/gojsonschema" ) diff --git a/modules/prebid/rulesengine/tree_manager_test.go b/modules/prebid/rulesengine/tree_manager_test.go index b39707486..4fe7048c1 100644 --- a/modules/prebid/rulesengine/tree_manager_test.go +++ b/modules/prebid/rulesengine/tree_manager_test.go @@ -8,7 +8,7 @@ import ( "time" "github.com/golang/glog" - "github.com/prebid/prebid-server/v3/modules/prebid/rulesengine/config" + "github.com/prebid/prebid-server/v4/modules/prebid/rulesengine/config" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/modules/prebid/rulesengine/tree_test.go b/modules/prebid/rulesengine/tree_test.go index 4769a2fc4..f7d4a318b 100644 --- a/modules/prebid/rulesengine/tree_test.go +++ b/modules/prebid/rulesengine/tree_test.go @@ -5,9 +5,9 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - hs "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/rules" + hs "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/rules" "github.com/stretchr/testify/assert" ) diff --git a/modules/scope3/rtd/masking.go b/modules/scope3/rtd/masking.go index d32689dac..d8123aa20 100644 --- a/modules/scope3/rtd/masking.go +++ b/modules/scope3/rtd/masking.go @@ -4,8 +4,8 @@ import ( "math" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/iterutil" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/iterutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // maskBidRequest creates a deep copy of the bid request with sensitive fields masked diff --git a/modules/scope3/rtd/module.go b/modules/scope3/rtd/module.go index 15fab4fc6..a05396ef5 100644 --- a/modules/scope3/rtd/module.go +++ b/modules/scope3/rtd/module.go @@ -20,12 +20,13 @@ import ( "github.com/coocood/freecache" jsoniter "github.com/json-iterator/go" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/hooks/hookanalytics" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/modules/moduledeps" - "github.com/prebid/prebid-server/v3/util/iterutil" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/hooks/hookanalytics" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/modules/moduledeps" + "github.com/prebid/prebid-server/v4/util/iterutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/tidwall/sjson" ) // Builder is the entry point for the module diff --git a/modules/scope3/rtd/module_test.go b/modules/scope3/rtd/module_test.go index 8b46d3bbb..95b60878d 100644 --- a/modules/scope3/rtd/module_test.go +++ b/modules/scope3/rtd/module_test.go @@ -15,9 +15,10 @@ import ( "github.com/coocood/freecache" "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/hooks/hookstage" - "github.com/prebid/prebid-server/v3/modules/moduledeps" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/hooks/hookstage" + "github.com/prebid/prebid-server/v4/modules/moduledeps" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/modules/shutdown.go b/modules/shutdown.go index ae769ddf5..d8be00b21 100644 --- a/modules/shutdown.go +++ b/modules/shutdown.go @@ -1,7 +1,7 @@ package modules import ( - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) // Shutdowner is an interface that defines a method for shutting down modules. diff --git a/openrtb_ext/convert_down_test.go b/openrtb_ext/convert_down_test.go index 684ae5cda..0d295872c 100644 --- a/openrtb_ext/convert_down_test.go +++ b/openrtb_ext/convert_down_test.go @@ -6,8 +6,8 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/deal_tier.go b/openrtb_ext/deal_tier.go index b0f2675d6..c9818479f 100644 --- a/openrtb_ext/deal_tier.go +++ b/openrtb_ext/deal_tier.go @@ -2,7 +2,7 @@ package openrtb_ext import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // DealTier defines the configuration of a deal tier. diff --git a/openrtb_ext/deal_tier_test.go b/openrtb_ext/deal_tier_test.go index 6808f90a0..f85390ed2 100644 --- a/openrtb_ext/deal_tier_test.go +++ b/openrtb_ext/deal_tier_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/device.go b/openrtb_ext/device.go index 2107a3081..feb362e50 100644 --- a/openrtb_ext/device.go +++ b/openrtb_ext/device.go @@ -6,7 +6,7 @@ import ( "strconv" "github.com/buger/jsonparser" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) // PrebidExtKey represents the prebid extension key used in requests diff --git a/openrtb_ext/device_test.go b/openrtb_ext/device_test.go index 52b679fda..d63487614 100644 --- a/openrtb_ext/device_test.go +++ b/openrtb_ext/device_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/floors.go b/openrtb_ext/floors.go index 1faa62923..93667e7d3 100644 --- a/openrtb_ext/floors.go +++ b/openrtb_ext/floors.go @@ -4,7 +4,7 @@ import ( "maps" "slices" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) // Defines strings for FetchStatus diff --git a/openrtb_ext/floors_test.go b/openrtb_ext/floors_test.go index df7d1e5dc..e80ba28a0 100644 --- a/openrtb_ext/floors_test.go +++ b/openrtb_ext/floors_test.go @@ -4,7 +4,7 @@ import ( "reflect" "testing" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/imp_appnexus.go b/openrtb_ext/imp_appnexus.go index bde37bdc9..e5c43fcf5 100644 --- a/openrtb_ext/imp_appnexus.go +++ b/openrtb_ext/imp_appnexus.go @@ -5,7 +5,7 @@ import ( "fmt" "strings" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // ExtImpAppnexus defines the contract for bidrequest.imp[i].ext.prebid.bidder.appnexus diff --git a/openrtb_ext/imp_appnexus_test.go b/openrtb_ext/imp_appnexus_test.go index 52e42d4d5..5cf268a79 100644 --- a/openrtb_ext/imp_appnexus_test.go +++ b/openrtb_ext/imp_appnexus_test.go @@ -3,7 +3,7 @@ package openrtb_ext import ( "testing" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/imp_connectad.go b/openrtb_ext/imp_connectad.go index 4affaed1e..528636f49 100644 --- a/openrtb_ext/imp_connectad.go +++ b/openrtb_ext/imp_connectad.go @@ -1,6 +1,6 @@ package openrtb_ext -import "github.com/prebid/prebid-server/v3/util/jsonutil" +import "github.com/prebid/prebid-server/v4/util/jsonutil" type ExtImpConnectAd struct { NetworkID jsonutil.StringInt `json:"networkId"` diff --git a/openrtb_ext/imp_freewheelssp.go b/openrtb_ext/imp_freewheelssp.go index 5ed1f6260..78040d7bd 100644 --- a/openrtb_ext/imp_freewheelssp.go +++ b/openrtb_ext/imp_freewheelssp.go @@ -1,7 +1,7 @@ package openrtb_ext import ( - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type ImpExtFreewheelSSP struct { diff --git a/openrtb_ext/imp_goldbach.go b/openrtb_ext/imp_goldbach.go new file mode 100644 index 000000000..512b7883e --- /dev/null +++ b/openrtb_ext/imp_goldbach.go @@ -0,0 +1,35 @@ +package openrtb_ext + +import ( + "fmt" + + "github.com/prebid/prebid-server/v4/util/jsonutil" +) + +type ImpExtGoldbach struct { + PublisherID string `json:"publisherId"` + SlotID string `json:"slotId"` + CustomTargeting map[string]stringOrStringArray `json:"customTargeting,omitempty"` +} + +// stringOrStringArray is a custom type that can hold either a single value of type T or an array of values of type T. +type stringOrStringArray []string + +func (t *stringOrStringArray) UnmarshalJSON(b []byte) error { + // try to unmarshal as a single value of type T first + var itemResult string + if err := jsonutil.UnmarshalValid(b, &itemResult); err == nil { + *t = []string{itemResult} + return nil + } + + // then try to unmarshal as an array of type T + var arrayResult []string + if err := jsonutil.UnmarshalValid(b, &arrayResult); err == nil { + *t = arrayResult + return nil + } + + // if both attempts fail, return an error + return fmt.Errorf("value should be of type %T or %T", itemResult, arrayResult) +} diff --git a/openrtb_ext/imp_pulsepoint.go b/openrtb_ext/imp_pulsepoint.go index a372e3765..9be3a3694 100644 --- a/openrtb_ext/imp_pulsepoint.go +++ b/openrtb_ext/imp_pulsepoint.go @@ -1,7 +1,7 @@ package openrtb_ext import ( - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // ExtImpPulsePoint defines the json spec for bidrequest.imp[i].ext.prebid.bidder.pulsepoint diff --git a/openrtb_ext/multibid_test.go b/openrtb_ext/multibid_test.go index 5a5526531..9e8de09d9 100644 --- a/openrtb_ext/multibid_test.go +++ b/openrtb_ext/multibid_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/regs_test.go b/openrtb_ext/regs_test.go index 064282c1f..ed998054a 100644 --- a/openrtb_ext/regs_test.go +++ b/openrtb_ext/regs_test.go @@ -3,7 +3,7 @@ package openrtb_ext import ( "testing" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/request.go b/openrtb_ext/request.go index 7f8978e6e..6d51d4214 100644 --- a/openrtb_ext/request.go +++ b/openrtb_ext/request.go @@ -7,8 +7,8 @@ import ( "slices" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) // FirstPartyDataExtKey defines a field name within request.ext and request.imp.ext reserved for first party data. diff --git a/openrtb_ext/request_test.go b/openrtb_ext/request_test.go index 92f148db4..b0c09f6c5 100644 --- a/openrtb_ext/request_test.go +++ b/openrtb_ext/request_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/request_wrapper.go b/openrtb_ext/request_wrapper.go index 7b73d3186..52ed2ba91 100644 --- a/openrtb_ext/request_wrapper.go +++ b/openrtb_ext/request_wrapper.go @@ -7,8 +7,8 @@ import ( "slices" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) // RequestWrapper wraps the OpenRTB request to provide a storage location for unmarshalled ext fields, so they diff --git a/openrtb_ext/request_wrapper_test.go b/openrtb_ext/request_wrapper_test.go index e4c14b603..ca332679b 100644 --- a/openrtb_ext/request_wrapper_test.go +++ b/openrtb_ext/request_wrapper_test.go @@ -5,8 +5,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/site_test.go b/openrtb_ext/site_test.go index e06c0e67b..e76e06c8c 100644 --- a/openrtb_ext/site_test.go +++ b/openrtb_ext/site_test.go @@ -3,8 +3,8 @@ package openrtb_ext_test import ( "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/openrtb_ext/supplyChain.go b/openrtb_ext/supplyChain.go index 0051d647f..b8abdb4c3 100644 --- a/openrtb_ext/supplyChain.go +++ b/openrtb_ext/supplyChain.go @@ -2,7 +2,7 @@ package openrtb_ext import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) func cloneSupplyChain(schain *openrtb2.SupplyChain) *openrtb2.SupplyChain { diff --git a/openrtb_ext/supplyChain_test.go b/openrtb_ext/supplyChain_test.go index 1adfaf8f6..86c2741da 100644 --- a/openrtb_ext/supplyChain_test.go +++ b/openrtb_ext/supplyChain_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/ortb/clone.go b/ortb/clone.go index 07eaf2886..8a0f505ac 100644 --- a/ortb/clone.go +++ b/ortb/clone.go @@ -4,7 +4,7 @@ import ( "slices" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) func CloneDataSlice(s []openrtb2.Data) []openrtb2.Data { diff --git a/ortb/clone_test.go b/ortb/clone_test.go index 14bdc0bb1..5f86b5121 100644 --- a/ortb/clone_test.go +++ b/ortb/clone_test.go @@ -7,7 +7,7 @@ import ( "github.com/prebid/openrtb/v20/adcom1" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/ortb/default.go b/ortb/default.go index f6cc97904..43e787f39 100644 --- a/ortb/default.go +++ b/ortb/default.go @@ -1,8 +1,8 @@ package ortb import ( - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) const ( diff --git a/ortb/default_test.go b/ortb/default_test.go index b03f546fd..cb6af876b 100644 --- a/ortb/default_test.go +++ b/ortb/default_test.go @@ -8,10 +8,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" ) func TestSetDefaults(t *testing.T) { diff --git a/ortb/request_validator.go b/ortb/request_validator.go index e959caa93..57ba91ff2 100644 --- a/ortb/request_validator.go +++ b/ortb/request_validator.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/stored_responses" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/stored_responses" ) type ValidationConfig struct { diff --git a/ortb/request_validator_banner.go b/ortb/request_validator_banner.go index fea68121a..c4cf9a2be 100644 --- a/ortb/request_validator_banner.go +++ b/ortb/request_validator_banner.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) func isInterstitial(imp *openrtb_ext.ImpWrapper) bool { diff --git a/ortb/request_validator_banner_test.go b/ortb/request_validator_banner_test.go index e131c32e9..a02830546 100644 --- a/ortb/request_validator_banner_test.go +++ b/ortb/request_validator_banner_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/ortb/request_validator_native.go b/ortb/request_validator_native.go index 1209a1391..7d6ff74af 100644 --- a/ortb/request_validator_native.go +++ b/ortb/request_validator_native.go @@ -8,8 +8,8 @@ import ( "github.com/prebid/openrtb/v20/native1" nativeRequests "github.com/prebid/openrtb/v20/native1/request" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) // fillAndValidateNative validates the request, and assigns the Asset IDs as recommended by the Native v1.2 spec. diff --git a/ortb/request_validator_test.go b/ortb/request_validator_test.go index c2b6ea3c7..4c548a7cc 100644 --- a/ortb/request_validator_test.go +++ b/ortb/request_validator_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/ortb/request_validator_video_test.go b/ortb/request_validator_video_test.go index 3d579e2c7..c8f8e4e9b 100644 --- a/ortb/request_validator_video_test.go +++ b/ortb/request_validator_video_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/pbs/usersync.go b/pbs/usersync.go index 2a88ecc7b..d3cc12a0a 100644 --- a/pbs/usersync.go +++ b/pbs/usersync.go @@ -11,9 +11,9 @@ import ( "strings" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/usersync" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/usersync" ) // Recaptcha code from https://github.com/haisum/recaptcha/blob/master/recaptcha.go diff --git a/prebid_cache_client/client.go b/prebid_cache_client/client.go index adc57b97a..07548cc53 100644 --- a/prebid_cache_client/client.go +++ b/prebid_cache_client/client.go @@ -12,9 +12,9 @@ import ( "strings" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" "github.com/buger/jsonparser" "golang.org/x/net/context/ctxhttp" diff --git a/prebid_cache_client/client_test.go b/prebid_cache_client/client_test.go index 31fc05d30..1b6e14699 100644 --- a/prebid_cache_client/client_test.go +++ b/prebid_cache_client/client_test.go @@ -10,10 +10,10 @@ import ( "strconv" "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - metricsConf "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + metricsConf "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" diff --git a/privacy/activitycontrol.go b/privacy/activitycontrol.go index 674d75198..4f3d5b1a5 100644 --- a/privacy/activitycontrol.go +++ b/privacy/activitycontrol.go @@ -1,8 +1,8 @@ package privacy import ( - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) type ActivityResult int diff --git a/privacy/activitycontrol_test.go b/privacy/activitycontrol_test.go index add20ad2c..8a8d6a03c 100644 --- a/privacy/activitycontrol_test.go +++ b/privacy/activitycontrol_test.go @@ -3,9 +3,9 @@ package privacy import ( "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/privacy/ccpa/consentwriter_test.go b/privacy/ccpa/consentwriter_test.go index 6d0b89e24..e087cd13a 100644 --- a/privacy/ccpa/consentwriter_test.go +++ b/privacy/ccpa/consentwriter_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/privacy/ccpa/parsedpolicy.go b/privacy/ccpa/parsedpolicy.go index 98b04a163..c442bd4d2 100644 --- a/privacy/ccpa/parsedpolicy.go +++ b/privacy/ccpa/parsedpolicy.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) const ( diff --git a/privacy/ccpa/policy.go b/privacy/ccpa/policy.go index b4841a174..a32c41cc3 100644 --- a/privacy/ccpa/policy.go +++ b/privacy/ccpa/policy.go @@ -7,9 +7,9 @@ import ( gpplib "github.com/prebid/go-gpp" gppConstants "github.com/prebid/go-gpp/constants" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - gppPolicy "github.com/prebid/prebid-server/v3/privacy/gpp" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + gppPolicy "github.com/prebid/prebid-server/v4/privacy/gpp" ) // Policy represents the CCPA regulatory information from an OpenRTB bid request. diff --git a/privacy/ccpa/policy_test.go b/privacy/ccpa/policy_test.go index 89bb2ccf0..5274c566f 100644 --- a/privacy/ccpa/policy_test.go +++ b/privacy/ccpa/policy_test.go @@ -8,7 +8,7 @@ import ( gpplib "github.com/prebid/go-gpp" gppConstants "github.com/prebid/go-gpp/constants" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/privacy/lmt/ios.go b/privacy/lmt/ios.go index 7778a02d0..ccfa409f0 100644 --- a/privacy/lmt/ios.go +++ b/privacy/lmt/ios.go @@ -4,8 +4,8 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/iosutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/iosutil" ) var ( diff --git a/privacy/lmt/ios_test.go b/privacy/lmt/ios_test.go index 42636759e..e0c98c5b6 100644 --- a/privacy/lmt/ios_test.go +++ b/privacy/lmt/ios_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/util/iosutil" + "github.com/prebid/prebid-server/v4/util/iosutil" "github.com/stretchr/testify/assert" ) diff --git a/privacy/rule_condition_test.go b/privacy/rule_condition_test.go index 97bdeef35..aaa6ac51f 100644 --- a/privacy/rule_condition_test.go +++ b/privacy/rule_condition_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/privacy/scrubber.go b/privacy/scrubber.go index ccc157a09..e845fc06a 100644 --- a/privacy/scrubber.go +++ b/privacy/scrubber.go @@ -4,12 +4,12 @@ import ( "encoding/json" "net" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/iputil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/iputil" ) type IPConf struct { diff --git a/privacy/scrubber_test.go b/privacy/scrubber_test.go index ccb065bcc..0c8813b5d 100644 --- a/privacy/scrubber_test.go +++ b/privacy/scrubber_test.go @@ -5,8 +5,8 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/privacysandbox/topics.go b/privacysandbox/topics.go index 3ed620b4b..848332131 100644 --- a/privacysandbox/topics.go +++ b/privacysandbox/topics.go @@ -8,8 +8,8 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type Topic struct { diff --git a/privacysandbox/topics_test.go b/privacysandbox/topics_test.go index 73d5ef0c1..64c1de0ec 100644 --- a/privacysandbox/topics_test.go +++ b/privacysandbox/topics_test.go @@ -6,7 +6,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" "github.com/stretchr/testify/assert" ) diff --git a/router/admin.go b/router/admin.go index a90e5f233..875145221 100644 --- a/router/admin.go +++ b/router/admin.go @@ -5,9 +5,9 @@ import ( "net/http/pprof" "time" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/endpoints" - "github.com/prebid/prebid-server/v3/version" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/endpoints" + "github.com/prebid/prebid-server/v4/version" ) func Admin(rateConverter *currency.RateConverter, rateConverterFetchingInterval time.Duration) *http.ServeMux { diff --git a/router/aspects/request_timeout_handler.go b/router/aspects/request_timeout_handler.go index 0a4d147d9..6dee25a52 100644 --- a/router/aspects/request_timeout_handler.go +++ b/router/aspects/request_timeout_handler.go @@ -6,8 +6,8 @@ import ( "time" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" ) func QueuedRequestTimeout(f httprouter.Handle, reqTimeoutHeaders config.RequestTimeoutHeaders, metricsEngine metrics.MetricsEngine, requestType metrics.RequestType) httprouter.Handle { diff --git a/router/aspects/request_timeout_handler_test.go b/router/aspects/request_timeout_handler_test.go index 2ac8f36ae..2cfb14480 100644 --- a/router/aspects/request_timeout_handler_test.go +++ b/router/aspects/request_timeout_handler_test.go @@ -8,8 +8,8 @@ import ( "time" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" "github.com/stretchr/testify/assert" ) diff --git a/router/router.go b/router/router.go index 45099477f..bdb7a5134 100644 --- a/router/router.go +++ b/router/router.go @@ -12,36 +12,36 @@ import ( "time" openrtb2model "github.com/prebid/openrtb/v20/openrtb2" - analyticsBuild "github.com/prebid/prebid-server/v3/analytics/build" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/currency" - "github.com/prebid/prebid-server/v3/endpoints" - "github.com/prebid/prebid-server/v3/endpoints/events" - infoEndpoints "github.com/prebid/prebid-server/v3/endpoints/info" - "github.com/prebid/prebid-server/v3/endpoints/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/exchange" - "github.com/prebid/prebid-server/v3/experiment/adscert" - "github.com/prebid/prebid-server/v3/floors" - "github.com/prebid/prebid-server/v3/gdpr" - "github.com/prebid/prebid-server/v3/hooks" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/metrics" - metricsConf "github.com/prebid/prebid-server/v3/metrics/config" - "github.com/prebid/prebid-server/v3/modules" - "github.com/prebid/prebid-server/v3/modules/moduledeps" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/ortb" - "github.com/prebid/prebid-server/v3/pbs" - pbc "github.com/prebid/prebid-server/v3/prebid_cache_client" - "github.com/prebid/prebid-server/v3/router/aspects" - "github.com/prebid/prebid-server/v3/server/ssl" - storedRequestsConf "github.com/prebid/prebid-server/v3/stored_requests/config" - "github.com/prebid/prebid-server/v3/usersync" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/uuidutil" - "github.com/prebid/prebid-server/v3/version" + analyticsBuild "github.com/prebid/prebid-server/v4/analytics/build" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/currency" + "github.com/prebid/prebid-server/v4/endpoints" + "github.com/prebid/prebid-server/v4/endpoints/events" + infoEndpoints "github.com/prebid/prebid-server/v4/endpoints/info" + "github.com/prebid/prebid-server/v4/endpoints/openrtb2" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/exchange" + "github.com/prebid/prebid-server/v4/experiment/adscert" + "github.com/prebid/prebid-server/v4/floors" + "github.com/prebid/prebid-server/v4/gdpr" + "github.com/prebid/prebid-server/v4/hooks" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/macros" + "github.com/prebid/prebid-server/v4/metrics" + metricsConf "github.com/prebid/prebid-server/v4/metrics/config" + "github.com/prebid/prebid-server/v4/modules" + "github.com/prebid/prebid-server/v4/modules/moduledeps" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/ortb" + "github.com/prebid/prebid-server/v4/pbs" + pbc "github.com/prebid/prebid-server/v4/prebid_cache_client" + "github.com/prebid/prebid-server/v4/router/aspects" + "github.com/prebid/prebid-server/v4/server/ssl" + storedRequestsConf "github.com/prebid/prebid-server/v4/stored_requests/config" + "github.com/prebid/prebid-server/v4/usersync" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/uuidutil" + "github.com/prebid/prebid-server/v4/version" _ "github.com/go-sql-driver/mysql" "github.com/julienschmidt/httprouter" diff --git a/router/router_test.go b/router/router_test.go index 256674460..6023f7ae0 100644 --- a/router/router_test.go +++ b/router/router_test.go @@ -8,9 +8,9 @@ import ( "testing" jsoniter "github.com/json-iterator/go" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/rules/schema_functions.go b/rules/schema_functions.go index 5b57e589b..400c75593 100644 --- a/rules/schema_functions.go +++ b/rules/schema_functions.go @@ -7,10 +7,10 @@ import ( "github.com/buger/jsonparser" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/util/randomutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/randomutil" ) const ( diff --git a/rules/schema_functions_test.go b/rules/schema_functions_test.go index 2277c3754..378c2ef9b 100644 --- a/rules/schema_functions_test.go +++ b/rules/schema_functions_test.go @@ -7,10 +7,10 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" - "github.com/prebid/prebid-server/v3/util/randomutil" + "github.com/prebid/prebid-server/v4/errortypes" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/randomutil" "github.com/stretchr/testify/assert" ) diff --git a/schain/schain.go b/schain/schain.go index cdd1e1444..e88d47c14 100644 --- a/schain/schain.go +++ b/schain/schain.go @@ -5,7 +5,7 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // BidderToPrebidSChains organizes the ORTB 2.5 multiple root schain nodes into a map of schain nodes by bidder diff --git a/schain/schain_test.go b/schain/schain_test.go index f112c9ec7..040522d8f 100644 --- a/schain/schain_test.go +++ b/schain/schain_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/schain/schainwriter.go b/schain/schainwriter.go index 37b62c993..36a9810a1 100644 --- a/schain/schainwriter.go +++ b/schain/schainwriter.go @@ -2,7 +2,7 @@ package schain import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // NewSChainWriter creates an ORTB 2.5 schain writer instance diff --git a/schain/schainwriter_test.go b/schain/schainwriter_test.go index 69fda9590..ef1e02e52 100644 --- a/schain/schainwriter_test.go +++ b/schain/schainwriter_test.go @@ -4,8 +4,8 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" diff --git a/server/listener.go b/server/listener.go index ece1a6ec3..3bdeb176f 100644 --- a/server/listener.go +++ b/server/listener.go @@ -5,8 +5,8 @@ import ( "strings" "time" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" ) // monitorableListener tracks any opened connections in the metrics. diff --git a/server/listener_test.go b/server/listener_test.go index 293890a1e..b54ae35de 100644 --- a/server/listener_test.go +++ b/server/listener_test.go @@ -6,8 +6,8 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" gometrics "github.com/rcrowley/go-metrics" ) diff --git a/server/prometheus.go b/server/prometheus.go index 332eebdd1..2ddcc55a7 100644 --- a/server/prometheus.go +++ b/server/prometheus.go @@ -5,9 +5,9 @@ import ( "net/http" "strconv" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - metricsconfig "github.com/prebid/prebid-server/v3/metrics/config" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + metricsconfig "github.com/prebid/prebid-server/v4/metrics/config" "github.com/prometheus/client_golang/prometheus/promhttp" ) diff --git a/server/server.go b/server/server.go index f46fdc8cf..cb3cdaf7d 100644 --- a/server/server.go +++ b/server/server.go @@ -12,10 +12,10 @@ import ( "time" "github.com/NYTimes/gziphandler" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - metricsconfig "github.com/prebid/prebid-server/v3/metrics/config" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + metricsconfig "github.com/prebid/prebid-server/v4/metrics/config" ) // Listen blocks forever, serving PBS requests on the given port. This will block forever, until the process is shut down. diff --git a/server/server_test.go b/server/server_test.go index 6d2a3335e..389b9884d 100644 --- a/server/server_test.go +++ b/server/server_test.go @@ -9,8 +9,8 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - metricsconfig "github.com/prebid/prebid-server/v3/metrics/config" + "github.com/prebid/prebid-server/v4/config" + metricsconfig "github.com/prebid/prebid-server/v4/metrics/config" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/stored_requests/backends/db_fetcher/fetcher.go b/stored_requests/backends/db_fetcher/fetcher.go index fc16ca490..13c5cb00b 100644 --- a/stored_requests/backends/db_fetcher/fetcher.go +++ b/stored_requests/backends/db_fetcher/fetcher.go @@ -5,9 +5,9 @@ import ( "encoding/json" "github.com/lib/pq" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_provider" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_provider" ) func NewFetcher( diff --git a/stored_requests/backends/db_fetcher/fetcher_test.go b/stored_requests/backends/db_fetcher/fetcher_test.go index 6da09abf7..1f4464bcb 100644 --- a/stored_requests/backends/db_fetcher/fetcher_test.go +++ b/stored_requests/backends/db_fetcher/fetcher_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_provider" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_provider" "github.com/stretchr/testify/assert" ) diff --git a/stored_requests/backends/db_provider/db_provider.go b/stored_requests/backends/db_provider/db_provider.go index be460bc35..cffdee24d 100644 --- a/stored_requests/backends/db_provider/db_provider.go +++ b/stored_requests/backends/db_provider/db_provider.go @@ -4,8 +4,8 @@ import ( "context" "database/sql" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" ) type DbProvider interface { diff --git a/stored_requests/backends/db_provider/db_provider_mock.go b/stored_requests/backends/db_provider/db_provider_mock.go index 1b1c1ff60..37dd33f36 100644 --- a/stored_requests/backends/db_provider/db_provider_mock.go +++ b/stored_requests/backends/db_provider/db_provider_mock.go @@ -6,7 +6,7 @@ import ( "reflect" "github.com/DATA-DOG/go-sqlmock" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) func NewDbProviderMock() (*DbProviderMock, sqlmock.Sqlmock, error) { diff --git a/stored_requests/backends/db_provider/mysql_dbprovider.go b/stored_requests/backends/db_provider/mysql_dbprovider.go index bdcfacbae..5071156f2 100644 --- a/stored_requests/backends/db_provider/mysql_dbprovider.go +++ b/stored_requests/backends/db_provider/mysql_dbprovider.go @@ -15,7 +15,7 @@ import ( "strings" "github.com/go-sql-driver/mysql" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) const customTLSKey = "prebid-tls" diff --git a/stored_requests/backends/db_provider/mysql_dbprovider_test.go b/stored_requests/backends/db_provider/mysql_dbprovider_test.go index c12d7f5ab..474c36e4e 100644 --- a/stored_requests/backends/db_provider/mysql_dbprovider_test.go +++ b/stored_requests/backends/db_provider/mysql_dbprovider_test.go @@ -6,7 +6,7 @@ import ( "runtime" "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/stored_requests/backends/db_provider/postgres_dbprovider.go b/stored_requests/backends/db_provider/postgres_dbprovider.go index c94632a0f..e58b336e4 100644 --- a/stored_requests/backends/db_provider/postgres_dbprovider.go +++ b/stored_requests/backends/db_provider/postgres_dbprovider.go @@ -10,7 +10,7 @@ import ( "strconv" "strings" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) type PostgresDbProvider struct { diff --git a/stored_requests/backends/db_provider/postgres_dbprovider_test.go b/stored_requests/backends/db_provider/postgres_dbprovider_test.go index 1be77d0d2..8fed6b87a 100644 --- a/stored_requests/backends/db_provider/postgres_dbprovider_test.go +++ b/stored_requests/backends/db_provider/postgres_dbprovider_test.go @@ -4,7 +4,7 @@ import ( "errors" "testing" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" "github.com/stretchr/testify/assert" ) diff --git a/stored_requests/backends/empty_fetcher/fetcher.go b/stored_requests/backends/empty_fetcher/fetcher.go index 405903e53..79de895ab 100644 --- a/stored_requests/backends/empty_fetcher/fetcher.go +++ b/stored_requests/backends/empty_fetcher/fetcher.go @@ -4,7 +4,7 @@ import ( "context" "encoding/json" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests" ) // EmptyFetcher is a nil-object which has no Stored Requests. diff --git a/stored_requests/backends/file_fetcher/fetcher.go b/stored_requests/backends/file_fetcher/fetcher.go index 6bb8bc144..615135f2d 100644 --- a/stored_requests/backends/file_fetcher/fetcher.go +++ b/stored_requests/backends/file_fetcher/fetcher.go @@ -8,8 +8,8 @@ import ( "os" "strings" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/jsonutil" jsonpatch "gopkg.in/evanphx/json-patch.v5" ) diff --git a/stored_requests/backends/file_fetcher/fetcher_test.go b/stored_requests/backends/file_fetcher/fetcher_test.go index 735045dd9..8ca38aa87 100644 --- a/stored_requests/backends/file_fetcher/fetcher_test.go +++ b/stored_requests/backends/file_fetcher/fetcher_test.go @@ -6,8 +6,8 @@ import ( "fmt" "testing" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/stored_requests/backends/http_fetcher/fetcher.go b/stored_requests/backends/http_fetcher/fetcher.go index 1950f2c3e..a0e6daba5 100644 --- a/stored_requests/backends/http_fetcher/fetcher.go +++ b/stored_requests/backends/http_fetcher/fetcher.go @@ -9,9 +9,9 @@ import ( "net/url" "strings" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/util/jsonutil" "golang.org/x/net/context/ctxhttp" jsonpatch "gopkg.in/evanphx/json-patch.v5" ) diff --git a/stored_requests/backends/http_fetcher/fetcher_test.go b/stored_requests/backends/http_fetcher/fetcher_test.go index 6dfa12b25..e98032480 100644 --- a/stored_requests/backends/http_fetcher/fetcher_test.go +++ b/stored_requests/backends/http_fetcher/fetcher_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/stored_requests/caches/cachestest/reliable.go b/stored_requests/caches/cachestest/reliable.go index f4042e28c..abea2dbff 100644 --- a/stored_requests/caches/cachestest/reliable.go +++ b/stored_requests/caches/cachestest/reliable.go @@ -5,7 +5,7 @@ import ( "encoding/json" "testing" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests" ) const ( diff --git a/stored_requests/caches/memory/cache.go b/stored_requests/caches/memory/cache.go index bae7a7ddc..42d26e3e8 100644 --- a/stored_requests/caches/memory/cache.go +++ b/stored_requests/caches/memory/cache.go @@ -6,8 +6,8 @@ import ( "sync" "github.com/coocood/freecache" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/stored_requests" ) // NewCache returns an in-memory Cache which evicts items if: diff --git a/stored_requests/caches/memory/cache_test.go b/stored_requests/caches/memory/cache_test.go index 91548e469..26eab878e 100644 --- a/stored_requests/caches/memory/cache_test.go +++ b/stored_requests/caches/memory/cache_test.go @@ -7,8 +7,8 @@ import ( "strconv" "testing" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/caches/cachestest" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/caches/cachestest" ) func TestLRURobustness(t *testing.T) { diff --git a/stored_requests/caches/memory/maps.go b/stored_requests/caches/memory/maps.go index adf5b2a90..501dc5ccb 100644 --- a/stored_requests/caches/memory/maps.go +++ b/stored_requests/caches/memory/maps.go @@ -5,7 +5,7 @@ import ( "sync" "github.com/coocood/freecache" - "github.com/prebid/prebid-server/v3/logger" + "github.com/prebid/prebid-server/v4/logger" ) // This file contains an interface and some wrapper types for various types of "map-like" structures diff --git a/stored_requests/config/config.go b/stored_requests/config/config.go index 5ff729cdd..87802589e 100644 --- a/stored_requests/config/config.go +++ b/stored_requests/config/config.go @@ -6,22 +6,22 @@ import ( "time" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_fetcher" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_provider" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/stored_requests/backends/file_fetcher" - "github.com/prebid/prebid-server/v3/stored_requests/backends/http_fetcher" - "github.com/prebid/prebid-server/v3/stored_requests/caches/memory" - "github.com/prebid/prebid-server/v3/stored_requests/caches/nil_cache" - "github.com/prebid/prebid-server/v3/stored_requests/events" - apiEvents "github.com/prebid/prebid-server/v3/stored_requests/events/api" - databaseEvents "github.com/prebid/prebid-server/v3/stored_requests/events/database" - httpEvents "github.com/prebid/prebid-server/v3/stored_requests/events/http" - "github.com/prebid/prebid-server/v3/util/task" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_fetcher" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_provider" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/stored_requests/backends/file_fetcher" + "github.com/prebid/prebid-server/v4/stored_requests/backends/http_fetcher" + "github.com/prebid/prebid-server/v4/stored_requests/caches/memory" + "github.com/prebid/prebid-server/v4/stored_requests/caches/nil_cache" + "github.com/prebid/prebid-server/v4/stored_requests/events" + apiEvents "github.com/prebid/prebid-server/v4/stored_requests/events/api" + databaseEvents "github.com/prebid/prebid-server/v4/stored_requests/events/database" + httpEvents "github.com/prebid/prebid-server/v4/stored_requests/events/http" + "github.com/prebid/prebid-server/v4/util/task" ) // CreateStoredRequests returns three things: diff --git a/stored_requests/config/config_test.go b/stored_requests/config/config_test.go index 87b396c92..913f8c395 100644 --- a/stored_requests/config/config_test.go +++ b/stored_requests/config/config_test.go @@ -13,14 +13,14 @@ import ( sqlmock "github.com/DATA-DOG/go-sqlmock" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_provider" - "github.com/prebid/prebid-server/v3/stored_requests/backends/empty_fetcher" - "github.com/prebid/prebid-server/v3/stored_requests/backends/http_fetcher" - "github.com/prebid/prebid-server/v3/stored_requests/events" - httpEvents "github.com/prebid/prebid-server/v3/stored_requests/events/http" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_provider" + "github.com/prebid/prebid-server/v4/stored_requests/backends/empty_fetcher" + "github.com/prebid/prebid-server/v4/stored_requests/backends/http_fetcher" + "github.com/prebid/prebid-server/v4/stored_requests/events" + httpEvents "github.com/prebid/prebid-server/v4/stored_requests/events/http" "github.com/stretchr/testify/mock" ) diff --git a/stored_requests/events/api/api.go b/stored_requests/events/api/api.go index c9f87e0ae..652399717 100644 --- a/stored_requests/events/api/api.go +++ b/stored_requests/events/api/api.go @@ -5,8 +5,8 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/prebid/prebid-server/v3/stored_requests/events" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/stored_requests/events" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type eventsAPI struct { diff --git a/stored_requests/events/api/api_test.go b/stored_requests/events/api/api_test.go index c5d67a9b8..87a516f79 100644 --- a/stored_requests/events/api/api_test.go +++ b/stored_requests/events/api/api_test.go @@ -9,9 +9,9 @@ import ( "strings" "testing" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/caches/memory" - "github.com/prebid/prebid-server/v3/stored_requests/events" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/caches/memory" + "github.com/prebid/prebid-server/v4/stored_requests/events" ) func TestGoodRequests(t *testing.T) { diff --git a/stored_requests/events/database/database.go b/stored_requests/events/database/database.go index 1ab768c97..c29bc4a85 100644 --- a/stored_requests/events/database/database.go +++ b/stored_requests/events/database/database.go @@ -8,12 +8,12 @@ import ( "net" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_provider" - "github.com/prebid/prebid-server/v3/stored_requests/events" - "github.com/prebid/prebid-server/v3/util/timeutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_provider" + "github.com/prebid/prebid-server/v4/stored_requests/events" + "github.com/prebid/prebid-server/v4/util/timeutil" ) func bytesNull() []byte { diff --git a/stored_requests/events/database/database_test.go b/stored_requests/events/database/database_test.go index ffe02851c..0c09f376d 100644 --- a/stored_requests/events/database/database_test.go +++ b/stored_requests/events/database/database_test.go @@ -7,10 +7,10 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/stored_requests/backends/db_provider" - "github.com/prebid/prebid-server/v3/stored_requests/events" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/stored_requests/backends/db_provider" + "github.com/prebid/prebid-server/v4/stored_requests/events" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" diff --git a/stored_requests/events/events.go b/stored_requests/events/events.go index e96692826..f0d30878c 100644 --- a/stored_requests/events/events.go +++ b/stored_requests/events/events.go @@ -4,7 +4,7 @@ import ( "context" "encoding/json" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests" ) // Save represents a bulk save diff --git a/stored_requests/events/events_test.go b/stored_requests/events/events_test.go index 4520a3325..9f977c8e9 100644 --- a/stored_requests/events/events_test.go +++ b/stored_requests/events/events_test.go @@ -7,8 +7,8 @@ import ( "reflect" "testing" - "github.com/prebid/prebid-server/v3/stored_requests" - "github.com/prebid/prebid-server/v3/stored_requests/caches/memory" + "github.com/prebid/prebid-server/v4/stored_requests" + "github.com/prebid/prebid-server/v4/stored_requests/caches/memory" ) func TestListen(t *testing.T) { diff --git a/stored_requests/events/http/http.go b/stored_requests/events/http/http.go index f987afb65..2765cb4aa 100644 --- a/stored_requests/events/http/http.go +++ b/stored_requests/events/http/http.go @@ -10,9 +10,9 @@ import ( "time" "github.com/buger/jsonparser" - "github.com/prebid/prebid-server/v3/logger" - "github.com/prebid/prebid-server/v3/stored_requests/events" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/logger" + "github.com/prebid/prebid-server/v4/stored_requests/events" + "github.com/prebid/prebid-server/v4/util/jsonutil" "golang.org/x/net/context/ctxhttp" ) diff --git a/stored_requests/events/http/http_test.go b/stored_requests/events/http/http_test.go index 90fd61371..925448468 100644 --- a/stored_requests/events/http/http_test.go +++ b/stored_requests/events/http/http_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" "github.com/stretchr/testify/assert" ) diff --git a/stored_requests/fetcher.go b/stored_requests/fetcher.go index 343e1f82d..2abfb3305 100644 --- a/stored_requests/fetcher.go +++ b/stored_requests/fetcher.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" - "github.com/prebid/prebid-server/v3/metrics" + "github.com/prebid/prebid-server/v4/metrics" ) // Fetcher knows how to fetch Stored Request data by id. diff --git a/stored_requests/fetcher_test.go b/stored_requests/fetcher_test.go index c97340cbd..4481600e9 100644 --- a/stored_requests/fetcher_test.go +++ b/stored_requests/fetcher_test.go @@ -6,8 +6,8 @@ import ( "errors" "testing" - "github.com/prebid/prebid-server/v3/metrics" - "github.com/prebid/prebid-server/v3/stored_requests/caches/nil_cache" + "github.com/prebid/prebid-server/v4/metrics" + "github.com/prebid/prebid-server/v4/stored_requests/caches/nil_cache" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" diff --git a/stored_responses/stored_responses.go b/stored_responses/stored_responses.go index 6c8d4ae5f..a7a3abc4f 100644 --- a/stored_responses/stored_responses.go +++ b/stored_responses/stored_responses.go @@ -7,8 +7,8 @@ import ( "strings" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/stored_requests" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/stored_requests" ) type ImpsWithAuctionResponseIDs map[string]string diff --git a/stored_responses/stored_responses_test.go b/stored_responses/stored_responses_test.go index 0dcd5e9a6..09bf429a9 100644 --- a/stored_responses/stored_responses_test.go +++ b/stored_responses/stored_responses_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/usersync/chooser.go b/usersync/chooser.go index 31a14a4d4..bc2d0812a 100644 --- a/usersync/chooser.go +++ b/usersync/chooser.go @@ -3,8 +3,8 @@ package usersync import ( "strings" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) // Chooser determines which syncers are eligible for a given request. diff --git a/usersync/chooser_test.go b/usersync/chooser_test.go index 2674330c3..569dd0ea1 100644 --- a/usersync/chooser_test.go +++ b/usersync/chooser_test.go @@ -4,13 +4,13 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" - "github.com/prebid/prebid-server/v3/macros" + "github.com/prebid/prebid-server/v4/macros" ) func TestNewChooser(t *testing.T) { diff --git a/usersync/cookie.go b/usersync/cookie.go index dce5b0209..410bece53 100644 --- a/usersync/cookie.go +++ b/usersync/cookie.go @@ -5,9 +5,9 @@ import ( "net/http" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) const uidCookieName = "uids" diff --git a/usersync/cookie_test.go b/usersync/cookie_test.go index 79193d92a..6b803591f 100644 --- a/usersync/cookie_test.go +++ b/usersync/cookie_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/openrtb_ext" "github.com/stretchr/testify/assert" ) diff --git a/usersync/decoder.go b/usersync/decoder.go index d77c8d426..30a0c5ceb 100644 --- a/usersync/decoder.go +++ b/usersync/decoder.go @@ -3,7 +3,7 @@ package usersync import ( "encoding/base64" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type Decoder interface { diff --git a/usersync/encoder.go b/usersync/encoder.go index 6a7db1fe5..14c71ed3b 100644 --- a/usersync/encoder.go +++ b/usersync/encoder.go @@ -3,7 +3,7 @@ package usersync import ( "encoding/base64" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) type Encoder interface { diff --git a/usersync/syncer.go b/usersync/syncer.go index b2fec6161..a1b57497c 100644 --- a/usersync/syncer.go +++ b/usersync/syncer.go @@ -9,8 +9,8 @@ import ( "text/template" validator "github.com/asaskevich/govalidator" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/macros" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/macros" ) var ( diff --git a/usersync/syncer_test.go b/usersync/syncer_test.go index 020fb26df..a4b5b6f3d 100644 --- a/usersync/syncer_test.go +++ b/usersync/syncer_test.go @@ -4,8 +4,8 @@ import ( "testing" "text/template" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/macros" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/macros" "github.com/stretchr/testify/assert" ) diff --git a/usersync/syncersbuilder.go b/usersync/syncersbuilder.go index 2868a1da7..b8a11e66d 100644 --- a/usersync/syncersbuilder.go +++ b/usersync/syncersbuilder.go @@ -5,7 +5,7 @@ import ( "sort" "strings" - "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v4/config" ) type namedSyncerConfig struct { diff --git a/usersync/syncersbuilder_test.go b/usersync/syncersbuilder_test.go index a08df0817..59061c7ae 100644 --- a/usersync/syncersbuilder_test.go +++ b/usersync/syncersbuilder_test.go @@ -4,8 +4,8 @@ import ( "errors" "testing" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/macros" + "github.com/prebid/prebid-server/v4/config" + "github.com/prebid/prebid-server/v4/macros" "github.com/stretchr/testify/assert" ) diff --git a/util/httputil/httputil.go b/util/httputil/httputil.go index dd09cdadf..3cf80b8c7 100644 --- a/util/httputil/httputil.go +++ b/util/httputil/httputil.go @@ -5,7 +5,7 @@ import ( "net/http" "strings" - "github.com/prebid/prebid-server/v3/util/iputil" + "github.com/prebid/prebid-server/v4/util/iputil" ) var ( diff --git a/util/httputil/httputil_test.go b/util/httputil/httputil_test.go index 2b2f52e5c..f8b9ba544 100644 --- a/util/httputil/httputil_test.go +++ b/util/httputil/httputil_test.go @@ -5,7 +5,7 @@ import ( "net/http" "testing" - "github.com/prebid/prebid-server/v3/util/iputil" + "github.com/prebid/prebid-server/v4/util/iputil" "github.com/stretchr/testify/assert" ) diff --git a/util/jsonutil/forcestring.go b/util/jsonutil/forcestring.go index 64ce2a679..e16d85683 100644 --- a/util/jsonutil/forcestring.go +++ b/util/jsonutil/forcestring.go @@ -3,7 +3,7 @@ package jsonutil import ( "errors" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/tidwall/gjson" ) diff --git a/util/jsonutil/forcestring_test.go b/util/jsonutil/forcestring_test.go index 60f87fafa..3fc1cb680 100644 --- a/util/jsonutil/forcestring_test.go +++ b/util/jsonutil/forcestring_test.go @@ -3,7 +3,7 @@ package jsonutil import ( "testing" - "github.com/prebid/prebid-server/v3/util/ptrutil" + "github.com/prebid/prebid-server/v4/util/ptrutil" "github.com/stretchr/testify/assert" ) diff --git a/util/jsonutil/jsonutil.go b/util/jsonutil/jsonutil.go index 2598044ff..da9027c1d 100644 --- a/util/jsonutil/jsonutil.go +++ b/util/jsonutil/jsonutil.go @@ -9,7 +9,7 @@ import ( jsoniter "github.com/json-iterator/go" "github.com/modern-go/reflect2" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) const ( diff --git a/util/jsonutil/merge.go b/util/jsonutil/merge.go index 6dff8afca..9e530a546 100644 --- a/util/jsonutil/merge.go +++ b/util/jsonutil/merge.go @@ -10,7 +10,7 @@ import ( "github.com/modern-go/reflect2" jsonpatch "gopkg.in/evanphx/json-patch.v5" - "github.com/prebid/prebid-server/v3/errortypes" + "github.com/prebid/prebid-server/v4/errortypes" ) // jsonConfigMergeClone uses the same configuration as the `ConfigCompatibleWithStandardLibrary` profile diff --git a/util/task/ticker_task_test.go b/util/task/ticker_task_test.go index b1acb35ff..774febd6c 100644 --- a/util/task/ticker_task_test.go +++ b/util/task/ticker_task_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/prebid/prebid-server/v3/util/task" + "github.com/prebid/prebid-server/v4/util/task" "github.com/stretchr/testify/assert" ) diff --git a/version/xprebidheader.go b/version/xprebidheader.go index 7e31aa4b1..056246474 100644 --- a/version/xprebidheader.go +++ b/version/xprebidheader.go @@ -5,7 +5,7 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/openrtb_ext" + "github.com/prebid/prebid-server/v4/openrtb_ext" ) const xPrebidHeaderVersionPrefix = "pbs-go" diff --git a/version/xprebidheader_test.go b/version/xprebidheader_test.go index 15a73fe98..0e74584c7 100644 --- a/version/xprebidheader_test.go +++ b/version/xprebidheader_test.go @@ -6,8 +6,8 @@ import ( "github.com/prebid/openrtb/v20/openrtb2" "github.com/stretchr/testify/assert" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" + "github.com/prebid/prebid-server/v4/openrtb_ext" + "github.com/prebid/prebid-server/v4/util/jsonutil" ) func TestBuildXPrebidHeader(t *testing.T) {