portal/api/api.go

30 lines
741 B
Go
Raw Normal View History

2024-01-12 00:11:53 +00:00
package api
import (
"git.lumeweb.com/LumeWeb/portal/interfaces"
"github.com/julienschmidt/httprouter"
2024-01-19 22:05:18 +00:00
"go.sia.tech/jape"
)
2024-01-12 00:11:53 +00:00
2024-01-19 22:05:18 +00:00
type MiddlewareFunc func(jape.Handler) jape.Handler
2024-01-12 00:11:53 +00:00
func Init(router interfaces.APIRegistry) error {
router.Register("s5", NewS5())
2024-01-12 00:11:53 +00:00
return nil
}
func registerProtocolSubdomain(portal interfaces.Portal, mux *httprouter.Router, name string) {
router := portal.ApiRegistry().Router()
2024-01-12 04:22:33 +00:00
domain := portal.Config().GetString("core.domain")
2024-01-12 04:22:56 +00:00
(*router)[name+"."+domain] = mux
}
2024-01-19 22:05:18 +00:00
func ApplyMiddlewares(handler jape.Handler, middlewares ...MiddlewareFunc) jape.Handler {
// Apply each middleware in reverse order
for i := len(middlewares) - 1; i >= 0; i-- {
handler = middlewares[i](handler)
}
return handler
}