私はundocumented error code 18を受け取ったFirebaseのマルチパスアップデートを行っています。Firebase Rest APIステータスコード18
より小さい塊でマルチパス更新を実行できますが、正常に受信されますが、すべてが1であれば要求は失敗します。また、私が注意したように要求が正しく形成されていることを知っていますthe multi-path update pitfall explained here。
だから、どうすればいいですか?
私はundocumented error code 18を受け取ったFirebaseのマルチパスアップデートを行っています。Firebase Rest APIステータスコード18
より小さい塊でマルチパス更新を実行できますが、正常に受信されますが、すべてが1であれば要求は失敗します。また、私が注意したように要求が正しく形成されていることを知っています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サーバーでは、ヘッダーのサイズの制限があります。サイズが大きすぎると、サーバはFirebaseがやっていない "413 Entity Too large"を返し、問題の原因になるはずです(私は信じています)。
トークンから "debug"クレームを削除し、まったく同じマルチパス更新を実行すると成功します。
EDIT:他の機会に
、私は他のcURLのエラーではなく、予想されるHTTPレスポンスコードを受け取った - これらは文書化されていないままであることの理由はありますか? (私はそれが私が要求を送信しているサーバかもしれないので、私はそこにチェックして後で更新するだろうが、私はちょうどそうであると思った...)