Documentation
¶
Index ¶
- Constants
- func BuildRoutes() http.Handler
- func CsrfMiddleware(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
- func GetSession(r *http.Request) *sessions.Session
- func HomeHandler(w http.ResponseWriter, r *http.Request)
- func IsLoggedIn(r *http.Request) bool
- func Login(u *User, w http.ResponseWriter, r *http.Request)
- func LoginRequiredMiddleware(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
- func LoginSuccessHandler(w http.ResponseWriter, r *http.Request)
- func Logout(w http.ResponseWriter, r *http.Request)
- func LogoutHandler(w http.ResponseWriter, r *http.Request)
- func ProfileHandler(w http.ResponseWriter, r *http.Request)
- func SendMail(to []string, subject, message string) error
- func SetContextUser(user *User, r *http.Request)
- func UserMiddleware(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
- func VerifyHandler(w http.ResponseWriter, r *http.Request)
- type User
Constants ¶
Variables ¶
This section is empty.
Functions ¶
func BuildRoutes ¶
BuildRoutes returns the routes for the application.
func CsrfMiddleware ¶
func CsrfMiddleware(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
CsrfMiddleware adds CSRF support via nosurf.
func GetSession ¶
GetSession returns the session for the site.
func HomeHandler ¶
func HomeHandler(w http.ResponseWriter, r *http.Request)
func IsLoggedIn ¶
IsLoggedIn is a convenience function for checking if a User exists in the request context.
func Login ¶
func Login(u *User, w http.ResponseWriter, r *http.Request)
Login adds the User's id to the session.
func LoginRequiredMiddleware ¶
func LoginRequiredMiddleware(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
LoginRequiredMiddleware ensures a User is logged in, otherwise redirects them to the login page.
func LoginSuccessHandler ¶
func LoginSuccessHandler(w http.ResponseWriter, r *http.Request)
func Logout ¶
func Logout(w http.ResponseWriter, r *http.Request)
Logout removes the User from their session.
func LogoutHandler ¶
func LogoutHandler(w http.ResponseWriter, r *http.Request)
func ProfileHandler ¶
func ProfileHandler(w http.ResponseWriter, r *http.Request)
func SetContextUser ¶
SetContextUser stores the given user in the request context.
func UserMiddleware ¶
func UserMiddleware(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)
UserMiddleware checks for the User in the session and adds them to the request context if they exist.
func VerifyHandler ¶
func VerifyHandler(w http.ResponseWriter, r *http.Request)
Types ¶
type User ¶
type User struct { Id int64 `db:"id"` Email string `db:"email"` Token string `db:"token"` Ttl time.Time `db:"ttl"` OriginUrl null.String `db:"originurl"` }
func GetContextUser ¶
GetContextUser returns the User for the given request context or nil.
func (*User) IsValidToken ¶
IsValidToken returns a bool indicating that the User's current token hasn't expired and that the provided token is valid.
func (*User) RefreshToken ¶
RefreshToken refreshes Ttl and Token for the User.