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 |
||||
|
||||
import ( |
||||
"context" |
||||
"fmt" |
||||
"git.diulo.com/mogfee/protoc-gen-kit/log" |
||||
"testing" |
||||
) |
||||
|
||||
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, |
||||
"caller", log.DefaultCaller, |
||||
) |
||||
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 ( |
||||
TOKEN_NULL rune = 'N' |
@ -1,4 +1,4 @@ |
||||
package php_serialize |
||||
package serialize |
||||
|
||||
import ( |
||||
"strconv" |
@ -1,24 +1,23 @@ |
||||
package php_session_decoder |
||||
package serialize |
||||
|
||||
import ( |
||||
"bytes" |
||||
"fmt" |
||||
"git.diulo.com/mogfee/protoc-gen-kit/pkg/php_session_decoder/php_serialize" |
||||
) |
||||
|
||||
type PhpEncoder struct { |
||||
data PhpSession |
||||
encoder *php_serialize.Serializer |
||||
encoder *Serializer |
||||
} |
||||
|
||||
func NewPhpEncoder(data PhpSession) *PhpEncoder { |
||||
return &PhpEncoder{ |
||||
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) |
||||
} |
||||
|
@ -1,4 +1,4 @@ |
||||
package php_serialize |
||||
package serialize |
||||
|
||||
import ( |
||||
"bytes" |
@ -1,4 +1,4 @@ |
||||
package php_serialize |
||||
package serialize |
||||
|
||||
import ( |
||||
"bytes" |
@ -1,14 +1,14 @@ |
||||
package xbase64 |
||||
|
||||
import ( |
||||
b64 "encoding/base64" |
||||
"encoding/base64" |
||||
) |
||||
|
||||
func Encode(s string) string { |
||||
return b64.StdEncoding.EncodeToString([]byte(s)) |
||||
return base64.StdEncoding.EncodeToString([]byte(s)) |
||||
} |
||||
|
||||
func Decode(s string) (string, error) { |
||||
ds, err := b64.StdEncoding.DecodeString(s) |
||||
ds, err := base64.StdEncoding.DecodeString(s) |
||||
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