When calling an URL via an embeddedPage that does accept a connection but never sends a reply, this addon will not run into a timeout and will wait forever for a reply. On high traffic sites this can lead to resource exhaustion on the Plone servers as there is a limit to the open connections an instance can have open.
Steps to reproduce:
Create a web application that accepts a connection but does not reply (Simplest solution is to create e.g. a php script with sleep(999) and put it on a server with PHP support
Enter the URL of the above mentioned script into an embeddedPage (You might need to remove the sleep() for this step as the document will only be saved once the entered URL has been reached)
Call the embeddedPage in Plone
What happens:
The page loads forever in the browser without showing a result (Depending on the Plone setup there might be a timeout e.g. in a reverse proxy in front of the Plone instance.)
Even if the loading process in the browser is aborted the call from the Plone instance to the entered URL will still be kept open until either a response is received or the instance is restarted.
What should happen
The request to the external URL should time out after a certain time and an error message should be shown.
When calling an URL via an embeddedPage that does accept a connection but never sends a reply, this addon will not run into a timeout and will wait forever for a reply. On high traffic sites this can lead to resource exhaustion on the Plone servers as there is a limit to the open connections an instance can have open.
Steps to reproduce:
sleep(999)
and put it on a server with PHP supportWhat happens:
What should happen
The request to the external URL should time out after a certain time and an error message should be shown.