summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrei Rykov <[email protected]>2025-07-06 12:08:32 +0200
committerGitHub <[email protected]>2025-07-06 12:08:32 +0200
commit98007925df8c839736827c1b0d6db723e4d1a058 (patch)
treea04a6053e786bc8f835043fcbeb0644b1a53e295
parentc59858d7f52ea791b46ea7fdb99c663c1044fbff (diff)
oidc: fix empty error reporting (#20681)oidc-1.2.0
-rw-r--r--ydb/mvp/oidc_proxy/extension_manager.cpp25
-rw-r--r--ydb/mvp/oidc_proxy/oidc_proxy_ut.cpp2
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"));
}