josepowera / nobidder

Totally not an RTB Bidder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nobidder

Experiments in writing a no-bid openrtb http server

Implementations

  • go-vanilla - Go vanilla implementation with standard lib HTTP server and JSON parser
  • go-fast - Go implementatin with faster 3rd-party HTTP and JSON libraries
  • rust-actix - Rust implementation on the actix web framework
  • rust-axum - Rust implementation on the axum web framework
  • python-aiohttp - Python implementation on the aiohttp web framework and orjson JSON parser

Behavior

Each server listens on http://127.0.0.1:8080/ and supports these paths:

  • GET /ping - self-explanatory
  • POST /bidder - Accepts and parses OpenRTB JSON and returns a no-bid response (HTTP 204)

Other

  • data - Supporting test payloads

Invocation

# Server invocations
make nobidder-go-vanilla
make nobidder-go-fast
make nobidder-rust-actix
make nobidder-rust-axum
make nobidder-python-aiohttp

# Client invocations
make curl-ping
make curl-bid
make wrk-ping
make wrk-bid

About

Totally not an RTB Bidder

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Go 45.5%Language:Rust 27.1%Language:Python 12.8%Language:Makefile 12.3%Language:Lua 2.4%