如标题中所述,每当我将响应标头设置为默认值 (200) 之外的任何状态代码时,我都会在日志中收到响应错误。这在几周前没有发生,所以我不确定为什么现在会发生。另一个线程: Firebase Cloud Function finish with status: 'response error' 表示我的函数响应的 HTTP 请求高于 10MB。但是,我决定只部署一个函数(getTest),它只是
package foo
import (
"net/http"
)
func GetTest(w http.ResponseWriter, r *http.Request) {
// Status Code Test
w.WriteHeader(201) // Testing with status code 201
return
}
Run Code Online (Sandbox Code Playgroud)
我仍然返回“响应错误”。将上述测试代码中的任何状态代码(201,400,404,500 等)替换为 200 将导致状态代码 200 的成功 GCP 日志。
此外,如果先前的调用以响应错误结束,GCP有时会自动再次调用该函数,状态为 200,如图#1 所示。我说有时是因为我无法始终如一地展示这个问题。我相信,在这次重新调用期间,我的代码中没有实际执行任何内容,它只是返回 200。
有人知道这个问题吗?
编辑:我还想指出我只在云函数日志上看到这个“响应错误”。在我的 API 网关日志中,我看到函数结束时的正确状态代码。