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 <cursoragent@cursor.com>
This commit is contained in:
@@ -292,6 +292,17 @@ class SuperAdminProgramSettingsClient
|
|||||||
try {
|
try {
|
||||||
$request = request();
|
$request = request();
|
||||||
if ($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', '');
|
$forwarded = (string) $request->headers->get('X-Forwarded-Host', '');
|
||||||
if ($forwarded !== '') {
|
if ($forwarded !== '') {
|
||||||
$candidates[] = $this->normalizeHost(explode(',', $forwarded)[0] ?? '');
|
$candidates[] = $this->normalizeHost(explode(',', $forwarded)[0] ?? '');
|
||||||
|
|||||||
Reference in New Issue
Block a user