anything other than a (net.Error) with Temporary() == true is treated as a fatal error that causes the http server to exit