Basicly, anything that is not text/html will cause the progress page to load.
You could create a log to write the URL whenever the MediaType.FromHeader is not text/html.
I see two options.
1) In Configuration -> Proxies -> Advanced Settings you find a setting called "Call log handler for progress pages...". This will tell MWG to log all "internal" requests, such as embedded objects in error templates, but also the progress page requests. In the log you will see something like:
Note: The progress page is refreshed every 5 seconds, so as long as the download runs you will have a log entry every couple of seconds. This may fill up the log files with internal requests.
2) Use a "web bug". Modify the template that is used to display the progress page (named "Progess") and add something like
This will cause the browser to attempt trying to embedd an image when displaying the progress page. You will see something like this in the logs:
You will see a 404 because the image does not exist. Use a transparent 1x1 image that you place somewhere instead if possible.
In 7.3 they also added a property called "ProgressPage.Sent" I havent tested it, but this should be set to true if a progress page was sent.
Cool, I didn't notice the new property. You should try that instead following my hints.
I'm trying to use the "progresspage.sent" property but have only gotten it to work in the log handler - and then it only works when the file has been downloaded, the user clicks on "...Here", and the file is actually downloaded to the client.
One of the issues that I've encountered is web apps that download files in the background. The user never sees the download progress page and doesn't know why his/her application seems to hang. In reality, MWG has sent the notification page to the client and is waiting for the user to click "...Here" but the user never sees it. In addition, the download may or may not be authenticated because the web app may not send authentication information to the MWG.
Is there a way to detect when the download progress page is actually sent to the user?
Thanks for your help,