knowyt/server/src/handler/authmux.go

44 lines
944 B
Go
Raw Normal View History

2021-07-28 20:21:14 +00:00
package handler
import (
"net/http"
"sirlab.de/go/knowyt/application"
"sirlab.de/go/knowyt/user"
2021-07-28 20:21:14 +00:00
)
2021-07-29 19:06:25 +00:00
type HandlerFunc func(http.ResponseWriter, *http.Request)
2021-08-05 13:35:39 +00:00
type PrivateHandlerFunc func(*user.User, http.ResponseWriter, *http.Request)
2021-07-29 19:06:25 +00:00
2021-07-28 20:21:14 +00:00
type AuthMux struct {
2021-08-01 16:36:02 +00:00
mux *http.ServeMux
Port int
2021-08-01 17:06:33 +00:00
app *application.Application
2021-07-28 20:21:14 +00:00
}
2021-08-01 17:06:33 +00:00
func NewAuthMux(app *application.Application) *AuthMux {
2021-08-01 16:36:02 +00:00
mux := AuthMux{
2021-08-01 17:06:33 +00:00
app: app,
2021-08-01 16:36:02 +00:00
mux: http.NewServeMux(),
Port: 32039,
}
http.Handle("/", mux.mux)
return &mux
2021-07-28 20:21:14 +00:00
}
func (authMux *AuthMux) ServeHTTP(w http.ResponseWriter, r *http.Request) {
authMux.mux.ServeHTTP(w, r)
}
2021-07-29 19:06:25 +00:00
func (authMux *AuthMux) PublicHandleFunc(pattern string, handlerFunc HandlerFunc) {
2021-07-28 20:21:14 +00:00
authMux.mux.HandleFunc(pattern, handlerFunc)
}
func (authMux *AuthMux) PublicHandle(pattern string, handler http.Handler) {
authMux.mux.Handle(pattern, handler)
}
2021-08-01 16:36:02 +00:00
func (authMux *AuthMux) ListenAndServe() {
http.ListenAndServe(":32039", nil)
}