2023-04-15 17:27:31 +00:00
|
|
|
package license ;import (_ec "bytes";_ae "compress/gzip";_a "crypto";_bgg "crypto/aes";_aa "crypto/cipher";_bg "crypto/hmac";_fe "crypto/rand";_ba "crypto/rsa";_fa "crypto/sha256";_cd "crypto/sha512";_be "crypto/x509";_eb "encoding/base64";_gb "encoding/binary";_ag "encoding/hex";_af "encoding/json";_b "encoding/pem";_cf "errors";_edd "fmt";_bd "github.com/unidoc/unioffice/common";_ebd "github.com/unidoc/unioffice/common/logger";_c "io";_aeg "io/ioutil";_fd "log";_ed "net";_gd "net/http";_da "os";_ee "path/filepath";_f "regexp";_d "sort";_ecb "strings";_e "sync";_dd "time";);func (_dga *meteredClient )getStatus ()(meteredStatusResp ,error ){var _afde meteredStatusResp ;_fdb :=_dga ._fgf +"\u002fm\u0065t\u0065\u0072\u0065\u0064\u002f\u0073\u0074\u0061\u0074\u0075\u0073";var _gaf meteredStatusForm ;_ecd ,_dde :=_af .Marshal (_gaf );if _dde !=nil {return _afde ,_dde ;};_ecbf ,_dde :=_gbab (_ecd );if _dde !=nil {return _afde ,_dde ;};_egg ,_dde :=_gd .NewRequest ("\u0050\u004f\u0053\u0054",_fdb ,_ecbf );if _dde !=nil {return _afde ,_dde ;};_egg .Header .Add ("\u0043\u006f\u006et\u0065\u006e\u0074\u002d\u0054\u0079\u0070\u0065","\u0061\u0070p\u006c\u0069\u0063a\u0074\u0069\u006f\u006e\u002f\u006a\u0073\u006f\u006e");_egg .Header .Add ("\u0043\u006fn\u0074\u0065\u006et\u002d\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067","\u0067\u007a\u0069\u0070");_egg .Header .Add ("\u0041c\u0063e\u0070\u0074\u002d\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067","\u0067\u007a\u0069\u0070");_egg .Header .Add ("\u0058-\u0041\u0050\u0049\u002d\u004b\u0045Y",_dga ._adg );_ff ,_dde :=_dga ._dcb .Do (_egg );if _dde !=nil {return _afde ,_dde ;};defer _ff .Body .Close ();if _ff .StatusCode !=200{return _afde ,_edd .Errorf ("\u0066\u0061i\u006c\u0065\u0064\u0020t\u006f\u0020c\u0068\u0065\u0063\u006b\u0069\u006e\u002c\u0020s\u0074\u0061\u0074\u0075\u0073\u0020\u0063\u006f\u0064\u0065\u0020\u0069s\u003a\u0020\u0025\u0064",_ff .StatusCode );};_bda ,_dde :=_cedg (_ff );if _dde !=nil {return _afde ,_dde ;};_dde =_af .Unmarshal (_bda ,&_afde );if _dde !=nil {return _afde ,_dde ;};return _afde ,nil ;};type LicenseKey struct{LicenseId string `json:"license_id"`;CustomerId string `json:"customer_id"`;CustomerName string `json:"customer_name"`;Tier string `json:"tier"`;CreatedAt _dd .Time `json:"-"`;CreatedAtInt int64 `json:"created_at"`;ExpiresAt _dd .Time `json:"-"`;ExpiresAtInt int64 `json:"expires_at"`;CreatedBy string `json:"created_by"`;CreatorName string `json:"creator_name"`;CreatorEmail string `json:"creator_email"`;UniPDF bool `json:"unipdf"`;UniOffice bool `json:"unioffice"`;UniHTML bool `json:"unihtml"`;Trial bool `json:"trial"`;_aec bool ;_ebg string ;_aaf bool ;};var _fbbc map[string ]struct{};type meteredUsageCheckinForm struct{Instance string `json:"inst"`;Next string `json:"next"`;UsageNumber int `json:"usage_number"`;NumFailed int64 `json:"num_failed"`;Hostname string `json:"hostname"`;LocalIP string `json:"local_ip"`;MacAddress string `json:"mac_address"`;Package string `json:"package"`;PackageVersion string `json:"package_version"`;Usage map[string ]int `json:"u"`;IsPersistentCache bool `json:"is_persistent_cache"`;Timestamp int64 `json:"timestamp"`;};var _ced =false ;func Track (docKey string ,useKey string )error {return _aad (docKey ,useKey ,!_aae ._aaf )};type LegacyLicenseType byte ;func _ad (_gc string )(LicenseKey ,error ){var _acb LicenseKey ;_gbc ,_gcg :=_cgb (_cda ,_db ,_gc );if _gcg !=nil {return _acb ,_gcg ;};_fdd ,_gcg :=_aegg (_ece ,_gbc );if _gcg !=nil {return _acb ,_gcg ;};_gcg =_af .Unmarshal (_fdd ,&_acb );if _gcg !=nil {return _acb ,_gcg ;};_acb .CreatedAt =_dd .Unix (_acb .CreatedAtInt ,0);if _acb .ExpiresAtInt > 0{_dc :=_dd .Unix (_acb .ExpiresAtInt ,0);_acb .ExpiresAt =_dc ;};return _acb ,nil ;};func SetMeteredKeyPersistentCache (val bool ){_aae ._aaf =val };func GetLicenseKey ()*LicenseKey {if _aae ==nil {return nil ;};_fafd :=*_aae ;return &_fafd ;};func _gcf ()([]string ,[]string ,error ){_agec ,_bgd :=_ed .Interfaces ();if _bgd !=nil {return nil ,nil ,_bgd ;};var _gbfc []string ;var _ggf []string ;for _ ,_gac :
|