Промежуточное программное обеспечение после маршрута не сработало Laravel

Я пытаюсь добавить промежуточное ПО после приложения, чтобы я мог добавить метки времени и другую информацию к своим вызовам API. Я правильно настроил свои маршруты, поскольку они правильно достигают моего промежуточного ПО, но когда я достигаю промежуточного ПО, выдается сообщение об ошибке:

Вызов функции-члена put () для необъекта

И мое промежуточное программное обеспечение имеет следующий код:

public function handle($request, Closure $next)
{

$response = $next($request);
if($response->headers->get('content-type') == 'application/json')
{
$collection = $response->original;
//dd( $collection );
$collection->put('timestamp', date("Y-m-d H:i:s"));
$response->setContent($collection);
}

return $response;
}

Я пытался dd ($ collection), но он возвращает объекты, которые должны быть возвращены, поэтому я понятия не имею, что не так. Кто-нибудь может указать мне правильное направление?

Спасибо!

1

Решение

По предложению @ jedrzej.kurylo я внес следующие изменения:

    $response = $next($request);
if($response->headers->get('content-type') == 'application/json')
{
$collection = array();
$collection['timestamp'] = Carbon::now();
$collection['data'] = $response->original;
$response->setContent($collection);
}
return $response;

Похоже, что $ response-> original возвращает массив вместо объекта, состоящего из объектов для ответа.
Спасибо ТАК!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]