Exception handler needs to handle exception subclassing
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 50/100
Research direction
Start at the toHttpException method shown in the issue and inspect how exception classes are currently selected. Verify the behavior for BadRequestHttpException and other HttpException subclasses, then confirm that a bad-request exception produces a 400 response rather than a 500 response.
Written by the indexing model from the issue text.
Description
The exception handler currently only uses get_class() to determine the type of exception:
/**
* Convert err to HttpException.
*
* @param mixed $err
*
* @return HttpException
*/
protected function toHttpException(Exception $err): HttpException
{
$errClass = get_class($err);
switch ($errClass) {
case HttpException::class:
$httpErr = $err;
break;
// 404 Model not found.
case ModelNotFoundException::class:
$httpErr = $this->convertFromModelNotFound($err);
break;
case QueryException::class:
default:
$httpErr = $this->defaultHttpException();
break;
}
return $httpErr;
}
So throwing a BadRequestHttpException gets serialized to a 500 error instead of a 400 error.
- Dominant language
- PHP
- Stars
- 6
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ml-opensource/rest-api-server
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
All issues in ml-opensource/rest-api-server
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
thephpleague/commonmark#1159 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
awslabs/aidlc-workflows#1879 ·
Maintainers usually reply within 1 day
-
[Bug] The PHP file that lists DNS records truncates records to 12 characters?Possibly taken @sahsanu claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
hestiacp/hestiacp#5769 · 2 comments ·
Maintainers usually reply within 1 day
-
bug customer-reported
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
MagnaCapax/PMSS#1011 ·
Maintainers usually reply within 5 days
-
Talk Review
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
socallinuxexpo/scale-drupal#351 ·