"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>

avatar bokunodev
@bokunodev

2 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

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,

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 4 tahun yang lalu

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.

avatar bokunodev
@bokunodev

2 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban