Our product teams use a unified Identity and Access Management solution grown in house that has, over the years, eventually evolved used several different IAM platforms as different backbones. During the transition from one backbone to another, our products depend on functionality provided by one of the other providers in order to operate with appropriate meta data and roles. This feature was not available in the new backbone product selected.
The Man in the Middle
In order to accomodate this feature request, I needed to write an Apache Web Server module in C. This module created the authorization requests on behalf of the clients and passed it back to the applications as a request hook. The module was fully configurable including duplicating and remapping authorization headers in real time. I even learned the Apache Runtime library so I could implement an expiring cache using tables in memory pools to reduce the reliance on frequent connections to the authorization server. This required learning the workflow of Apache HTTPD as well as creating the proper cache mutexs where applicable to prevent data corruption. This was done with no other 3rd party libraries needed as well to simplify deployment across out product servers.