Description
4xx and 5xx status codes are not properly handled at the Catalyst level.
Issue
Current handling of error status codes seems incorrect.
let status = matches.length && matches[0].match.path === "*" ? 404 : 200
This does not account for actual error codes being passed.
Proposed Solution
Ensure proper use of the errorCode prop for handling status codes:
let status = errorCode || (matches.length && matches[0].match.path === "*" ? 404 : 200)