Web Server {28/100}

Seperti yang kita ketahui, pondasi dasar pada aplikasi web adalah HTTP protocol, dan Golang menyediakan full HTTP support di package net/http. Dengan menggunakan package ini kita bisa dengan mudah membuat web server.

Untuk dokumentasi lengkap dari package net/http bisa kita baca disini https://golang.org/pkg/net/http/

package main
import (
"fmt"
"net/http"
"log"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Println("path", r.URL.Path)
fmt.Println("scheme", r.URL.Scheme)
fmt.Fprintf(w, "Hello world")
}
func me(w http.ResponseWriter, r *http.Request) {
fmt.Println("path", r.URL.Path)
fmt.Println("scheme", r.URL.Scheme)
fmt.Fprintf(w, "Mehhhhh?")
}
func main() {
http.HandleFunc("/", index)
http.HandleFunc("/me", me)
    err := http.ListenAndServe(":6969", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}

Kalau kita lihat dari contoh code diatas, kita hanya memerlukan 3 function untuk membuat web server sederhana.

Yang perlu kita lakukan hanyalah meng-import package net/http nya kemudian mengatur port-nya (kita menggunakan port 6969). Function HandleFunc berfungsi untuk mengatur routing dan function mana yang akan kita gunakan (seperti controller kalau di PHP) di route tersebut.

Setelah menginstall code tersebut

> go install

Cobalah untuk mengeksekusi code tersebut (Ex: $GOPATH/bin/http) dan buka browser kesayangan kita lalu akses localhost:6969 atau 0.0.0.0:6969.