Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion cmd/pd-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,10 @@ func start(cmd *cobra.Command, args []string, services ...string) {

// Creates server.
ctx, cancel := context.WithCancel(context.Background())
serviceBuilders := []server.HandlerBuilder{api.NewHandler, apiv2.NewV2Handler, swaggerserver.NewHandler, autoscaling.NewHandler}
serviceBuilders := []server.HandlerBuilder{api.NewHandler, apiv2.NewV2Handler, autoscaling.NewHandler}
if swaggerserver.Enabled() {
serviceBuilders = append(serviceBuilders, swaggerserver.NewHandler)
}
serviceBuilders = append(serviceBuilders, dashboard.GetServiceBuilders()...)
svr, err := server.CreateServer(ctx, cfg, services, serviceBuilders...)
if err != nil {
Expand Down
29 changes: 0 additions & 29 deletions pkg/swaggerserver/swagger_handler.go

This file was deleted.

12 changes: 11 additions & 1 deletion pkg/swaggerserver/swaggerserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,17 @@
// See the License for the specific language governing permissions and
// limitations under the License.

//go:build swagger_server
// +build swagger_server

package swaggerserver

import (
"context"
"net/http"

httpSwagger "github.com/swaggo/http-swagger"
_ "github.com/tikv/pd/docs/swagger"
"github.com/tikv/pd/pkg/utils/apiutil"
"github.com/tikv/pd/server"
)
Expand All @@ -33,9 +38,14 @@ var (
}
)

// Enabled return true if swagger server is disabled.
func Enabled() bool {
return true
}

// NewHandler creates a HTTP handler for Swagger.
func NewHandler(context.Context, *server.Server) (http.Handler, apiutil.APIServiceGroup, error) {
swaggerHandler := http.NewServeMux()
swaggerHandler.Handle(swaggerPrefix, handler())
swaggerHandler.Handle(swaggerPrefix, httpSwagger.Handler())
return swaggerHandler, swaggerServiceGroup, nil
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020 TiKV Project Authors.
// Copyright 2023 TiKV Project Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand All @@ -18,12 +18,19 @@
package swaggerserver

import (
"io"
"context"
"net/http"

"github.com/tikv/pd/pkg/utils/apiutil"
"github.com/tikv/pd/server"
)

func handler() http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, _ = io.WriteString(w, "Swagger UI is not built. Try `make` with `SWAGGER=1`.\n")
})
// Enabled return false if swagger server is disabled.
func Enabled() bool {
return false
}

// NewHandler creates a HTTP handler for Swagger.
func NewHandler(context.Context, *server.Server) (http.Handler, apiutil.APIServiceGroup, error) {
return nil, apiutil.APIServiceGroup{}, nil
}
5 changes: 4 additions & 1 deletion tests/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,10 @@ func createTestServer(ctx context.Context, cfg *config.Config, services []string
if err != nil {
return nil, err
}
serviceBuilders := []server.HandlerBuilder{api.NewHandler, apiv2.NewV2Handler, swaggerserver.NewHandler, autoscaling.NewHandler}
serviceBuilders := []server.HandlerBuilder{api.NewHandler, apiv2.NewV2Handler, autoscaling.NewHandler}
if swaggerserver.Enabled() {
serviceBuilders = append(serviceBuilders, swaggerserver.NewHandler)
}
serviceBuilders = append(serviceBuilders, dashboard.GetServiceBuilders()...)
svr, err := server.CreateServer(ctx, cfg, services, serviceBuilders...)
if err != nil {
Expand Down