master
parent
2103b6ae23
commit
2c6acf4131
22 changed files with 47 additions and 263 deletions
@ -1,78 +0,0 @@ |
|||||||
package main |
|
||||||
|
|
||||||
import ( |
|
||||||
"context" |
|
||||||
"fmt" |
|
||||||
"github.com/gorilla/mux" |
|
||||||
"log" |
|
||||||
"net/http" |
|
||||||
) |
|
||||||
|
|
||||||
type FilterFunc func(http.Handler) http.Handler |
|
||||||
|
|
||||||
func FilterChain(filters ...FilterFunc) FilterFunc { |
|
||||||
return func(next http.Handler) http.Handler { |
|
||||||
for i := len(filters) - 1; i >= 0; i-- { |
|
||||||
next = filters[i](next) |
|
||||||
} |
|
||||||
return next |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
type Context struct { |
|
||||||
context.Context |
|
||||||
req *http.Request |
|
||||||
res http.ResponseWriter |
|
||||||
} |
|
||||||
|
|
||||||
func (c *Context) String(code int, str string) error { |
|
||||||
c.res.WriteHeader(code) |
|
||||||
_, err := c.res.Write([]byte(str)) |
|
||||||
return err |
|
||||||
} |
|
||||||
|
|
||||||
func (c *Context) Result(code int, str string) error { |
|
||||||
c.res.WriteHeader(code) |
|
||||||
_, err := c.res.Write([]byte(str)) |
|
||||||
return err |
|
||||||
} |
|
||||||
|
|
||||||
type HandleFunc func(Context) error |
|
||||||
|
|
||||||
func IndexPage(ctx Context) error { |
|
||||||
//return errors.New("xxx")
|
|
||||||
return ctx.String(200, "hello index") |
|
||||||
} |
|
||||||
func Logger() HandleFunc { |
|
||||||
return func(c Context) error { |
|
||||||
return nil |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
func main() { |
|
||||||
app := mux.NewRouter() |
|
||||||
next := http.Handler(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { |
|
||||||
ctx := Context{ |
|
||||||
res: res, |
|
||||||
req: req, |
|
||||||
} |
|
||||||
h := Logger() |
|
||||||
h(ctx) |
|
||||||
if err := IndexPage(ctx); err != nil { |
|
||||||
ctx.Result(500, "err:"+err.Error()) |
|
||||||
} |
|
||||||
})) |
|
||||||
next = FilterChain(func(handler http.Handler) http.Handler { |
|
||||||
return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { |
|
||||||
fmt.Println("start") |
|
||||||
handler.ServeHTTP(writer, request) |
|
||||||
fmt.Println("end") |
|
||||||
}) |
|
||||||
})(next) |
|
||||||
app.Handle("/", next).Methods("GET") |
|
||||||
srv := http.Server{ |
|
||||||
Addr: ":9999", |
|
||||||
Handler: app, |
|
||||||
} |
|
||||||
log.Fatal(srv.ListenAndServe()) |
|
||||||
} |
|
@ -1,14 +1,19 @@ |
|||||||
package mq |
package mq |
||||||
|
|
||||||
import ( |
import ( |
||||||
|
"context" |
||||||
|
"fmt" |
||||||
"git.diulo.com/mogfee/protoc-gen-kit/log" |
"git.diulo.com/mogfee/protoc-gen-kit/log" |
||||||
"testing" |
"testing" |
||||||
) |
) |
||||||
|
|
||||||
func Test_nsqLogger_Log(t *testing.T) { |
func Test_nsqLogger_Log(t *testing.T) { |
||||||
logger := log.With(NewNsqLogger("localhost:4150", "app_log"), |
nsqWriter := NewNsqLogger("localhost:4150", "app_log") |
||||||
|
nsqWriter.Start() |
||||||
|
logger := log.With(nsqWriter, |
||||||
"ts", log.DefaultTimestamp, |
"ts", log.DefaultTimestamp, |
||||||
"caller", log.DefaultCaller, |
"caller", log.DefaultCaller, |
||||||
) |
) |
||||||
logger.Log(log.LevelInfo, "user name ttt") |
logger.Log(log.LevelInfo, "user name ttt") |
||||||
|
fmt.Println(nsqWriter.Shutdown(context.Background())) |
||||||
} |
} |
||||||
|
@ -1,7 +0,0 @@ |
|||||||
package php_session_decoder |
|
||||||
|
|
||||||
import "git.diulo.com/mogfee/protoc-gen-kit/pkg/php_session_decoder/php_serialize" |
|
||||||
|
|
||||||
const SEPARATOR_VALUE_NAME rune = '|' |
|
||||||
|
|
||||||
type PhpSession map[string]php_serialize.PhpValue |
|
@ -1,4 +1,8 @@ |
|||||||
package php_serialize |
package serialize |
||||||
|
|
||||||
|
const SEPARATOR_VALUE_NAME rune = '|' |
||||||
|
|
||||||
|
type PhpSession map[string]PhpValue |
||||||
|
|
||||||
const ( |
const ( |
||||||
TOKEN_NULL rune = 'N' |
TOKEN_NULL rune = 'N' |
@ -1,4 +1,4 @@ |
|||||||
package php_serialize |
package serialize |
||||||
|
|
||||||
import ( |
import ( |
||||||
"strconv" |
"strconv" |
@ -1,24 +1,23 @@ |
|||||||
package php_session_decoder |
package serialize |
||||||
|
|
||||||
import ( |
import ( |
||||||
"bytes" |
"bytes" |
||||||
"fmt" |
"fmt" |
||||||
"git.diulo.com/mogfee/protoc-gen-kit/pkg/php_session_decoder/php_serialize" |
|
||||||
) |
) |
||||||
|
|
||||||
type PhpEncoder struct { |
type PhpEncoder struct { |
||||||
data PhpSession |
data PhpSession |
||||||
encoder *php_serialize.Serializer |
encoder *Serializer |
||||||
} |
} |
||||||
|
|
||||||
func NewPhpEncoder(data PhpSession) *PhpEncoder { |
func NewPhpEncoder(data PhpSession) *PhpEncoder { |
||||||
return &PhpEncoder{ |
return &PhpEncoder{ |
||||||
data: data, |
data: data, |
||||||
encoder: php_serialize.NewSerializer(), |
encoder: NewSerializer(), |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
func (self *PhpEncoder) SetSerializedEncodeFunc(f php_serialize.SerializedEncodeFunc) { |
func (self *PhpEncoder) SetSerializedEncodeFunc(f SerializedEncodeFunc) { |
||||||
self.encoder.SetSerializedEncodeFunc(f) |
self.encoder.SetSerializedEncodeFunc(f) |
||||||
} |
} |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
package php_serialize |
package serialize |
||||||
|
|
||||||
import ( |
import ( |
||||||
"bytes" |
"bytes" |
@ -1,4 +1,4 @@ |
|||||||
package php_serialize |
package serialize |
||||||
|
|
||||||
import ( |
import ( |
||||||
"bytes" |
"bytes" |
@ -1,14 +1,14 @@ |
|||||||
package xbase64 |
package xbase64 |
||||||
|
|
||||||
import ( |
import ( |
||||||
b64 "encoding/base64" |
"encoding/base64" |
||||||
) |
) |
||||||
|
|
||||||
func Encode(s string) string { |
func Encode(s string) string { |
||||||
return b64.StdEncoding.EncodeToString([]byte(s)) |
return base64.StdEncoding.EncodeToString([]byte(s)) |
||||||
} |
} |
||||||
|
|
||||||
func Decode(s string) (string, error) { |
func Decode(s string) (string, error) { |
||||||
ds, err := b64.StdEncoding.DecodeString(s) |
ds, err := base64.StdEncoding.DecodeString(s) |
||||||
return string(ds), err |
return string(ds), err |
||||||
} |
} |
||||||
|
@ -1,13 +0,0 @@ |
|||||||
package xip |
|
||||||
|
|
||||||
import ( |
|
||||||
"context" |
|
||||||
"github.com/gin-gonic/gin" |
|
||||||
) |
|
||||||
|
|
||||||
func GetIpFromContext(ctx context.Context) string { |
|
||||||
if v, ok := ctx.(*gin.Context); ok { |
|
||||||
return v.ClientIP() |
|
||||||
} |
|
||||||
return "" |
|
||||||
} |
|
@ -1,8 +0,0 @@ |
|||||||
package xpage |
|
||||||
|
|
||||||
func GetPageOffset(page int32, size int32) int { |
|
||||||
if page < 1 { |
|
||||||
page = 1 |
|
||||||
} |
|
||||||
return int((page - 1) * size) |
|
||||||
} |
|
@ -1,10 +0,0 @@ |
|||||||
package xtime |
|
||||||
|
|
||||||
import ( |
|
||||||
"fmt" |
|
||||||
"testing" |
|
||||||
) |
|
||||||
|
|
||||||
func TestLeaTime(t *testing.T) { |
|
||||||
fmt.Println(LeaTime(1651812894)) |
|
||||||
} |
|
Loading…
Reference in new issue