Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Memeriksa Badan Permintaan HTTP Tanpa Mengubahnya?

Bagaimanakah Saya Boleh Memeriksa Badan Permintaan HTTP Tanpa Mengubahnya?

DDD
DDDasal
2024-12-21 16:34:10571semak imbas

How Can I Inspect an HTTP Request Body Without Modifying It?

Memeriksa Badan Permintaan HTTP tanpa Mengubahnya

Dalam senario di mana anda perlu menganalisis kandungan permintaan POST yang masuk tanpa mengubah keadaannya, isu timbul dengan kehabisan strim permintaan, mengakibatkan ralat semasa memajukan ke belakang proksi.

Untuk menangani perkara ini, pertimbangkan pendekatan berikut:

Buat penimbal dengan membaca ke dalamnya daripada badan permintaan asal (io.ReadAll(r.Body)).

Gunakan penimbal untuk mencipta dua pembaca baharu:

  • rdr1 untuk analisis anda menggunakan fungsi penghuraian terbina dalam seperti req.ParseForm().
  • rdr2 untuk pengguna berikutnya bagi memastikan keadaan permintaan asal kekal utuh.

Tugaskan rdr2 kepada r.Body, membolehkan pengendali seterusnya beroperasi pada permintaan yang tidak diubah suai .

Teknik ini membolehkan anda memeriksa badan permintaan tanpa menjejaskan permintaan asal objek, memastikan integritinya untuk pemprosesan selanjutnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Badan Permintaan HTTP Tanpa Mengubahnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn