github.com/gofiber/fiber/v2@v2.47.0/middleware/pprof/config.go (about)

     1  package pprof
     2  
     3  import (
     4  	"github.com/gofiber/fiber/v2"
     5  )
     6  
     7  // Config defines the config for middleware.
     8  type Config struct {
     9  	// Next defines a function to skip this middleware when returned true.
    10  	//
    11  	// Optional. Default: nil
    12  	Next func(c *fiber.Ctx) bool
    13  
    14  	// Prefix defines a URL prefix added before "/debug/pprof".
    15  	// Note that it should start with (but not end with) a slash.
    16  	// Example: "/federated-fiber"
    17  	//
    18  	// Optional. Default: ""
    19  	Prefix string
    20  }
    21  
    22  var ConfigDefault = Config{
    23  	Next: nil,
    24  }
    25  
    26  func configDefault(config ...Config) Config {
    27  	// Return default config if nothing provided
    28  	if len(config) < 1 {
    29  		return ConfigDefault
    30  	}
    31  
    32  	// Override default config
    33  	cfg := config[0]
    34  
    35  	// Set default values
    36  	if cfg.Next == nil {
    37  		cfg.Next = ConfigDefault.Next
    38  	}
    39  
    40  	return cfg
    41  }