The inventory's product list (test.showInventory) gets the community products the person has: local packs, and hub products in their library. Hiding one is answered by the proxy (and removes a hub product from the library). When the library changes, the client is told to load its inventory again, with the server event IMVU sends after a purchase. A product whose revision or info changes gets a new local ID, since the client keeps product info for good; names lose characters the client's pages could take as HTML. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
c281fb572c
commit
ca7a86ce89
8 files changed
+225
-5
No files matched your search
@@ -374,3 +374,18 @@ func copyFlushing(w http.ResponseWriter, body io.Reader) (int64, error) {
|
||||
func since(t time.Time) string {
|
||||
return time.Since(t).Round(time.Millisecond).String()
|
||||
}
|
||||
|
||||
// Interceptors runs several Interceptors in order, stopping at the first that answers the request itself.
|
||||
type Interceptors []Interceptor
|
||||
|
||||
func (is Interceptors) Intercept(x *Exchange) error {
|
||||
for _, i := range is {
|
||||
if err := i.Intercept(x); err != nil {
|
||||
return err
|
||||
}
|
||||
if x.Response != nil {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in new issue
Block a user