fix(backend/assets): copy ts and index in assets convert method

This commit is contained in:
Alexander Zavorotynskiy 2022-06-08 14:44:16 +02:00
parent 248d3b2c3d
commit 404f6204e1
4 changed files with 18 additions and 7 deletions

View file

@ -78,7 +78,7 @@ func main() {
// If message timestamp is empty, use at least ts of session start
ts := message.Meta().Timestamp
if ts == 0 {
//log.Printf("zero ts; sessID: %d, msg: %+v", sessionID, message)
log.Printf("zero ts; sessID: %d, msg: %+v", sessionID, message)
} else {
// Log ts of last processed message
counter.Update(sessionID, time.UnixMilli(ts))

View file

@ -26,30 +26,37 @@ func (e *AssetsCache) ParseAssets(sessID uint64, msg messages.Message) messages.
switch m := msg.(type) {
case *messages.SetNodeAttributeURLBased:
if m.Name == "src" || m.Name == "href" {
log.Printf("accet for session: %d", sessID)
return &messages.SetNodeAttribute{
newMsg := &messages.SetNodeAttribute{
ID: m.ID,
Name: m.Name,
Value: e.handleURL(sessID, m.BaseURL, m.Value),
}
newMsg.SetMeta(msg.Meta())
return newMsg
} else if m.Name == "style" {
return &messages.SetNodeAttribute{
newMsg := &messages.SetNodeAttribute{
ID: m.ID,
Name: m.Name,
Value: e.handleCSS(sessID, m.BaseURL, m.Value),
}
newMsg.SetMeta(msg.Meta())
return newMsg
}
case *messages.SetCSSDataURLBased:
return &messages.SetCSSData{
newMsg := &messages.SetCSSData{
ID: m.ID,
Data: e.handleCSS(sessID, m.BaseURL, m.Data),
}
newMsg.SetMeta(msg.Meta())
return newMsg
case *messages.CSSInsertRuleURLBased:
return &messages.CSSInsertRule{
newMsg := &messages.CSSInsertRule{
ID: m.ID,
Index: m.Index,
Rule: e.handleCSS(sessID, m.BaseURL, m.Rule),
}
newMsg.SetMeta(msg.Meta())
return newMsg
}
return msg
}

View file

@ -9,6 +9,11 @@ func (m *message) Meta() *message {
return m
}
func (m *message) SetMeta(origin *message) {
m.Timestamp = origin.Timestamp
m.Index = origin.Index
}
type Message interface {
Encode() []byte
TypeID() int

View file

@ -93,6 +93,5 @@ func (r *Rewriter) RewriteURL(sessionID uint64, baseURL string, relativeURL stri
Host: r.assetsURL.Host,
Scheme: r.assetsURL.Scheme,
}
return u.String()
}