mirror of
https://github.com/hibiken/asynqmon.git
synced 2025-01-18 18:55:54 +08:00
expose http.Handler and hide mux router
This commit is contained in:
parent
008c1b1b4a
commit
545721076b
@ -5,13 +5,13 @@ import (
|
||||
"embed"
|
||||
"flag"
|
||||
"fmt"
|
||||
"github.com/gorilla/mux"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-redis/redis/v7"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/rs/cors"
|
||||
|
||||
"github.com/hibiken/asynq"
|
||||
@ -117,23 +117,23 @@ func main() {
|
||||
}
|
||||
defer redisClient.Close()
|
||||
|
||||
router := asynqmon.NewRouter(asynqmon.RouterOptions{
|
||||
h := asynqmon.NewHandler(asynqmon.HandlerOptions{
|
||||
Inspector: inspector,
|
||||
Middlewares: []mux.MiddlewareFunc{loggingMiddleware},
|
||||
RedisClient: redisClient,
|
||||
StaticContentHandler: asynqmon.NewStaticContentHandler(
|
||||
staticContents,
|
||||
"ui-assets",
|
||||
"index.html",
|
||||
),
|
||||
})
|
||||
|
||||
router.PathPrefix("/").
|
||||
Handler(asynqmon.NewStaticContentHandler(staticContents, "ui-assets", "index.html"))
|
||||
|
||||
c := cors.New(cors.Options{
|
||||
AllowedMethods: []string{"GET", "POST", "DELETE"},
|
||||
})
|
||||
|
||||
handler := c.Handler(router)
|
||||
|
||||
srv := &http.Server{
|
||||
Handler: handler,
|
||||
Handler: c.Handler(h),
|
||||
Addr: fmt.Sprintf(":%d", flagPort),
|
||||
WriteTimeout: 10 * time.Second,
|
||||
ReadTimeout: 10 * time.Second,
|
||||
|
@ -3,18 +3,20 @@ package asynqmon
|
||||
import (
|
||||
"github.com/go-redis/redis/v7"
|
||||
"github.com/gorilla/mux"
|
||||
"net/http"
|
||||
|
||||
"github.com/hibiken/asynq"
|
||||
)
|
||||
|
||||
type RouterOptions struct {
|
||||
RedisClient redis.UniversalClient
|
||||
Inspector *asynq.Inspector
|
||||
Middlewares []mux.MiddlewareFunc
|
||||
BytesStringer BytesStringer
|
||||
type HandlerOptions struct {
|
||||
RedisClient redis.UniversalClient
|
||||
Inspector *asynq.Inspector
|
||||
Middlewares []mux.MiddlewareFunc
|
||||
BytesStringer BytesStringer
|
||||
StaticContentHandler http.Handler
|
||||
}
|
||||
|
||||
func NewRouter(opts RouterOptions) *mux.Router {
|
||||
func NewHandler(opts HandlerOptions) http.Handler {
|
||||
router := mux.NewRouter()
|
||||
inspector := opts.Inspector
|
||||
t := &transformer{bs: defaultBytesStringer}
|
||||
@ -98,5 +100,7 @@ func NewRouter(opts RouterOptions) *mux.Router {
|
||||
api.HandleFunc("/redis_info", newRedisInfoHandlerFunc(c)).Methods("GET")
|
||||
}
|
||||
|
||||
api.Handle("/", opts.StaticContentHandler)
|
||||
|
||||
return router
|
||||
}
|
Loading…
Reference in New Issue
Block a user