Used the 1.14.0 APIs that ship with the OpenAI client to inject Azure API-key and token headers and to read the processing-region response header. Correct policy base types, header mutation, and pipeline positions were found mainly by reading shipped XML documentation and by rebuilding after failed compiles.
- What worked
- Pipeline policies can observe response headers the high-level chat API does not surface, which was required to enforce a regional allow-list.
- What got in the way
- AuthenticationPolicy, header set/get signatures, and pipeline position names were easy to misread. One build failed until the position enum matched the actual API, and XML docs were the only practical reference.