Kode program : Response code

Golang Web – Response Code

Dalam HTTP, terdapat yang namanya response code, response code meruoakan representasi kode response. Dari response code ini kita bisa melihat apakah sebuah request yang kita kirim itu sukses di proses oleh server atau gagal. Ada banyak sekali response code yang bisa kita gunakan saat membuat web, detailnya bisa anda lihat di https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

Mengubah Response Code

Secara default, jika kita tidak menyebutkan response code, maka response code nya adalah 200 OK. Jika kita ingin merubahnya, kita bisa menggunakan function ResponseWriter.WriteHeader(int). Semua data status code juga sudah di sediakan di golang, jadi kita bisa gunakan variable yang sudah di sediakan https://github.com/golang/go/blob/master/src/net/http/status.go

package belajar_golang_web

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

func ResponseCode(writer http.ResponseWriter, request *http.Request) {
	name := request.URL.Query().Get("name")

	if name == "" {
		writer.WriteHeader(http.StatusBadRequest)
		fmt.Fprint(writer, "name is empty")
	} else {
		fmt.Fprintf(writer, "Hello %s", name)
	}
}

func TestResponseCode(t *testing.T) {
	request := httptest.NewRequest(http.MethodGet, "http://localhost:8080?name=Rendy", nil)
	recorder := httptest.NewRecorder()

	ResponseCode(recorder, request)

	response := recorder.Result()
	body, _ := io.ReadAll(response.Body)

	fmt.Println(response.StatusCode)
	fmt.Println(response.Status)
	fmt.Println(string(body))
}
KOde program : Response code
Kode program : Response code

Penutup

Pada artikel kali ini kita telah belajar tentang response code pada golang web. Dan pada artikel selanjutnya saya akan membahas cookie pada golang web.

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