Documentation
¶
Index ¶
- Variables
- type APIHandler
- func (h *APIHandler) CSRFGet(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) ChangeUsername(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) DeleteUser(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) LoginPost(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) LogoutPost(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) RefreshPost(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) SignupPost(w http.ResponseWriter, r *http.Request)
- func (h *APIHandler) UserGet(w http.ResponseWriter, r *http.Request)
- type RouteContractSpec
Constants ¶
This section is empty.
Variables ¶
View Source
var APIRouteSpecs = []RouteContractSpec{ { Method: http.MethodGet, Path: "/auth/api/v1/user", Errors: UserGetErrors, }, { Method: http.MethodPost, Path: "/auth/api/v1/sessions/refresh", Errors: RefreshPostErrors, }, { Method: http.MethodPost, Path: "/auth/api/v1/sessions/logout", Errors: LogoutPostErrors, }, }
View Source
var LogoutPostErrors = map[response.ErrorCode]response.ErrorSpec{}
View Source
var RefreshPostErrors = map[response.ErrorCode]response.ErrorSpec{ response.CodeUnauthorized: { Status: http.StatusUnauthorized, Code: response.CodeUnauthorized, }, response.CodeInvalidRequest: { Status: http.StatusBadRequest, Code: response.CodeInvalidRequest, }, response.CodeInternalError: { Status: http.StatusInternalServerError, Code: response.CodeInternalError, }, }
View Source
var UserGetErrors = map[response.ErrorCode]response.ErrorSpec{ response.CodeUnauthorized: { Status: http.StatusUnauthorized, Code: response.CodeUnauthorized, }, }
Functions ¶
This section is empty.
Types ¶
type APIHandler ¶
type APIHandler struct {
Auth *auth.Service
Session *session.Service
Limiter ratelimiter.AuthLimiter
Logger *slog.Logger
Google *google.Client
AccessTTL time.Duration
RefreshTTL time.Duration
}
func NewAPIHandler ¶
func NewAPIHandler(d authhandler.Deps) *APIHandler
func (*APIHandler) CSRFGet ¶
func (h *APIHandler) CSRFGet(w http.ResponseWriter, r *http.Request)
func (*APIHandler) ChangeUsername ¶
func (h *APIHandler) ChangeUsername(w http.ResponseWriter, r *http.Request)
func (*APIHandler) DeleteUser ¶
func (h *APIHandler) DeleteUser(w http.ResponseWriter, r *http.Request)
func (*APIHandler) LoginPost ¶
func (h *APIHandler) LoginPost(w http.ResponseWriter, r *http.Request)
func (*APIHandler) LogoutPost ¶
func (h *APIHandler) LogoutPost(w http.ResponseWriter, r *http.Request)
func (*APIHandler) RefreshPost ¶
func (h *APIHandler) RefreshPost(w http.ResponseWriter, r *http.Request)
func (*APIHandler) SignupPost ¶
func (h *APIHandler) SignupPost(w http.ResponseWriter, r *http.Request)
func (*APIHandler) UserGet ¶
func (h *APIHandler) UserGet(w http.ResponseWriter, r *http.Request)
Click to show internal directories.
Click to hide internal directories.