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
+4.2k Golang : Pad file extension automagically
+11.7k Golang : Convert(cast) uintptr to string example
+7.6k Golang : Set or add headers for many or different handlers
+18.3k Golang : Count JSON objects and convert to slice/array
+7.1k Golang : Reverse text lines or flip line order example
+6.4k Golang : Example of how to detect which type of script a word belongs to
+32.5k Golang : Call a function after some delay(time.Sleep and Tick)
+16.1k Golang : delete and modify XML file content
+5k Golang : Shuffle array of list
+10.4k Golang : Byte format example
+12.7k Golang : Get current time