Patent ID: 8230052

Claim:
In a client-server computing environment, a method of allowing the inspection and/or server data transformation of modules for an HTTP request pipeline in a runtime, non-intrusive manner by providing a set of diagnostic modules that subscribe to various stages of the HTTP request pipeline and monitor module execution at any subscribed server stage therein, the method comprising: receiving, from a client, a first HTTP request at a server that has an HTTP request pipeline and that executes a plurality of software modules that perform particular functions within one or more stages of the HTTP request pipeline; the server also including a set of diagnostic modules, separate from the software modules, that subscribe to various stages of the HTTP request pipeline and monitor software module execution at any subscribed stage therein; determining that the first HTTP request includes a diagnostic command in its header, the diagnostic command requesting the execution of one or more command handlers of one or more diagnostic modules that subscribe to at least one stage within the HTTP request pipeline; based on the diagnostic command included in the first HTTP request, executing at least one function of the one or more diagnostic modules within the at least one stage of the HTTP request pipeline to perform an inspection, a data transformation, or both on data as the data passes through the at least one stage of the HTTP request pipeline to which the one or more diagnostic modules subscribe thereby enabling the inspection, data transformation, or both in a runtime, non-intrusive manner; storing diagnostic data obtained from the inspection, the data transformation, or both in a log receiving, from the client, a second HTTP request at the server, the second HTTP request including a diagnostic command in its header that requests the retrieval of the stored diagnostic data; and in response to the second HTTP request, retrieving and sending the diagnostic data to the client.