لدي API مبنية ضمن لارافيل والتي يتم استدعائها من قبل سيرفر آخر خارجي عن طريق Guzzle، ولكن عند الوصول إلى IP السيرفر الآخر تظهر مشكلة Throttle ولايتمكن من إعادة البيانات المطلوبة من الـ API.
الذي أحاول الآن القيام به هو تمرير اسم نطاق الزبون (السيرفر الأساسي) و IP Address للسيرفر الآخر إلى API عن طريق إضافة middleware للتحكم بالاختناق:
السؤال
Amir Alsaeed
لدي API مبنية ضمن لارافيل والتي يتم استدعائها من قبل سيرفر آخر خارجي عن طريق Guzzle، ولكن عند الوصول إلى IP السيرفر الآخر تظهر مشكلة Throttle ولايتمكن من إعادة البيانات المطلوبة من الـ API.
الذي أحاول الآن القيام به هو تمرير اسم نطاق الزبون (السيرفر الأساسي) و IP Address للسيرفر الآخر إلى API عن طريق إضافة middleware للتحكم بالاختناق:
/** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'api' => [ 'throttle:60,1', \Barryvdh\Cors\HandleCors::class, 'bindings', ], ];
وهذا هو الكود الخاص بالدالة resolveRequestSignature:
/** * Resolve request signature. * * @param \Illuminate\Http\Request $request * @return string * * @throws \RuntimeException */ protected function resolveRequestSignature($request) { if ($user = $request->user()) { return sha1($user->getAuthIdentifier()); } if ($route = $request->route()) { return sha1($route->getDomain().'|'.$request->ip()); } throw new RuntimeException('Unable to generate the request signature. Route unavailable.'); }
ولكن النتيجة تكون دوماً بالحصول على Unable to generate the request signature. Route unavailable. ولم تنجح معالجة الاختناق. كيف يمكنني حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.