Golang : How to redirect to new page with net/http?
Problem :
You need to do a page redirect in Golang. How to do it ?
Solution :
Use net/http
package Redirect()
function.
For example :
Example 1:
package main
import (
"log"
"net/http"
)
func redirect(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "http://www.golang.org", 301)
}
func main() {
http.HandleFunc("/", redirect)
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
Example 2:
func viewHandler(w http.ResponseWriter, r *http.Request) {
title := r.URL.Path[len("/view/"):]
p, err := loadPage(title)
if err != nil {
http.Redirect(w, r, "/edit/"+title, http.StatusFound)
return
}
renderTemplate(w, "view", p)
}
References :
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+47k Golang : Upload file from web browser to server
+4.3k Gogland : Datasource explorer
+7.4k Android Studio : Import third-party library or package into Gradle Scripts
+15.5k Golang : File path independent of Operating System
+19.4k Golang : Convert date string to variants of time.Time type examples
+7.9k Golang : How to use Gorilla webtoolkit context package properly
+6.6k Golang : Command line ticker to show work in progress
+16.4k Golang : Login and logout a user after password verification and redirect example
+13.7k Golang : Missing Bazaar command
+4.5k Golang : Generate Interleaved 2 inch by 5 inch barcode
+3.8k Mac OSX : Get disk partitions' size, type and name