feat(router): support giving back json when a request fail#1629
feat(router): support giving back json when a request fail#1629NeoIsRecursive wants to merge 16 commits intotempestphp:mainfrom
Conversation
brendt
left a comment
There was a problem hiding this comment.
Can you also add tests for this?
| $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), | ||
| default => $this->renderErrorResponse(Status::INTERNAL_SERVER_ERROR), | ||
| $request->accepts(ContentType::HTML, ContentType::XHTML) => $this->handleHtml($throwable), | ||
| $request->accepts(ContentType::JSON) => $this->jsonHandler->render($throwable), |
There was a problem hiding this comment.
Shouldn't we have HtmlHttpExceptionRenderer then for consistency?
There was a problem hiding this comment.
Yes, absolutely!
Would it make sense to remove the DeveloperExceptionHandler and in the HtmlHttpExceptionRenderer handle to show either whooosh or the custom view?
Tests for this (entire PR) is on my todo 🙂
There was a problem hiding this comment.
Would it make sense to remove the DeveloperExceptionHandler and in the HtmlHttpExceptionRenderer handle to show either whooosh or the custom view?
Maybe, but I'd say out of scope for this PR?
|
Wanted to check up: what needs to be done for this one, and can I help? Just want to make sure we don't loose track: it's a good feature and I'd like to see it merged 👍 |
Hi, I haven't had a lot of time (nor energy tbh) the last few weeks, but I do have some stuff locally that I'll clean up and push up asap :) Whats left:
And I did try to remove the |
|
This pull request is stale because it has been open for 30 days with no activity. |
|
This pull request was closed because it has been inactive for 1 day since being marked as stale. |
|
Let's close for now since the PR seems inactive. Happy to revive it when there's time :) |
|
I might take a look at this at the same time I take a look at #1805 |
That would be great! Though ive been thinking about it and Im wondering if doing it like dotnet does might be nice? (register a exception handler, if it returns false, try the next, until the default one is ran) |
Fixes #1619
Okay, so this is very wip, but I wanted to get it out to see if I'm thinking about this correctly before doing more work on this 🙂
The error "shape" is taken from Laravel, which I think it is pretty easy to work with:
invalid & generic.
But it should probably be discussed how it should look (maybe problem details or some other easier "standard").
EDIT:
Another thing im thinking about is this:
Maybe the errors that are handled by the middleware (in
forward) shouldn't be cast toHttpRequestFailed?ConvertsToResponse,ValidationFailedandRouteBindingFailed.