我有一些用 Go 编写的代码(见下文),它们应该“扇出”HTTP 请求,并整理/聚合回细节。
我是 golang 的新手,所以希望我成为一个菜鸟并且我的知识是有限的
该程序的输出目前类似于:
{
"Status":"success",
"Components":[
{"Id":"foo","Status":200,"Body":"..."},
{"Id":"bar","Status":200,"Body":"..."},
{"Id":"baz","Status":404,"Body":"..."},
...
]
}
有一个本地服务器故意运行缓慢(休眠 5 秒,然后返回响应)。但是我列出了其他网站(请参阅下面的代码),它们有时也会触发错误(如果它们出错,那很好)。
我目前的问题是如何最好地处理这些错误,特别是与“超时”相关的错误;因为我不确定如何识别失败是超时还是其他错误?
目前我总是收到一个全面的错误:
Get http://localhost:8080/pugs: read tcp 127.0.0.1:8080: use of closed network connection
http://localhost:8080/pugs失败的网址通常在哪里(希望超时!)。但是正如您从代码(如下)中看到的那样,我不确定如何确定错误代码与超时有关,也不知道如何访问响应的状态代码(我目前只是将其设置为404但显然这是不对的 - 如果服务器出错,我希望得到类似500状态代码的东西,显然我想在我发回的汇总响应中反映这一点)。
相关分类