...
1
2
3
4
5 package render
6
7 import (
8 "fmt"
9 "net/http"
10 )
11
12
13 type Redirect struct {
14 Code int
15 Request *http.Request
16 Location string
17 }
18
19
20 func (r Redirect) Render(w http.ResponseWriter) error {
21 if (r.Code < http.StatusMultipleChoices || r.Code > http.StatusPermanentRedirect) && r.Code != http.StatusCreated {
22 panic(fmt.Sprintf("Cannot redirect with status code %d", r.Code))
23 }
24 http.Redirect(w, r.Request, r.Location, r.Code)
25 return nil
26 }
27
28
29 func (r Redirect) WriteContentType(http.ResponseWriter) {}
30
View as plain text