show more relevant error for request with invalid data

show 'can't parse request' with status code 400 instead 'unexpected error' with status code 500