gindump

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2021 License: MIT Imports: 11 Imported by: 48

README

gin-dump

  • Gin middleware/handler to dump header/body of request and response .

  • Very helpful for debugging your applications.

  • More beautiful output than httputil.DumpXXX()

Content-type support / todo

  • application/json
  • application/x-www-form-urlencoded
  • text/xml
  • application/xml
  • text/plain

Usage

All:

func main() {
    router := gin.Default()
    
    //use Dump() default will print on stdout
    router.Use(gindump.Dump())
    
    //or use DumpWithOptions() with more options    
    router.Use(gindump.DumpWithOptions(true, true, false, true, false, func(dumpStr string) {
	    fmt.Println(dumpStr)
    }))
    
    router.Post("/",myHandler)
    
    ...
    
    router.Run()
}

Group:

func main() {
    router := gin.Default()
    
    dumpGroup := router.Group("/group")
    
    //use Dump() default will print on stdout
    dumpGroup.Use(gindump.Dump())
    
    //or use DumpWithOptions() with more options    
    dumpGroup.Use(gindump.DumpWithOptions(true, true, false, true, false, func(dumpStr string) {
	    fmt.Println(dumpStr)
    }))
    
    dumpGroup.Post("/",myHandler)
    
    ...
    
    router.Run()
}

EndPoint:

func main() {
    router := gin.Default()
    
    //use Dump() default will print on stdout
    router.Post("/",gindump.Dump(),myHandler)
    
    //or use DumpWithOptions() with more options    
    router.Post("/",gindump.DumpWithOptions(true, true, false, true, false, func(dumpStr string) {
	    fmt.Println(dumpStr)
    }),myHandler)
    
    ...
    
    router.Run()
}
Output is as follows
[GIN-dump]:
Request-Header:
{
    "Content-Type": [
        "application/x-www-form-urlencoded"
    ]
}
Request-Body:
{
    "bar": [
        "baz"
    ],
    "foo": [
        "bar",
        "bar2"
    ]
}
Response-Header:
{
    "Content-Type": [
        "application/json; charset=utf-8"
    ]
}
Response-Body:
{
    "data": {
        "addr": "tpkeeper@qq.com",
        "name": "jfise"
    },
    "ok": true
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Indent = 4
View Source
var Newline = "\n"
View Source
var StringMaxLength = 0

Functions

func BeautifyJsonBytes added in v0.1.0

func BeautifyJsonBytes(data []byte, hiddenFields []string) ([]byte, error)

func Dump

func Dump() gin.HandlerFunc

func DumpWithOptions added in v0.1.0

func DumpWithOptions(showReq bool, showResp bool, showBody bool, showHeaders bool, showCookies bool, cb func(dumpStr string)) gin.HandlerFunc

func FormatToBeautifulJson added in v1.0.0

func FormatToBeautifulJson(v interface{}, hiddenFields []string) ([]byte, error)

transfer v to beautified json bytes

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL