Postingan lainnya
"custom mux" dan "http.servemux"
halo member SK sekalian. saya hendak bertanya, saya membuat web dengan golang dan saya coba membuat custom mux untuk bisa menambahkan fitur yg tidak ada di default.
saya ikut tutorial ini: <a href='novalagung golang dasar'>https://dasarpemrogramangolang.novalagung.com/B-20-custom-mux-multiplexer.html</a> tapi tidak saya ikuti semua, hanya sebagian. disitu ada:
type CustomMux struct {
http.ServeMux
middlewares []func(next http.Handler) http.Handler
}
apakah itu artinya "struct CustomMux" meng inherit fields dari "http.ServeMux" ??
karna saya tidak pernah menghandle kasus "400 Bad Request" tapi secara otomatis terhandle. nah disitu saya bingung.
link github akan saya lampirkan jika di perlukan <a href='link github saya'>https://github.com/bokunodev/go_sandbox_web</a>
2 Jawaban:
halo bokunodev,
mohon izin menjawab,
Untuk handling status error tersebut adalah: http.Handler. http.Handler disini sebagai middleware atau perantara, jadi saat ingin menampilkan response, akan di handle terlebih dahulu oleh http.Handler tersebut.
Untuk lebih penjelasan lebih lanjut, bisa lihat di link berikut: <a href='https://blog.questionable.services/article/http-handler-error-handling-revisited/'>https://blog.questionable.services/article/http-handler-error-handling-revisited/</a>
contoh indonesianya terdapat disini: <a href='https://dasarpemrogramangolang.novalagung.com/B-19-middleware-using-http-handler.html'>https://dasarpemrogramangolang.novalagung.com/B-19-middleware-using-http-handler.html</a>
Semoga dapat terjawab,
terimakaih @abyanjksatu
<a href='https://blog.questionable.services/article/http-handler-error-handling-revisited/'>dari artikel ini</a> saya muncul pertanyaan lagi, type appHandler disitu return (int, error) sementara type http.Handler tidak return. bagaimana mereka bisa kompatibel satu sama lain ?
[DI REVISI] @abyanjksatu saya haampir luput. dia memang gk kompatibel dg http.HandlerFunc dia membuat implementasinya sendiri berupa type appHandler
terimakasih sudah menjawab.