From d65bbce7914f6403a32edfd17262936aff28f2bf Mon Sep 17 00:00:00 2001 From: adonis Date: Thu, 3 Sep 2026 10:55:58 +0330 Subject: [PATCH] fix(settings): resolve superadmin domain from Origin before API host Split frontends like my.goldarvin.ir were waiting on 404 retries for the API hostname, which made get_settings take ~16s. Co-authored-by: Cursor --- app/Services/SuperAdminProgramSettingsClient.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/Services/SuperAdminProgramSettingsClient.php b/app/Services/SuperAdminProgramSettingsClient.php index 277e6e9..6f2e3b2 100644 --- a/app/Services/SuperAdminProgramSettingsClient.php +++ b/app/Services/SuperAdminProgramSettingsClient.php @@ -292,6 +292,17 @@ class SuperAdminProgramSettingsClient try { $request = request(); if ($request) { + // فرانت و API ممکن است دامنهٔ جدا باشند (my.goldarvin.ir → goldarvin.gholaktala.ir). + // سوپرادمین دامنهٔ اپ را می‌شناسد نه Hostِ API؛ Origin/Referer را اول بگذار + // وگرنه ۳ origin × ۳ retry روی ۴۰۴ حدود ۱۰–۱۷ ثانیه طول می‌کشد. + $origin = (string) $request->headers->get('Origin', ''); + if ($origin !== '') { + $candidates[] = $this->normalizeHost($origin); + } + $referer = (string) $request->headers->get('Referer', ''); + if ($referer !== '') { + $candidates[] = $this->normalizeHost($referer); + } $forwarded = (string) $request->headers->get('X-Forwarded-Host', ''); if ($forwarded !== '') { $candidates[] = $this->normalizeHost(explode(',', $forwarded)[0] ?? '');