Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 498785e213 | 
| @@ -66,7 +66,6 @@ func (ph PassHash) Data() (_version int, _seed []byte, _payload []byte, _totp bo | ||||
| 		return int(version), nil, payload, false, nil, true | ||||
| 	} | ||||
|  | ||||
| 	// | ||||
| 	if version == 2 { | ||||
| 		if len(split) != 3 { | ||||
| 			return -1, nil, nil, false, nil, false | ||||
|   | ||||
| @@ -1,12 +1,15 @@ | ||||
| package ginext | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"github.com/gin-gonic/gin" | ||||
| 	"github.com/gin-gonic/gin/binding" | ||||
| 	"gogs.mikescher.com/BlackForestBytes/goext/dataext" | ||||
| 	"gogs.mikescher.com/BlackForestBytes/goext/exerr" | ||||
| 	"gogs.mikescher.com/BlackForestBytes/goext/langext" | ||||
| 	"io" | ||||
| 	"runtime/debug" | ||||
| 	"time" | ||||
| ) | ||||
| @@ -17,6 +20,7 @@ type PreContext struct { | ||||
| 	uri     any | ||||
| 	query   any | ||||
| 	body    any | ||||
| 	rawbody *[]byte | ||||
| 	form    any | ||||
| 	header  any | ||||
| 	timeout *time.Duration | ||||
| @@ -37,6 +41,11 @@ func (pctx *PreContext) Body(body any) *PreContext { | ||||
| 	return pctx | ||||
| } | ||||
|  | ||||
| func (pctx *PreContext) RawBody(rawbody *[]byte) *PreContext { | ||||
| 	pctx.rawbody = rawbody | ||||
| 	return pctx | ||||
| } | ||||
|  | ||||
| func (pctx *PreContext) Form(form any) *PreContext { | ||||
| 	pctx.form = form | ||||
| 	return pctx | ||||
| @@ -90,6 +99,23 @@ func (pctx PreContext) Start() (*AppContext, *gin.Context, *HTTPResponse) { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if pctx.rawbody != nil { | ||||
| 		if brc, ok := pctx.ginCtx.Request.Body.(dataext.BufferedReadCloser); ok { | ||||
| 			v, err := brc.BufferedAll() | ||||
| 			if err != nil { | ||||
| 				return nil, nil, langext.Ptr(Error(err)) | ||||
| 			} | ||||
| 			*pctx.rawbody = v | ||||
| 		} else { | ||||
| 			buf := &bytes.Buffer{} | ||||
| 			_, err := io.Copy(buf, pctx.ginCtx.Request.Body) | ||||
| 			if err != nil { | ||||
| 				return nil, nil, langext.Ptr(Error(err)) | ||||
| 			} | ||||
| 			*pctx.rawbody = buf.Bytes() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if pctx.form != nil { | ||||
| 		if pctx.ginCtx.ContentType() == "multipart/form-data" { | ||||
| 			if err := pctx.ginCtx.ShouldBindWith(pctx.form, binding.Form); err != nil { | ||||
|   | ||||
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -16,7 +16,7 @@ require ( | ||||
| require ( | ||||
| 	github.com/bytedance/sonic v1.10.2 // indirect | ||||
| 	github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect | ||||
| 	github.com/chenzhuoyu/iasm v0.9.0 // indirect | ||||
| 	github.com/chenzhuoyu/iasm v0.9.1 // indirect | ||||
| 	github.com/gabriel-vasile/mimetype v1.4.3 // indirect | ||||
| 	github.com/gin-contrib/sse v0.1.0 // indirect | ||||
| 	github.com/go-playground/locales v0.14.1 // indirect | ||||
|   | ||||
							
								
								
									
										2
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.sum
									
									
									
									
									
								
							| @@ -8,6 +8,8 @@ github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ | ||||
| github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= | ||||
| github.com/chenzhuoyu/iasm v0.9.0 h1:9fhXjVzq5hUy2gkhhgHl95zG2cEAhw9OSGs8toWWAwo= | ||||
| github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= | ||||
| github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= | ||||
| github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| package goext | ||||
|  | ||||
| const GoextVersion = "0.0.298" | ||||
| const GoextVersion = "0.0.299" | ||||
|  | ||||
| const GoextVersionTimestamp = "2023-11-01T04:20:08+0100" | ||||
| const GoextVersionTimestamp = "2023-11-03T16:53:41+0100" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user