prebid-server
prebid-server copied to clipboard
HTTP Endpoint: Implement RFC 3986 compatibility as optional
🔧 Type of changes
- [ ] new bid adapter
- [ ] update bid adapter
- [x] new feature
- [ ] new analytics adapter
- [ ] new module
- [ ] bugfix
- [ ] documentation
- [x] configuration
- [ ] technical debt (test coverage, refactoring, etc.)
✨ What's the context?
https://github.com/prebid/prebid-server/issues/3595
🧠 Rationale behind the change
According to RFC 3986 specification a query cannot contain symbols like [, ] or " which are allowed according Go server documentation (stored_requests/backends/http_fetcher/fetcher.go), so it was decided that default HTTP URL builder should have an option in configuration to follow RFC 3986 specification, however in order to preserve backward compatibility by default this option (stored_requests.http.use_rfc3986_compliant_request_builder) should be false.
🧪 Test plan
New functionality is covered by Test*RfcCompliant set of unit tests in stored_requests/backends/http_fetcher/fetcher_test.go.