The HTTP Monitor is a tool for debugging web applictions. It consists of a server side component which records data and a GUI component which allows users to view the data and replay requests. Tracking data flow between components of a web app can be a helpful debugging aid, as it makes it possible to quickly identify the component that is causing the error.
The server side component records the following:
- Data about the request iself such as the query string, any posted data, request attributes set as a result of processing the request.
- Incoming and outgoing cookies.
- Whether there is a HTTP session object available for the request, and what the state of the session is before and after the request was processed.
- Data about the processing servlet
- Data about the servlet context
- Data about the servlet engine and the client that made the request
- The request headers
Users can replay requests associated with recorded transactions. The request for a replay is handled by the server side component which replaces the request with a RequestWrapper populated with the data from the original request. It is possible to modify the request prior to resending them, for example changing a request parameter or a header.
The HTTP monitor is implemented using Servlet Filters, which means that it can be made to run on any Servlet 2.3 compatible server.