HTTP Server in golang

ryudokung
Jan 11, 2021

--

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

--

--