A shared/http/redirect.go+package http
+
+import (
+ "net/http"
+ "net/url"
+)
+
+func Redirect(w http.ResponseWriter, r *http.Request, url *url.URL, code int) {
+ http.Redirect(w, r, url.String(), code)
+}
+
+func RedirectHandler(url *url.URL, code int) http.Handler {
+ return http.RedirectHandler(url.String(), code)
+}
+
+func PermanentRedirect(w http.ResponseWriter, r *http.Request, url *url.URL) {
+ Redirect(w, r, url, http.StatusMovedPermanently)
+}
+
+func TemporaryRedirect(w http.ResponseWriter, r *http.Request, url *url.URL) {
+ Redirect(w, r, url, http.StatusFound)
+}