diff options
author | Andrei Rykov <[email protected]> | 2025-07-06 12:08:32 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2025-07-06 12:08:32 +0200 |
commit | 98007925df8c839736827c1b0d6db723e4d1a058 (patch) | |
tree | a04a6053e786bc8f835043fcbeb0644b1a53e295 | |
parent | c59858d7f52ea791b46ea7fdb99c663c1044fbff (diff) |
oidc: fix empty error reporting (#20681)oidc-1.2.0
-rw-r--r-- | ydb/mvp/oidc_proxy/extension_manager.cpp | 25 | ||||
-rw-r--r-- | ydb/mvp/oidc_proxy/oidc_proxy_ut.cpp | 2 |
2 files changed, 13 insertions, 14 deletions
diff --git a/ydb/mvp/oidc_proxy/extension_manager.cpp b/ydb/mvp/oidc_proxy/extension_manager.cpp index 33db197a4bd..08eacc814d9 100644 --- a/ydb/mvp/oidc_proxy/extension_manager.cpp +++ b/ydb/mvp/oidc_proxy/extension_manager.cpp @@ -24,20 +24,19 @@ void TExtensionManager::SetRequest(NHttp::THttpIncomingRequestPtr request) { void TExtensionManager::SetOverrideResponse(NHttp::TEvHttpProxy::TEvHttpIncomingResponse::TPtr event) { ExtensionCtx->Params->HeadersOverride = MakeHolder<NHttp::THeadersBuilder>(); - if (!event) { - ExtensionCtx->Params->ResponseError = "Timeout while waiting for whoami info"; - } else if (!event->Get()->Response) { - ExtensionCtx->Params->ResponseError = event->Get()->GetError(); - } else { - auto& response = event->Get()->Response; - ExtensionCtx->Params->StatusOverride = response->Status; - auto headers = NHttp::THeaders(response->Headers); - for (const auto& header : headers.Headers) { - ExtensionCtx->Params->HeadersOverride->Set(header.first, header.second); - } - ExtensionCtx->Params->MessageOverride = response->Message; - ExtensionCtx->Params->BodyOverride = response->Body; + ExtensionCtx->Params->ResponseError = event ? event->Get()->GetError() : "Timeout while waiting info"; + + if (!event || !event->Get()->Response) + return; + + auto& response = event->Get()->Response; + ExtensionCtx->Params->StatusOverride = response->Status; + auto headers = NHttp::THeaders(response->Headers); + for (const auto& header : headers.Headers) { + ExtensionCtx->Params->HeadersOverride->Set(header.first, header.second); } + ExtensionCtx->Params->MessageOverride = response->Message; + ExtensionCtx->Params->BodyOverride = response->Body; } void TExtensionManager::AddExtensionWhoami() { diff --git a/ydb/mvp/oidc_proxy/oidc_proxy_ut.cpp b/ydb/mvp/oidc_proxy/oidc_proxy_ut.cpp index 86b7b3eb2df..818ae728230 100644 --- a/ydb/mvp/oidc_proxy/oidc_proxy_ut.cpp +++ b/ydb/mvp/oidc_proxy/oidc_proxy_ut.cpp @@ -1726,7 +1726,7 @@ Y_UNIT_TEST_SUITE(Mvp) { UNIT_ASSERT_VALUES_EQUAL(json[ORIGINAL_USER_TOKEN], TProfileServiceMock::VALID_USER_TOKEN); UNIT_ASSERT(json.Has(EXTENDED_INFO)); UNIT_ASSERT(json[EXTENDED_ERRORS].Has("Ydb")); - UNIT_ASSERT_VALUES_EQUAL(json[EXTENDED_ERRORS]["Ydb"]["ClientError"], "Timeout while waiting for whoami info"); + UNIT_ASSERT_VALUES_EQUAL(json[EXTENDED_ERRORS]["Ydb"]["ClientError"], "Timeout while waiting info"); UNIT_ASSERT(!json[EXTENDED_ERRORS].Has("Iam")); } |