У меня есть API, который использует класс Illuminate\Support\Facades\Auth
для выполнения HTTP-запросов к нескольким различным службам в соответствующем репозитории каждой службы.Это структура, которую я использую для одного такого запроса, когда httpClient
ссылается на реализацию GuzzleHttp
:
$items = $this->httpClient->get(
env('INVENTORY_URI').'item?'.http_build_query($query),
Auth::user()->get('token')
);
Все запросы API структурированы таким образом и были протестированы на работу.Однако в некоторых репозиториях ссылка на класс Auth возвращает эту ошибку:
Вызов параметра функции-члена () в массиве
Я понятия не имею, почему только некоторыеиз этих обращений к Auth выдает эту ошибку, так как запросы практически идентичны друг другу.
Обновление: Мне удалось отследить исключение дальше до AuthServiceProvider
, но исключениеистинная причина все еще ускользает от меня.Моя boot()
функция закодирована следующим образом:
public function boot()
{
$this->app['auth']->viaRequest('api', function ($request) {
if ($request->auth) // Exception thrown at this point
{
return new Collection(json_decode($request->auth, true));
}
});
}
В более конкретном примечании, и, чтобы повторить ранее упомянутый факт, это исключение происходит только в 4 из 44 запросов.
Обновление 2: Я использовал dd()
для выгрузки объекта запроса из AuthServiceProvider
и сделал скриншот результатов.Слева находится объект запроса при выводе во время функционального HTTP-запроса, а справа - объект запроса при выводе во время HTTP-запроса, который может вызвать ошибку.