Systems and methods for using plug-in modules to process transactions in a
proxy, wherein portions of the transaction information such as client
requests and corresponding server responses may be transformed before
delivery to their destinations. One embodiment comprises an application
programming interface (API) implemented in a proxy that enables the use
of individual plug-in modules to perform transaction processing,
including transformations on requests and/or responses handled by the
proxy. In one embodiment, transactions are broken down into stages
comprising initializing the transaction, sending an opening statement,
getting a request, transforming the request, logging in and obtaining
authorization, generating a response, transforming the response, sending
the response, and terminating the transaction. Because the proxy uses
plug-in modules for the stages, functionality and protocol support can be
easily modified, and code re-use is increased.