When using SDK type bindings, a user might put an invalid connection string setting. There might be a typo in the variable name, or they didn't add it as an app setting. Creating a client will fail and an exception will be thrown from the azure-storage-blob SDK in this scenario. In the invocation request, the except clause will be hit. However, since http_v2_enabled was not yet defined (previously defined after the from_incoming_proto call), another exception will occur. That is an uncaught exception, and the function invocation will time out without any error messaging.
The fix is to move the http_v2_enabled definition to above from_incoming_proto, so that if from_incoming_proto fails http_v2_enabled will be set accordingly and set_http_response can execute.
However, if an exception occurs when setting http_v2_enabled (in get_function or http_v2_enabled), the same issue would occur. Therefore http_v2_enabled is given a default value at the start of the invocation request.
Fixes #
PR information
[x] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which has an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] If applicable, the PR references the bug/issue that it fixes in the description.
[ ] New Unit tests were added for the changes made and CI is passing.
Description
When using SDK type bindings, a user might put an invalid connection string setting. There might be a typo in the variable name, or they didn't add it as an app setting. Creating a client will fail and an exception will be thrown from the
azure-storage-blob
SDK in this scenario. In the invocation request, the except clause will be hit. However, sincehttp_v2_enabled
was not yet defined (previously defined after thefrom_incoming_proto
call), another exception will occur. That is an uncaught exception, and the function invocation will time out without any error messaging.The fix is to move the
http_v2_enabled
definition to abovefrom_incoming_proto
, so that iffrom_incoming_proto
failshttp_v2_enabled
will be set accordingly andset_http_response
can execute.However, if an exception occurs when setting
http_v2_enabled
(inget_function
orhttp_v2_enabled
), the same issue would occur. Thereforehttp_v2_enabled
is given a default value at the start of the invocation request.Fixes #
PR information
Quality of Code and Contribution Guidelines