SlicingDice / slicingdice-php

Official PHP client for SlicingDice, Data Warehouse and Analytics Database as a Service.
https://www.slicingdice.com/
MIT License
4 stars 0 forks source link

Array key exist issue #23

Closed timersys closed 5 years ago

timersys commented 6 years ago

`[2018-07-23 21:00:17] local.ERROR: ErrorException: array_key_exists() expects parameter 2 to be array, string given in //vendor/slicingdice/slicingdice/src/Exceptions/SlicingDiceException.php:8 Stack trace:

0 //vendor/sentry/sentry/lib/Raven/Breadcrumbs/ErrorHandler.php(34): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'array_key_exist...', '/...', 8, Array)

1 [internal function]: Raven_Breadcrumbs_ErrorHandler->handleError(2, 'array_key_exist...', '/...', 8, Array)

2 //vendor/slicingdice/slicingdice/src/Exceptions/SlicingDiceException.php(8): array_key_exists('code', 'HTTP Error: 404')

3 //vendor/slicingdice/slicingdice/src/Exceptions/SlicingDiceHTTPException.php(10): Slicer\Exceptions\SlicingDiceException->__construct('HTTP Error: 404')

4 //vendor/slicingdice/slicingdice/src/Core/Requester.php(116): Slicer\Exceptions\SlicingDiceHTTPException->__construct('HTTP Error: 404')

5 //vendor/slicingdice/slicingdice/src/Core/Requester.php(102): Slicer\Core\Requester->wrapperRequests()`

timersys commented 6 years ago

Sorry was a bit hurry yesterday. Basically error is coming slicingdice/slicingdice/src/Core/Requester.php:116 throw new SlicingDiceHTTPException("HTTP Error: " . $httpStatus);

Construct function in slicingdice/slicingdice/src/Exceptions/SlicingDiceException.php should be:

    public function __construct($data) {
        if( ! is_array($data) ) {
            parent::__construct( $data );
        } else {
            if (array_key_exists('code', $data)) {
                $this->code = $data['code'];
            }
            if (array_key_exists('more-info', $data)) {
                $this->more_info = $data['more-info'];
            }
            if (array_key_exists('message', $data)) {
                parent::__construct($data['message']);
            }
        }

    }
joaosimbiose commented 6 years ago

Hi @timersys, thank you very much for reporting the issue, I'll open a PR to correct it ASAP if you come across any other issue feel free to let us know.