Files
xk-hy-transit-go/internal/logweb/upload_handlers.go

51 lines
1.4 KiB
Go
Raw Normal View History

2026-05-28 16:39:51 +08:00
package logweb
import (
syncer "xk-hy-transit-go/internal/sync"
)
2026-05-28 17:03:08 +08:00
// UploadTokenInfo 本次上传使用的 FileAuth.java 凭证Web 调试展示)。
2026-05-28 16:39:51 +08:00
type UploadTokenInfo struct {
Algorithm string `json:"algorithm"`
PolicyJSON string `json:"policyJson"`
EncodedPutPolicy string `json:"encodedPutPolicy"`
SignInput string `json:"signInput"`
EncodedSign string `json:"encodedSign"`
UploadToken string `json:"uploadToken"`
UploadTokenMasked string `json:"uploadTokenMasked"`
DeadlineUnix int64 `json:"deadlineUnix"`
}
func uploadTokenInfoFromResult(res *syncer.UploadTestResult) UploadTokenInfo {
if res == nil {
return UploadTokenInfo{}
}
p := res.Parts
return UploadTokenInfo{
Algorithm: p.Algorithm,
PolicyJSON: p.PolicyJSON,
EncodedPutPolicy: p.EncodedPutPolicy,
SignInput: p.SignInput,
EncodedSign: p.EncodedSign,
UploadToken: p.UploadToken,
UploadTokenMasked: maskPreview(p.UploadToken),
DeadlineUnix: p.DeadlineUnix,
}
}
func uploadTestPayload(res *syncer.UploadTestResult, uploadURL string, ok bool, fileID string) map[string]any {
out := map[string]any{
"ok": ok,
"url": uploadURL,
"tokenInfo": uploadTokenInfoFromResult(res),
}
if res != nil {
out["filename"] = res.Filename
out["scope"] = res.Scope
}
if fileID != "" {
out["fileId"] = fileID
}
return out
}