Skip to content

Adapex: new alias of Floxis - #4649

Open
floxis-admin wants to merge 3 commits into
prebid:masterfrom
floxis-admin:adapex-alias
Open

floxis-admin wants to merge 3 commits into
prebid:masterfrom
floxis-admin:adapex-alias

Conversation

@floxis-admin

@floxis-admin floxis-admin commented Oct 8, 2026 •

Copy link
Copy Markdown

Change

Adds adapex as an alias of floxis (merged in #4529) on Floxis infrastructure.

  • Fixed endpoint https://hb.adapex.io/pbs?seat={SeatId}; outgoing requests are grouped by resolved URL, so each seat has one request regardless of region/partner params.
  • User sync uses https://sync.adapex.io, a separate cookie family, and GVL ID 1609. Maintainer: prebid@floxis.tech.
  • Alias remains disabled by default and can be enabled independently of Floxis.
  • Tests cover seat grouping, safely escaped seats, actual YAML/default configuration, inherited capabilities/ORTB 2.6/gzip, and GDPR/CCPA/GPP in both the usersync URL and callback.

Validation

31 focused tests pass: 28 FloxisBidderTest cases and three FloxisConfigurationTest cases, with zero checkstyle violations at 5464b56c9abb04b27888ec30f3263ec010147aa3.

Command: ./mvnw -B checkstyle:check surefire:test -Dtest=FloxisConfigurationTest,FloxisBidderTest -Dsurefire.failIfNoSpecifiedTests=false -DargLine=-Xmx256m with a 512MiB Maven heap.

Existing AdapexTest / FloxisTest integration tests passed on the original PR head b92935c0d19cff2beca651ff52723b8d5cbb5e4f; the subsequent commit adds tests only. A full local Maven test compilation exhausted its bounded heap in unrelated Groovy tests; the focused checkstyle/Surefire execution above completed successfully.

Go port: prebid/prebid-server#5026. The current docs PR prebid/prebid.github.io#6793 covers Prebid.js only. Prebid Server documentation will follow in a separate PR after the relevant server adapter has merged and been released.

Adapex is a white-label partner of the Floxis exchange. The alias bids to hb.adapex.io and syncs through sync.adapex.io. Requests are now grouped by resolved URL so an endpoint without a host macro sends one request per seat regardless of region or partner params.
impsByHost.computeIfAbsent(
new HostId(impExt.getSeat(), resolveBidHost(impExt)), key -> new ArrayList<>())
.add(imp);
// Keyed on the resolved URL: an alias endpoint without {Host} must not split imps per region/partner.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove comment

Comment on lines +70 to +71
final RequestTarget target = new RequestTarget(impExt.getSeat(), resolveUrl(impExt));
impsByTarget.computeIfAbsent(target, key -> new ArrayList<>()).add(imp);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like RequestTarget is no longer needed? seat is already in the URL.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove configuration tests

adapters.floxis.enabled=true
adapters.floxis.endpoint=http://localhost:8090/floxis-exchange
adapters.floxis.aliases.adapex.enabled=true
adapters.floxis.aliases.adapex.endpoint=http://localhost:8090/adapex-exchange?seat={SeatId}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove seat macro from integration test

Group imps by resolved URL only, drop the configuration tests and the seat macro from the integration test endpoint.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants