From b7e82550669727493194d75c2e21c98835065246 Mon Sep 17 00:00:00 2001 From: john Date: Sun, 3 May 2020 22:08:08 +0800 Subject: [PATCH] add support for old version of gre --- os/gres/gres_func.go | 35 ++++++++++++++++++++++++++++++++++- os/gres/testdata/data/data.go | 2 +- os/gres/testdata/testdata.go | 2 +- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/os/gres/gres_func.go b/os/gres/gres_func.go index 2ea8a5fea..7a8bb8802 100644 --- a/os/gres/gres_func.go +++ b/os/gres/gres_func.go @@ -9,6 +9,7 @@ package gres import ( "archive/zip" "bytes" + "encoding/hex" "fmt" "github.com/gogf/gf/encoding/gbase64" "github.com/gogf/gf/encoding/gcompress" @@ -95,7 +96,16 @@ func Unpack(path string) ([]*File, error) { func UnpackContent(content string) ([]*File, error) { var data []byte var err error - if isBase64(content) { + if isHexStr(content) { + // It here keeps supporting Old version packing string using hex string, + // to make it compatible to old version using hex string. + // TODO remove this support in the future. + data, err = gcompress.UnGzip(hexStrToBytes(content)) + if err != nil { + return nil, err + } + } else if isBase64(content) { + // New version packing string using base64. b, err := gbase64.DecodeString(content) if err != nil { return nil, err @@ -137,3 +147,26 @@ func isBase64(s string) bool { } return true } + +// isHexStr checks and returns whether given content is hex string. +// It returns true if is hex string, or false if not. +func isHexStr(s string) bool { + var r bool + for i := 0; i < len(s); i++ { + r = (s[i] >= '0' && s[i] <= '9') || + (s[i] >= 'a' && s[i] <= 'f') || + (s[i] >= 'A' && s[i] <= 'F') + if !r { + return false + } + } + return true +} + +// hexStrToBytes converts hex string content to []byte. +func hexStrToBytes(s string) []byte { + src := gconv.UnsafeStrToBytes(s) + dst := make([]byte, hex.DecodedLen(len(src))) + hex.Decode(dst, src) + return dst +} diff --git a/os/gres/testdata/data/data.go b/os/gres/testdata/data/data.go index 3893b4497..8d38ae48d 100644 --- a/os/gres/testdata/data/data.go +++ b/os/gres/testdata/data/data.go @@ -3,7 +3,7 @@ package data import "github.com/gogf/gf/os/gres" func init() { - if err := gres.Add("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"); err != nil { + if err := gres.Add("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"); err != nil { panic("add binary content to resource manager failed: " + err.Error()) } } diff --git a/os/gres/testdata/testdata.go b/os/gres/testdata/testdata.go index d2c491c2f..7fd0807d0 100644 --- a/os/gres/testdata/testdata.go +++ b/os/gres/testdata/testdata.go @@ -3,7 +3,7 @@ package testdata import "github.com/gogf/gf/os/gres" func init() { - if err := gres.Add("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"); err != nil { + if err := gres.Add("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"); err != nil { panic("add binary content to resource manager failed: " + err.Error()) } }