/// <summary>
		/// Processes the request using the specified connection and the asp runtime
		/// </summary>
		/// <param name="connection"></param>
		/// <param name="e"></param>
		public void ProcessRequest(HttpConnection connection, ref HttpRequestCancelEventArgs e)
		{			
			// if the request cannot be handled, simply bail out (this will cover the known http methods)
			if (!this.CanHandleRequest(e.Request))
				return;
			
			// create a new asp worker request
			AspWorkerRequest aspRequest = new AspWorkerRequest(this, connection, e.Request);

			// use the asp runtime to process the request
			HttpRuntime.ProcessRequest(aspRequest);

			// return the response that the asp request generated
			e.Response = aspRequest.Response;
		}