我正在对Firebase执行多路径更新,结果是接收到了错误码18。
我可以用较小的块来执行多路径更新,并且我收到了一个成功的200,但是当它全部合并在一起时,请求将失败。而且,我知道请求的格式是正确的,因为我已经确保了对这里解释了多路径更新陷阱。的警惕。
那么,怎么回事?
发布于 2016-04-14 16:43:30
非常意外的是,我在身份验证令牌中将“调试”声明设置为true。
因为多路径更新在每个提供的路径上测试安全规则,而“x-firebase-auth-调试”响应头包含每个安全规则的结果,这可能导致一个非常大的头。它太大了,导致Firebase返回状态代码18,即cURL部分文件错误。
现在,显然存在没有HTTP定义的实际页眉大小限制,但大多数web服务器对页眉的大小设置了某种限制。如果大小太大,服务器应该返回一个“413实体太大”,而Firebase没有这样做,并且是问题的原因(我相信)。
从令牌中删除“调试”声明并执行完全相同的多路径更新将获得成功。
编辑:
在其他情况下,我收到了其他cURL错误,而不是预期的HTTP代码--这些错误是否是没有文档化的原因?(我想可能是我发送请求的服务器,所以我会检查那里,稍后更新,但我想我会问,以防万一.)
https://stackoverflow.com/questions/36629139
复制相似问题