all repos — homestead @ b16c1c7338333ad5f9c968f7fa579015d350672a

Code for my website

extract HTTP logic to shared module

Alan Pearce
commit

b16c1c7338333ad5f9c968f7fa579015d350672a

parent

1ac299018401dc48caeb862b4dcc117a7a65e091

1 file changed, 22 insertions(+), 0 deletions(-)

changed files
A shared/http/redirect.go
@@ -0,0 +1,22 @@
+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) +}