Code4Sec วันนี้ เรามาต่อกันด้วยการทำ HTTP กันด้วย golang
โดยเราจะใช้เจ้า gorilla mux เพิ่อเป็นตัวช่วยในการจัดการ route และช่วยทำเกี่ยวกับการ handle http protocol ของดีๆแบบนี้หามาให้แบบนี้สามารถศึกษาต่อได้ที่นี่ครับ
โดย เริ่มจากเราจะสร้างตัวแปร route ขึ้นมาเพื่อให้ client สามารถ route ไปยังหน้าต่างๆของ http server เราได้ดังนี้
r := mux.NewRouter()
r.HandleFunc("/books/{title}/page/{page}", func(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
title := vars["title"]
page := vars["page"]
})
ตามด้วยทำการ print สิ่งที่ client ทำการ request ค่าที่ต้องการให้แสดงนั่นคือ title และ page
/books/{title}/page/{page}
fmt.Fprintf(w, "You've requested the book: %s on page %s\n", title, page)
ดังภาพตัวอย่าง ผู้เขียนได้ใส่ค่า title เป็น The Lord of the ring และ page เป็น 1
และเรายังสามารถทำให้ go เราถูก enforce ไปจาก http ไปยัง https ได้อีกด้วยโดยสามารถดูได้จากที่นี่ครับ https://stackoverflow.com/questions/41616975/how-to-redirect-http-to-https-in-gorilla-mux