我正在對Firebase執行多路徑更新,導致收到undocumented error code 18。Firebase Rest API狀態代碼18
我可以在較小的塊中執行多路徑更新,並且我收到一個成功的200,但是當它全部在一個時,請求失敗。此外,我知道請求形成正確,因爲我一定要小心the multi-path update pitfall explained here。
那麼,這是怎麼回事?
我正在對Firebase執行多路徑更新,導致收到undocumented error code 18。Firebase Rest API狀態代碼18
我可以在較小的塊中執行多路徑更新,並且我收到一個成功的200,但是當它全部在一個時,請求失敗。此外,我知道請求形成正確,因爲我一定要小心the multi-path update pitfall explained here。
那麼,這是怎麼回事?
這筆交易意外的是,我在「身份驗證」令牌中將「調試」聲明設置爲true
。
由於多路徑更新測試每個提供的路徑的安全規則,並且「x-firebase-auth-debug」響應頭包含每個安全規則的結果,這可能會導致非常大的頭。非常大,導致Firebase返回狀態碼18,即cURL Partial File error。
現在顯然有no actual header-size limit defined by HTTP,但是大多數web服務器對輸入和輸出頭的大小都有一些限制。如果規模太大,服務器應該返回一個「413實體太大」,這是Firebase沒有做的,並且是問題的原因(我相信)。
從令牌中刪除「調試」聲明並執行完全相同的多路徑更新會導致成功。
編輯:
在其他場合,我已經收到了其他捲曲錯誤,而不是預期的HTTP響應代碼 - 是有一個原因是,這些仍沒有證件? (我想這可能是我發送請求的服務器,所以我會在稍後檢查並更新,但我想我會問,以防萬一......)