Documentation
¶
Index ¶
- func Authenticator(next http.Handler) http.Handler
- func CSRFMiddleware(next http.Handler) http.Handler
- func ChangeSessionRole(w http.ResponseWriter, r *http.Request)
- func ClearCSRFCookie(w http.ResponseWriter, secure bool)
- func ClearJWTCookie(w http.ResponseWriter, r *http.Request, domain string)
- func CreateTestAdminUser(id, email, password string) *ent.AdminUser
- func CreateTestAdminUserWithDefaultRole(user *ent.AdminUser, role *ent.Role) *ent.AdminUser
- func CreateTestRole(id, name string) *ent.Role
- func HandlerWithHeaders(title, endpoint string, fetcherHeaders, uiHeaders map[string]string) http.HandlerFunc
- func Login(w http.ResponseWriter, r *http.Request)
- func NewCSRFToken() (string, error)
- func Playground(title, endpoint string) http.HandlerFunc
- func SecurityHeaders(cfg *config.Config) func(http.Handler) http.Handler
- func ServeAdmin() http.Handler
- func ServeFS(fsys fs.FS) http.Handler
- func SetCSRFCookie(w http.ResponseWriter, token string, secure bool)
- func SetJWTCookie(w http.ResponseWriter, r *http.Request, token string, domain string)
- func Signup(w http.ResponseWriter, r *http.Request)
- type ChangeSessionRoleRequest
- type IPRateLimiter
- type LoginFormData
- type SignupFormData
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChangeSessionRole ¶
func ChangeSessionRole(w http.ResponseWriter, r *http.Request)
func ClearCSRFCookie ¶ added in v0.1.9
func ClearCSRFCookie(w http.ResponseWriter, secure bool)
func ClearJWTCookie ¶ added in v0.1.9
func ClearJWTCookie(w http.ResponseWriter, r *http.Request, domain string)
func CreateTestAdminUser ¶ added in v0.1.5
CreateTestAdminUser creates a test AdminUser entity
func CreateTestAdminUserWithDefaultRole ¶ added in v0.1.5
CreateTestAdminUserWithDefaultRole creates a test AdminUser with DefaultRole in Edges
func CreateTestRole ¶ added in v0.1.5
CreateTestRole creates a test Role entity
func HandlerWithHeaders ¶
func HandlerWithHeaders( title, endpoint string, fetcherHeaders, uiHeaders map[string]string, ) http.HandlerFunc
HandlerWithHeaders sets up the playground. fetcherHeaders are used by the playground's fetcher instance and will not be visible in the UI. uiHeaders are default headers that will show up in the UI headers editor.
func Login ¶
func Login(w http.ResponseWriter, r *http.Request)
TODO: 1. sanitize error messages; 2. move to api; 3. add logs;
func NewCSRFToken ¶ added in v0.1.9
func Playground ¶
func Playground(title, endpoint string) http.HandlerFunc
Handler responsible for setting up the playground
func SecurityHeaders ¶ added in v0.1.9
SecurityHeaders sets baseline HTTP security headers on every response. HSTS is only set in production and only when the request is HTTPS (direct TLS or X-Forwarded-Proto=https).
func ServeAdmin ¶ added in v0.1.6
func ServeFS ¶ added in v0.1.6
ServeFS serves files from a provided fs.FS under the given urlPrefix. Behavior: serves files, serves directory/index.html if present, falls back to root index.html for SPA routes.
func SetCSRFCookie ¶ added in v0.1.9
func SetCSRFCookie(w http.ResponseWriter, token string, secure bool)
func SetJWTCookie ¶ added in v0.1.9
Types ¶
type ChangeSessionRoleRequest ¶
type ChangeSessionRoleRequest struct {
Role string
}
type IPRateLimiter ¶ added in v0.1.9
type IPRateLimiter struct {
// contains filtered or unexported fields
}
func NewIPRateLimiter ¶ added in v0.1.9
func NewIPRateLimiter(rpm int) *IPRateLimiter
func (*IPRateLimiter) Middleware ¶ added in v0.1.9
func (l *IPRateLimiter) Middleware(next http.Handler) http.Handler