Kode program : Web Handler

Golang Web – Pengenalan dan cara menggunakan web handler

Server hanya bertugas sebagai Web Server, sedangkan untuk menerima HTTP Request yang masuk ke Server, kita butuh yang namanya handler. Handler di golang di representasikan dalam interface, dimana dalam kontrak nya terdapat function bernama ServeHTTP() yang digunakan sebagai function yang akan di eksekusi ketika menerima HTTP Request.

Salah satu implementasi dari interface Handler adalah HandlerFunc, kita bisa menggunakan HandlerFunc untuk membuat function Handler HTTP, jadi kita tidak perlu membuat nya dari awal.

Setelah sebelumnya kita membuat unit test untuk mencoba membuat Server, sekarang buat lah unit test baru dengan nama TestHanlder untuk mencoba membuat handler sederhanya yang akan menampilkan kata Hello World ke browser.

package belajar_golang_web

import (
	"fmt"
	"net/http"
	"testing"
)

func TestHandler(t *testing.T) {
	var handler http.HandlerFunc = func(writer http.ResponseWriter, request *http.Request) {
		// logic web
		fmt.Fprint(writer, "Hello World")
	}

	server := http.Server{
		Addr:    "localhost:8080",
		Handler: handler,
	}

	err := server.ListenAndServe()
	if err != nil {
		panic(err)
	}
}
Kode program : Web Handler
Kode program : Web Handler

Pada kode program diatas, kita membuat server seperti biasa, bedanya adalah pada baris ke 10 kita membuat HandlerFunc dengan nama variable handler yang dimana isinya adalah anonymous function dan di dalam nya kita me return kata Hello World ke web browser.

Coba jalankan unit test nya dan akses kembali http://localhost:8080

Output handler pada web browser
Output handler pada web browser

Seperti yang sudah kita buat, saat ini pada web browser sudah menampilkan kata Hello World seperti yang kita harapkan.

Penutup

Pada artikel kali ini kita telah belajar cara membuat handler pada bahasa pemrogaman golang. Dan pada artikel selanjutnya saya akan membahas apa itu ServeMux dan cara membuatnya di golang.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

About Me

About Me

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam.

Social Profiles

Facebook