gindump

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2019 License: MIT Imports: 11 Imported by: 66

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

Start using it

Download and install it:

$ go get github.com/tpkeeper/gin-dump

Import it in your code:

import "github.com/tpkeeper/gin-dump"
Canonical example:
package main

import (
	"fmt"
	"time"
	"github.com/gin-gonic/gin"
	"github.com/tpkeeper/gin-dump"
)

func main() {
    router := gin.Default()
    
    showReq := true
    showResp := true
    showBody := true
    showHeaders := false
    showCookies := false
    
    router.Use(gindump.Dump(nil))   // prints on stdout
    // or
	router.Use(gindump.Dump(func(dumpStr string) {
	    fmt.Println(dumpStr)
    }))
    // or
    router.Use(gindump.DumpWithOptions(showReq, showResp, showBody, showHeaders, showCookies, nil)   // prints on stdout
    // or
	router.Use(gindump.DumpWithOptions(showReq, showResp, showBody, showHeaders, showCookies, func(dumpStr string) {
	    fmt.Println(dumpStr)
    }))

	//...
	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(cb func(dumpStr string)) 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 FormatToJson added in v0.0.3

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

transfer v to 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