HTTP merupakan stateless antara client dan server, artinya server tidak menyimpan data apapun untuk mengingat tiap request dari client. Hal ini bertujuan agar mudah melakukan scalability di sisi server. Lantas bagaimana caranya agar server bisa mengingat sebuah client? Misal ketika kita sudah login di website, server otomatis harus tau jika client tersebut sudah login, sehingga request selanjutnya tidak perlu diminta untuk login lagi. Untuk melakukan hal ini kita bisa memanfaatkan Cookie. Cookie Cookie adalah fitur HTTP dimana server bisa memberi …
Category: Bahasa Pemrograman
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 …
Saat kita belajar HTML, kita tahu bahwa saat kita membuat form, kita bisa submit data nya dengan method GET atau POST. Jika menggunakan method GET maka hasilnya semua data di form akan menjadi query parameter. Sedangkan jika menggunakan POST, maka semua data di form akan dikirim via body HTTP Request. Di golang, untuk mengambil data form POST sangatlah mudah. Penutup Pada artikel kali ini kita telah belajar tentang form post pada golang web. Dan pada artikel selanjutnya saya akan membahas …
Selain Query Parameter, dalam HTTP ada juga yang bernama Header, Header adalah informasi tambahan yang bisa dikirim dari client ke server atau sebaliknya. Jadi Header tidak hanya ada pada HTTP Request, pada HTTP Response pun kita bisa menambahkan informasi Header. Saat kita menggunakan browser, biasanya secara otomatis Header akan ditambahkan oleh browser, seperti informasi browser, jenis tipe konten yang dikirim dan diterima oleh browser, dan lain-lain. Request Header Untuk menangkap request Header yang dikirim oleh client, kita bisa mengambilnya di …
Query parameter adalah salah satu fitur yang biasa kita gunakan ketika membuat web, query parameter biasanya digunakan untuk mengirim data dari client ke server. Untuk menambahkan query parameter kita bisa menggunakan ?nama=value pada url nya. Dalam parameter Request, terdapat attribute URL yang berisi url.URL, dari data URL ini kita bisa mengambil data query parameter yang dikirim dari client dengan menggunakan method Query() yang akan mengembalikan map. Buatlah file baru dengan nama query_param_test.go kemudian masukkan baris kode berikut ini Multiple query …
Golang sudah menyediakan package khusus untuk membuat unit test terhadap fitur Web yang kita buat. Semuanya ada di dalam package net/http/httptest https://pkg.go.dev/net/http/httptest Dengan menggunakan package ini, kita bisa melakukan testing handler Web di Golang tanpa ahrus menajalankan aplikasi Web nya. Kita bisa fokus terhadap handler function yang ingin kita test. httptest.NewRequest() NewRequest(method, url, body) merupakan function yang digunakan untuk membuat http.Request. Kita bisa menentukan method, url dan body yang akan kita kirim sebagai simulasi unit test. Selain itu, kita juga …
Request adalah struct yang merepresentasikan HTTP Request yang dikirim oleh Web Browser, semua informasi request yang dikirim bisa kita dapatkan di Request. Seperti URL, http method, http method, http header, dan lain-lain. Cobalah buat unit test baru dan masukkan kode program berikut Coba jalankan unit test nya dan akses kembali http://localhost:8080 Penutup Pada artikel kali ini kita telah belajar cara membuat mengambil request pada golang web. Dan pada artikel selanjutnya saya akan membahas http test pada golang web. …
Saat membuat Web, kita biasanya ingin membuat banyak sekali endpoint URL, HandlerFunc sayannya tidak mendukung hal itu. Alternative nya kita bisa menggunakan ServeMux yang merupakan implementasi Handler yang bisa mendukung multiple endpoint. Berikut adalah contoh baris kode jika kita ingin membuat multiple endpoint dengan ServeMux Pada baris kode diatas perhatikan baris ke 11 dan 14, dimana kita membuat 2 HandleFunc dengan mux yang kita deklarasikan di baris 10. Selanjutnya yang perlu di perhatikan lagi adalah di baris 19 dimana 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 …
Server adalah struct yang terdapat di package net/http yang digunakan sebagai representasi Web Server di golang. Saat membuat data Server, ada beberapa hal yang perlu kita tentukan, seperti host dan port tempat Web kita berjalan. Setelah membuat Server kita bisa menjalankan Server tersebut menggunakan function ListenAndServer(). Untuk membuat server, coba lah dengan membuat project baru terlebih dahulu, kemudian di dalam project tersebut buat lah unit test baru dengan nama TestServer dan masukkan baris kode berikut Pada baris kode diatas, pertama …
Social Profiles