mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-23 01:57:55 +08:00
去除调试fmt.Println
This commit is contained in:
parent
17031001f0
commit
f364636816
@ -20,7 +20,6 @@ import (
|
|||||||
"github.com/gin-contrib/sse"
|
"github.com/gin-contrib/sse"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
"github.com/gin-gonic/gin/render"
|
"github.com/gin-gonic/gin/render"
|
||||||
"fmt"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Content-Type MIME of the most common data formats.
|
// Content-Type MIME of the most common data formats.
|
||||||
@ -54,6 +53,8 @@ type Context struct {
|
|||||||
// Keys is a key/value pair exclusively for the context of each request.
|
// Keys is a key/value pair exclusively for the context of each request.
|
||||||
Keys map[string]interface{}
|
Keys map[string]interface{}
|
||||||
|
|
||||||
|
RelativePath string
|
||||||
|
|
||||||
// Errors is a list of errors attached to all the handlers/middlewares who used this context.
|
// Errors is a list of errors attached to all the handlers/middlewares who used this context.
|
||||||
Errors errorMsgs
|
Errors errorMsgs
|
||||||
|
|
||||||
@ -635,10 +636,6 @@ func (c *Context) ShouldBindBodyWith(obj interface{}, bb binding.BindingBody) (e
|
|||||||
// X-Real-IP and X-Forwarded-For in order to work properly with reverse-proxies such us: nginx or haproxy.
|
// X-Real-IP and X-Forwarded-For in order to work properly with reverse-proxies such us: nginx or haproxy.
|
||||||
// Use X-Forwarded-For before X-Real-Ip as nginx uses X-Real-Ip with the proxy's IP.
|
// Use X-Forwarded-For before X-Real-Ip as nginx uses X-Real-Ip with the proxy's IP.
|
||||||
func (c *Context) ClientIP() string {
|
func (c *Context) ClientIP() string {
|
||||||
root:=c.engine.trees[0].root
|
|
||||||
fmt.Println("wsh2:",(*root.children[0]).allPath,root.indices)
|
|
||||||
fmt.Println("wsh002:",(*(root.children[1])),root.indices)
|
|
||||||
fmt.Println("wsh02:",len(root.children))
|
|
||||||
if c.engine.ForwardedByClientIP {
|
if c.engine.ForwardedByClientIP {
|
||||||
clientIP := c.requestHeader("X-Forwarded-For")
|
clientIP := c.requestHeader("X-Forwarded-For")
|
||||||
clientIP = strings.TrimSpace(strings.Split(clientIP, ",")[0])
|
clientIP = strings.TrimSpace(strings.Split(clientIP, ",")[0])
|
||||||
|
3
debug.go
3
debug.go
@ -6,12 +6,12 @@ package gin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
|
||||||
"html/template"
|
"html/template"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
const ginSupportMinGoVer = 6
|
const ginSupportMinGoVer = 6
|
||||||
@ -30,7 +30,6 @@ func debugPrintRoute(httpMethod, absolutePath string, handlers HandlersChain) {
|
|||||||
nuHandlers := len(handlers)
|
nuHandlers := len(handlers)
|
||||||
handlerName := nameOfFunction(handlers.Last())
|
handlerName := nameOfFunction(handlers.Last())
|
||||||
if DebugPrintRouteFunc == nil {
|
if DebugPrintRouteFunc == nil {
|
||||||
fmt.Println("wsh1:",absolutePath)
|
|
||||||
debugPrint("%-6s %-25s --> %s (%d handlers)\n", httpMethod, absolutePath, handlerName, nuHandlers)
|
debugPrint("%-6s %-25s --> %s (%d handlers)\n", httpMethod, absolutePath, handlerName, nuHandlers)
|
||||||
} else {
|
} else {
|
||||||
DebugPrintRouteFunc(httpMethod, absolutePath, handlerName, nuHandlers)
|
DebugPrintRouteFunc(httpMethod, absolutePath, handlerName, nuHandlers)
|
||||||
|
6
gin.go
6
gin.go
@ -5,12 +5,12 @@
|
|||||||
package gin
|
package gin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"html/template"
|
"html/template"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin/render"
|
"github.com/gin-gonic/gin/render"
|
||||||
)
|
)
|
||||||
@ -376,11 +376,11 @@ func (engine *Engine) handleHTTPRequest(c *Context) {
|
|||||||
}
|
}
|
||||||
root := t[i].root
|
root := t[i].root
|
||||||
// Find route in tree
|
// Find route in tree
|
||||||
handlers, params, tsr,_ := root.getValue(path, c.Params, unescape)
|
handlers, params, tsr,relativePath := root.getValue(path, c.Params, unescape)
|
||||||
if handlers != nil {
|
if handlers != nil {
|
||||||
c.handlers = handlers
|
c.handlers = handlers
|
||||||
c.Params = params
|
c.Params = params
|
||||||
fmt.Println("params:",params)
|
c.RelativePath=relativePath
|
||||||
c.Next()
|
c.Next()
|
||||||
c.writermem.WriteHeaderNow()
|
c.writermem.WriteHeaderNow()
|
||||||
return
|
return
|
||||||
|
20
tree.go
20
tree.go
@ -8,7 +8,6 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
"fmt"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Param is a single URL parameter, consisting of a key and a value.
|
// Param is a single URL parameter, consisting of a key and a value.
|
||||||
@ -125,7 +124,6 @@ func (n *node) incrementChildPrio(pos int) int {
|
|||||||
// addRoute adds a node with the given handle to the path.
|
// addRoute adds a node with the given handle to the path.
|
||||||
// Not concurrency-safe!
|
// Not concurrency-safe!
|
||||||
func (n *node) addRoute(path string, handlers HandlersChain) {
|
func (n *node) addRoute(path string, handlers HandlersChain) {
|
||||||
fmt.Println("wsh66:",path)
|
|
||||||
fullPath := path
|
fullPath := path
|
||||||
n.priority++
|
n.priority++
|
||||||
numParams := countParams(path)
|
numParams := countParams(path)
|
||||||
@ -368,7 +366,6 @@ func (n *node) insertChild(numParams uint8, path string, fullPath string, handle
|
|||||||
}
|
}
|
||||||
|
|
||||||
// insert remaining path part and handle to the leaf
|
// insert remaining path part and handle to the leaf
|
||||||
fmt.Println("wsh21:",path[offset:])
|
|
||||||
n.path = path[offset:]
|
n.path = path[offset:]
|
||||||
n.handlers = handlers
|
n.handlers = handlers
|
||||||
}
|
}
|
||||||
@ -378,11 +375,7 @@ func (n *node) insertChild(numParams uint8, path string, fullPath string, handle
|
|||||||
// If no handle can be found, a TSR (trailing slash redirect) recommendation is
|
// If no handle can be found, a TSR (trailing slash redirect) recommendation is
|
||||||
// made if a handle exists with an extra (without the) trailing slash for the
|
// made if a handle exists with an extra (without the) trailing slash for the
|
||||||
// given path.
|
// given path.
|
||||||
func (n *node) getValue(path string, po Params, unescape bool) (handlers HandlersChain, p Params, tsr bool,regPath string) {
|
func (n *node) getValue(path string, po Params, unescape bool) (handlers HandlersChain, p Params, tsr bool,relativePath string) {
|
||||||
regPath=""
|
|
||||||
defer func() {
|
|
||||||
fmt.Println("tsr:",tsr,"regpath:",regPath)
|
|
||||||
}()
|
|
||||||
p = po
|
p = po
|
||||||
walk: // Outer loop for walking the tree
|
walk: // Outer loop for walking the tree
|
||||||
for {
|
for {
|
||||||
@ -397,8 +390,7 @@ walk: // Outer loop for walking the tree
|
|||||||
for i := 0; i < len(n.indices); i++ {
|
for i := 0; i < len(n.indices); i++ {
|
||||||
if c == n.indices[i] {
|
if c == n.indices[i] {
|
||||||
n = n.children[i]
|
n = n.children[i]
|
||||||
regPath+=n.path
|
relativePath+=n.path
|
||||||
fmt.Println("path4:",n.path,regPath)
|
|
||||||
continue walk
|
continue walk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -430,8 +422,7 @@ walk: // Outer loop for walking the tree
|
|||||||
|
|
||||||
val := path[:end]
|
val := path[:end]
|
||||||
|
|
||||||
regPath+=n.path
|
relativePath+=n.path
|
||||||
fmt.Println("path6:",n.path,regPath)
|
|
||||||
if unescape {
|
if unescape {
|
||||||
var err error
|
var err error
|
||||||
if p[i].Value, err = url.QueryUnescape(val); err != nil {
|
if p[i].Value, err = url.QueryUnescape(val); err != nil {
|
||||||
@ -475,7 +466,6 @@ walk: // Outer loop for walking the tree
|
|||||||
i := len(p)
|
i := len(p)
|
||||||
p = p[:i+1] // expand slice within preallocated capacity
|
p = p[:i+1] // expand slice within preallocated capacity
|
||||||
p[i].Key = n.path[2:]
|
p[i].Key = n.path[2:]
|
||||||
fmt.Println("path5:",n.path,n.allPath)
|
|
||||||
if unescape {
|
if unescape {
|
||||||
var err error
|
var err error
|
||||||
if p[i].Value, err = url.QueryUnescape(path); err != nil {
|
if p[i].Value, err = url.QueryUnescape(path); err != nil {
|
||||||
@ -493,8 +483,7 @@ walk: // Outer loop for walking the tree
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if path == n.path {
|
} else if path == n.path {
|
||||||
fmt.Println("path2:",n.path)
|
relativePath+=n.path
|
||||||
regPath+=n.path
|
|
||||||
// We should have reached the node containing the handle.
|
// We should have reached the node containing the handle.
|
||||||
// Check if this node has a handle registered.
|
// Check if this node has a handle registered.
|
||||||
if handlers = n.handlers; handlers != nil {
|
if handlers = n.handlers; handlers != nil {
|
||||||
@ -510,7 +499,6 @@ walk: // Outer loop for walking the tree
|
|||||||
// trailing slash exists for trailing slash recommendation
|
// trailing slash exists for trailing slash recommendation
|
||||||
for i := 0; i < len(n.indices); i++ {
|
for i := 0; i < len(n.indices); i++ {
|
||||||
if n.indices[i] == '/' {
|
if n.indices[i] == '/' {
|
||||||
fmt.Println("path3:",n.children[i].path)
|
|
||||||
n = n.children[i]
|
n = n.children[i]
|
||||||
tsr = (len(n.path) == 1 && n.handlers != nil) ||
|
tsr = (len(n.path) == 1 && n.handlers != nil) ||
|
||||||
(n.nType == catchAll && n.children[0].handlers != nil)
|
(n.nType == catchAll && n.children[0].handlers != nil)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user