Client errors (HTTP 4xx) are considered "unhappy flow", they are not actual server failures. "Unhappy flow" should not cause L.error, L.warning or surface as unhandled exceptions.
Changes
aiohttp errors are not raised, but returned instead, so that access log does not record them as ERRORs.
"Unhappy flow" should be logged with NOTICE level or lower. ERROR level should be reserved for actual failures.
Added failure reasons in introspection and authorization flow.
Issue
L.error
,L.warning
or surface as unhandled exceptions.Changes
aiohttp
errors are not raised, but returned instead, so that access log does not record them as ERRORs.