laravel-api-debugger icon indicating copy to clipboard operation
laravel-api-debugger copied to clipboard

Crashes if the response is not an object

Open alex-muntean opened this issue 5 years ago • 1 comments

First, thanks for the work on this package.

Trying to return a simple response with "Unauthorized"

return response()->json("Unauthorized", 401)

The variable $data on src/Debugger.php line 117 will then be "Unauthorized".

This will cause a crash on line 123 on the same function when attempting to add the debugging details to the $data variable which is a string, not an object.

$data->{$this->responseKey} = $this->storage->getData();

This can be easily fixed if a check is added before the information is added to $data variable.

L.E.: I know there is an workaround to change response to:

return response()->json(["message" => "Unauthorized"], 401)

but would be nice if you could still return something without wrapping it and i would like to not return debug info when an user is not authenticated.

Maybe another idea would be to be able to disable logging on the fly, something like

Debugger::disable();

Version: 3.5.0. Laravel version: 6.17.1

Please let me know if you need additional information.

alex-muntean avatar Feb 28 '20 11:02 alex-muntean

Any fix on this? I don't want to disable debugbar but this error is holding me. :(

baldonhc avatar Jun 10 '20 09:06 baldonhc