Return 404 via handle_response too

With the way call() was previously implemented, you couldn't change the
404 response. Returning it via handle_response means you have that
option.