mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Disable debug routes unless PPROF is enabled in configuration (#4995)
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							fc0001caa1
						
					
				
				
					commit
					ab5b245182
				
			
							
								
								
									
										4
									
								
								Gopkg.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								Gopkg.lock
									
									
									
										generated
									
									
									
								
							@@ -352,11 +352,11 @@
 | 
			
		||||
  revision = "66031fcb37a0fff002a1f028eb0b3a815c78306b"
 | 
			
		||||
 | 
			
		||||
[[projects]]
 | 
			
		||||
  digest = "1:6fb9cae2a3b4518e048a899b273e23b671802b611ccfcca0b576ecc08bb7b8f5"
 | 
			
		||||
  digest = "1:758d2371fcdee6d02565901b348729053c636055e67ef6e17aa466c7ff6cc57c"
 | 
			
		||||
  name = "github.com/go-macaron/toolbox"
 | 
			
		||||
  packages = ["."]
 | 
			
		||||
  pruneopts = "NUT"
 | 
			
		||||
  revision = "99a42f20e9e88daec5c0d7beb4e7eac134680ab0"
 | 
			
		||||
  revision = "a77f45a7ce909c0ff14b28279fa1a2b674acb70f"
 | 
			
		||||
 | 
			
		||||
[[projects]]
 | 
			
		||||
  digest = "1:747c1fcb10f8f6734551465ab73c6ed9c551aa6e66250fb6683d1624f554546a"
 | 
			
		||||
 
 | 
			
		||||
@@ -131,6 +131,7 @@ func NewMacaron() *macaron.Macaron {
 | 
			
		||||
				Func: models.Ping,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		DisableDebug: !setting.EnablePprof,
 | 
			
		||||
	}))
 | 
			
		||||
	m.Use(context.Contexter())
 | 
			
		||||
	return m
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								vendor/github.com/go-macaron/toolbox/toolbox.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/go-macaron/toolbox/toolbox.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -26,7 +26,7 @@ import (
 | 
			
		||||
	"gopkg.in/macaron.v1"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const _VERSION = "0.1.2"
 | 
			
		||||
const _VERSION = "0.1.4"
 | 
			
		||||
 | 
			
		||||
func Version() string {
 | 
			
		||||
	return _VERSION
 | 
			
		||||
@@ -58,6 +58,8 @@ type Options struct {
 | 
			
		||||
	HealthCheckFuncs []*HealthCheckFuncDesc
 | 
			
		||||
	// URL for URL map json. Default is "/urlmap.json".
 | 
			
		||||
	URLMapPrefix string
 | 
			
		||||
	// DisableDebug turns off all debug functionality.
 | 
			
		||||
	DisableDebug bool
 | 
			
		||||
	// URL prefix of pprof. Default is "/debug/pprof/".
 | 
			
		||||
	PprofURLPrefix string
 | 
			
		||||
	// URL prefix of profile. Default is "/debug/profile/".
 | 
			
		||||
@@ -98,7 +100,7 @@ func prepareOptions(options []Options) {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func dashboard(ctx *macaron.Context) string {
 | 
			
		||||
func dashboard() string {
 | 
			
		||||
	return fmt.Sprintf(`<p>Toolbox Index:</p>
 | 
			
		||||
	<ol>
 | 
			
		||||
	    <li><a href="%s">Pprof Information</a></li>
 | 
			
		||||
@@ -125,23 +127,25 @@ func Toolboxer(m *macaron.Macaron, options ...Options) macaron.Handler {
 | 
			
		||||
	for _, fd := range opt.HealthCheckFuncs {
 | 
			
		||||
		t.AddHealthCheckFunc(fd.Desc, fd.Func)
 | 
			
		||||
	}
 | 
			
		||||
	m.Get(opt.HealthCheckURL, t.handleHealthCheck)
 | 
			
		||||
	m.Route(opt.HealthCheckURL, "HEAD,GET", t.handleHealthCheck)
 | 
			
		||||
 | 
			
		||||
	// URL map.
 | 
			
		||||
	m.Get(opt.URLMapPrefix, func(rw http.ResponseWriter) {
 | 
			
		||||
		t.JSON(rw)
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	// Pprof.
 | 
			
		||||
	m.Any(path.Join(opt.PprofURLPrefix, "cmdline"), pprof.Cmdline)
 | 
			
		||||
	m.Any(path.Join(opt.PprofURLPrefix, "profile"), pprof.Profile)
 | 
			
		||||
	m.Any(path.Join(opt.PprofURLPrefix, "symbol"), pprof.Symbol)
 | 
			
		||||
	m.Any(opt.PprofURLPrefix, pprof.Index)
 | 
			
		||||
	m.Any(path.Join(opt.PprofURLPrefix, "*"), pprof.Index)
 | 
			
		||||
	if !opt.DisableDebug {
 | 
			
		||||
		// Pprof
 | 
			
		||||
		m.Any(path.Join(opt.PprofURLPrefix, "cmdline"), pprof.Cmdline)
 | 
			
		||||
		m.Any(path.Join(opt.PprofURLPrefix, "profile"), pprof.Profile)
 | 
			
		||||
		m.Any(path.Join(opt.PprofURLPrefix, "symbol"), pprof.Symbol)
 | 
			
		||||
		m.Any(opt.PprofURLPrefix, pprof.Index)
 | 
			
		||||
		m.Any(path.Join(opt.PprofURLPrefix, "*"), pprof.Index)
 | 
			
		||||
 | 
			
		||||
	// Profile.
 | 
			
		||||
	profilePath = opt.ProfilePath
 | 
			
		||||
	m.Get(opt.ProfileURLPrefix, handleProfile)
 | 
			
		||||
		// Profile
 | 
			
		||||
		profilePath = opt.ProfilePath
 | 
			
		||||
		m.Get(opt.ProfileURLPrefix, handleProfile)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Routes statistic.
 | 
			
		||||
	t.UrlMap = &UrlMap{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user