Dalam pembuatan web, ada konsep yang bernama middleware atau interceptor, middleware adalah sebuah fitur dimana kita bisa menambahkan kode sebelum dan setelah sebuah handler di eksekusi. Implementasi middleware Sayangnya, digolang tidak ada middleware, namun karena struktur handler yang dibuat di golang menggunakan interface, kita bisa membuat middleware sendiri menggunakan handler. Untuk mencobanya, buatlah file baru dengan nama middleware_test.go dan isikan baris kode berikut Pada kode program diatas, kita membuat midleware di baris ke 13 yang mana mengimplementasikan interface Handler, dan …
Tag: Web
Selain upload file, kadang kita ingin membuat halaman website yang digunakan untuk download sesuatu, sebenarnya digolang sudah di sediakan menggunakan FileServer & ServeFile. Dan jika kita ingin memaksa file di download (tanpa dirender oleh browser, kita bisa menggunakan header Content-Disposition). Contohnya, buat file baru dengan nama download_file_test.go dan masukkan baris kode berikut Penutup Pada artikel kali ini kita telah belajar tentang download file pada golang web. Dan pada artikel selanjutnya saya akan membahas middleware pada golang web. …
Saat membuat web, selain menerima input data berupa form dan query param, kadang kita juga menerima input data berupa file dari client, golang web sudah punya fitur management upload file. Hal ini memudahkan kita ketika butuh membuat web yang menerima input file upload. Multipart Saat kita ingin menerima upload file, kita perlu melakukan parshing terlebih dahulu menggunakan Request.ParseMultipartForm(size), atau kita bisa langsung ambil data file nya menggunakan Request.FormFile(name), di dalamnya secara otomatis melakukan parsing terlebih dahulu, Hasilnya merupakan data-data yang …
Saat kita membuat website, kadang kita butuh melakukan redirect, misal setelah selesai login kita redirect ke halaman dashboard. Untuk melakukan hal ini kita hanya perlu membuat response code 3xx dan menambahkan header location. Namun untung nya digolang, ada function yang bisa kita gunakan untuk mempermudah ini. Penutup Pada artikel kali ini kita telah belajar tentang redirect pada golang web. Dan pada artikel selanjutnya saya akan membahas upload file pada golang web. …
XSS adalah salah satu security issue yang biasa terjadi ketika membuat website, XSS adalah celah keamanan, dimana orang bisa secara sengaja memasukkan parameter yang mengandung JavaScript agar dirender oleh halaman website kita. Biasanya tujuan dari XSS adalah mencuri cookie browser pengguna yang sedang mengakses website kita. XSS bisa menyebabkan akun pengguna kita diambil alih jika tidak ditangani dengan baik. Auto Escape Berbeda dengan bahasa pemrogaman lain seperi PHP, pada golang template, masalah XSS sudah diatasi secara otomatis, golang template memiliki …
Sampai saat ini kita hanya membahas tentang membuat response menggunakan String dan juga static file. Pada kenyataan nya, saat kita membuat web kita pasti akan membuat halaman yang dinamis, bisa berubah-ubah sesuai data yang diakses oleh user. Di golang terdapat fitur HTML Template, yaitu fitur template yang bisa kita gunakan untuk membuat HTML yang dinamis. HTML Template Fitur HTML Template terdapat di package html/template, sebelum menggunakan template, kita perlu terlebih dahulu membuat template nya. Template bisa berupa file atau string. …
Kadang ada kasus misal kita hanya ingin menggunakan static file sesuai dengan yang kita inginkan. Hal ini bisa kita lakukan dengan function http.ServeFile(), dengan menggunakan function ini, kita bisa menentukan file mana yang ingin kita tulis ke http response. Golang Embed Parameter function http.ServeFile hanya berisi string file name, sehingga tidak bisa menggunakan golang embed. Namun bukan berarti kita tidak bisa menggunakan golang embed, karena jiak untuk melakukan load file, kita hanya butuh menggunakan package fmt dan ResponseWriter saja. Penutup …
Golang memiliki sebuah fitur yang bernama FileServer. Dengan ini, kita bisa membuat handler di golang web yang digunakan sebagai static file server. Dengan menggunakan FileServer, kita tidak perlu manual me-load file lagi. FileServer adalah handler, jadi kita bisa tambahkan ke dalam http.Server atau http.ServeMux Kode program : Membuat file server Pertama buatlah folder baru dengan nama resources dan didalam nya buat file static baru dengan nama index.html dan isikan baris kode berikut Kemudian buat file baru pada project dengan nama …
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 …
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 …
Social Profiles