ketting 7.3.0 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/ketting.min.js +1 -1
- package/browser/ketting.min.js.map +1 -1
- package/dist/client.d.ts +11 -0
- package/dist/client.js +21 -0
- package/dist/client.js.map +1 -1
- package/dist/middlewares/cache.js +0 -14
- package/dist/middlewares/cache.js.map +1 -1
- package/dist/resource.js +1 -0
- package/dist/resource.js.map +1 -1
- package/dist/src/client.d.ts +11 -0
- package/package.json +1 -1
- package/src/client.ts +24 -0
- package/src/middlewares/cache.ts +0 -15
- package/src/resource.ts +1 -0
package/dist/client.d.ts
CHANGED
|
@@ -90,8 +90,19 @@ export default class Client {
|
|
|
90
90
|
* expire, if another one expires.
|
|
91
91
|
*
|
|
92
92
|
* A server can populate this list using the `inv-by' link.
|
|
93
|
+
*
|
|
94
|
+
* @deprecated This property will go private in a future release.
|
|
93
95
|
*/
|
|
94
96
|
cacheDependencies: Map<string, Set<string>>;
|
|
97
|
+
/**
|
|
98
|
+
* Adds a cache dependency between two resources.
|
|
99
|
+
*
|
|
100
|
+
* If the 'target' resource ever expires, it will cause 'dependentUri' to
|
|
101
|
+
* also expire.
|
|
102
|
+
*
|
|
103
|
+
* Both argument MUST be absolute urls.
|
|
104
|
+
*/
|
|
105
|
+
addCacheDependency(targetUri: string, dependentUri: string): void;
|
|
95
106
|
/**
|
|
96
107
|
* Helper function for clearing the cache for a resource.
|
|
97
108
|
*
|
package/dist/client.js
CHANGED
|
@@ -37,6 +37,8 @@ class Client {
|
|
|
37
37
|
* expire, if another one expires.
|
|
38
38
|
*
|
|
39
39
|
* A server can populate this list using the `inv-by' link.
|
|
40
|
+
*
|
|
41
|
+
* @deprecated This property will go private in a future release.
|
|
40
42
|
*/
|
|
41
43
|
this.cacheDependencies = new Map();
|
|
42
44
|
this.bookmarkUri = bookmarkUri;
|
|
@@ -113,6 +115,9 @@ class Client {
|
|
|
113
115
|
*/
|
|
114
116
|
cacheState(state) {
|
|
115
117
|
this.cache.store(state);
|
|
118
|
+
for (const invByLink of state.links.getMany('inv-by')) {
|
|
119
|
+
this.addCacheDependency((0, uri_1.resolve)(invByLink), state.uri);
|
|
120
|
+
}
|
|
116
121
|
const resource = this.resources.get(state.uri);
|
|
117
122
|
if (resource) {
|
|
118
123
|
// We have a resource for this object, notify it as well.
|
|
@@ -123,6 +128,22 @@ class Client {
|
|
|
123
128
|
this.cacheState(embeddedState);
|
|
124
129
|
}
|
|
125
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Adds a cache dependency between two resources.
|
|
133
|
+
*
|
|
134
|
+
* If the 'target' resource ever expires, it will cause 'dependentUri' to
|
|
135
|
+
* also expire.
|
|
136
|
+
*
|
|
137
|
+
* Both argument MUST be absolute urls.
|
|
138
|
+
*/
|
|
139
|
+
addCacheDependency(targetUri, dependentUri) {
|
|
140
|
+
if (this.cacheDependencies.has(targetUri)) {
|
|
141
|
+
this.cacheDependencies.get(targetUri).add(dependentUri);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this.cacheDependencies.set(targetUri, new Set([dependentUri]));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
126
147
|
/**
|
|
127
148
|
* Helper function for clearing the cache for a resource.
|
|
128
149
|
*
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;AAAA,4CAA0D;AAC1D,yCAAkC;AAElC,mCAQiB;AACjB,sCAA+C;AAC/C,oCAAqC;AAGrC,mCAAmD;AACnD,+CAAwD;AACxD,+DAA2D;AAC3D,mDAAsD;AAEtD,MAAqB,MAAM;IA+CzB,YAAY,WAAmB;QAtC/B;;;;;;;;WAQG;QACH,mBAAc,GAEV;YACA,gCAAgC,EAAE,CAAC,uBAAe,EAAE,KAAK,CAAC;YAC1D,sBAAsB,EAAE,CAAC,uBAAe,EAAE,KAAK,CAAC;YAChD,0BAA0B,EAAE,CAAC,2BAAmB,EAAE,KAAK,CAAC;YACxD,4BAA4B,EAAE,CAAC,yBAAiB,EAAE,KAAK,CAAC;YACxD,iCAAiC,EAAE,CAAC,sBAAc,EAAE,KAAK,CAAC;YAC1D,kBAAkB,EAAE,CAAC,uBAAe,EAAE,KAAK,CAAC;YAC5C,WAAW,EAAE,CAAC,wBAAgB,EAAE,KAAK,CAAC;SACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;AAAA,4CAA0D;AAC1D,yCAAkC;AAElC,mCAQiB;AACjB,sCAA+C;AAC/C,oCAAqC;AAGrC,mCAAmD;AACnD,+CAAwD;AACxD,+DAA2D;AAC3D,mDAAsD;AAEtD,MAAqB,MAAM;IA+CzB,YAAY,WAAmB;QAtC/B;;;;;;;;WAQG;QACH,mBAAc,GAEV;YACA,gCAAgC,EAAE,CAAC,uBAAe,EAAE,KAAK,CAAC;YAC1D,sBAAsB,EAAE,CAAC,uBAAe,EAAE,KAAK,CAAC;YAChD,0BAA0B,EAAE,CAAC,2BAAmB,EAAE,KAAK,CAAC;YACxD,4BAA4B,EAAE,CAAC,yBAAiB,EAAE,KAAK,CAAC;YACxD,iCAAiC,EAAE,CAAC,sBAAc,EAAE,KAAK,CAAC;YAC1D,kBAAkB,EAAE,CAAC,uBAAe,EAAE,KAAK,CAAC;YAC5C,WAAW,EAAE,CAAC,wBAAgB,EAAE,KAAK,CAAC;SACvC,CAAC;QA4HJ;;;;;;;;;;WAUG;QACI,sBAAiB,GAA6B,IAAI,GAAG,EAAE,CAAC;QAnH7D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,eAAqB,EAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,uBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,iBAAiB,GAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAY,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAA0B,GAAW,EAAE,SAAyB;QAEpE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE1C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,EAAE,CAAkB,GAAY;QAE9B,IAAI,WAAW,CAAC;QAChB,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,WAAW,GAAG,IAAA,aAAO,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;SAC9C;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SAChC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;IAE1C,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,UAA2B,EAAE,SAAiB,GAAG;QAEnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEvC,CAAC;IAED;;OAEG;IACH,UAAU;QAER,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;IAErC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAY;QAErB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,KAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpD,IAAI,CAAC,kBAAkB,CAAC,IAAA,aAAO,EAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;SACxD;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE;YACZ,yDAAyD;YACzD,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAChC;QAED,KAAI,MAAM,aAAa,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YAC9C,qBAAqB;YACrB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAChC;IAEH,CAAC;IAeD;;;;;;;OAOG;IACH,kBAAkB,CAAC,SAAiB,EAAE,YAAoB;QAExD,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1D;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAChE;IAEH,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAAC,SAAmB,EAAE,WAAqB;QAE3D,IAAI,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAI,MAAM,GAAG,IAAI,SAAS,EAAE;YAC1B,KAAK,CAAC,GAAG,CAAC,IAAA,aAAO,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SAC3C;QACD,KAAI,MAAM,GAAG,IAAI,WAAW,EAAE;YAC5B,KAAK,CAAC,GAAG,CAAC,IAAA,aAAO,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAA,aAAO,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SAC7C;QAED,KAAK,GAAG,uBAAuB,CAC7B,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;QAEF,KAAI,MAAM,GAAG,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE;gBACZ,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACpB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACzB;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;aAEF;SAEF;IAEH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,QAAkB;QAEvD,MAAM,WAAW,GAAG,IAAA,uBAAgB,EAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,IAAA,0BAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SAChD;QAED,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SACjE;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC1C,0DAA0D;YAC1D,OAAO,IAAA,wBAAgB,EAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC9C;aAAM,IAAI,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE;YAC/D,kFAAkF;YAClF,OAAO,IAAA,uBAAe,EAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC7C;aAAM;YACL,OAAO,IAAA,0BAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SAChD;IAEH,CAAC;CAGF;AA5PD,yBA4PC;AAID;;;;;;;;;;;GAWG;AACH,SAAS,uBAAuB,CAAC,IAAiB,EAAE,YAAsC,EAAE,MAAoB;IAE9G,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAEhC,KAAI,MAAM,GAAG,IAAI,IAAI,EAAE;QAErB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACzB,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;aACvE;SACF;KAEF;IAED,OAAO,MAAM,CAAC;AAEhB,CAAC"}
|
|
@@ -24,20 +24,6 @@ function default_1(client) {
|
|
|
24
24
|
request.headers.delete('X-KETTING-NO-STALE');
|
|
25
25
|
}
|
|
26
26
|
const response = await next(request);
|
|
27
|
-
// If the response had a Link: rel=inv-by header, it means that when the
|
|
28
|
-
// target uri's cache expires, the uri of this resource should also
|
|
29
|
-
// expire.
|
|
30
|
-
if (response.headers.has('Link')) {
|
|
31
|
-
for (const httpLink of LinkHeader.parse(response.headers.get('Link')).rel('inv-by')) {
|
|
32
|
-
const uri = (0, uri_1.resolve)(request.url, httpLink.uri);
|
|
33
|
-
if (client.cacheDependencies.has(uri)) {
|
|
34
|
-
client.cacheDependencies.get(uri).add(request.url);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
client.cacheDependencies.set(uri, new Set([request.url]));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
27
|
if ((0, util_1.isSafeMethod)(request.method)) {
|
|
42
28
|
return response;
|
|
43
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/middlewares/cache.ts"],"names":[],"mappings":";;AACA,uCAA4C;AAC5C,+CAA+C;AAC/C,qCAAsC;AAGtC;;;;;;;;GAQG;AACH,mBAAwB,MAAc;IAEpC,OAAO,KAAK,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QAE5B;;;WAGG;QACH,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;YAC7C,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SAC9C;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/middlewares/cache.ts"],"names":[],"mappings":";;AACA,uCAA4C;AAC5C,+CAA+C;AAC/C,qCAAsC;AAGtC;;;;;;;;GAQG;AACH,mBAAwB,MAAc;IAEpC,OAAO,KAAK,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QAE5B;;;WAGG;QACH,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;YAC7C,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SAC9C;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,IAAA,mBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChC,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,uCAAuC;YACvC,OAAO,QAAQ,CAAC;SACjB;QAED,kEAAkE;QAClE,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC3B;aAAM,IAAI,CAAC,YAAY,EAAE;YACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACzB;QAED,gEAAgE;QAChE,oBAAoB;QACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAChC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBACzF,MAAM,GAAG,GAAG,IAAA,aAAO,EAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjB;SACF;QAED,sCAAsC;QACtC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACpC,KAAK,CAAC,IAAI,CACR,IAAA,aAAO,EAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,CACxD,CAAC;SACH;QAED,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE1C,qEAAqE;QACrE,uEAAuE;QACvE,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;YAC5C,MAAM,EAAE,GAAG,IAAA,aAAO,EAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAE,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAC9C,EAAE,EACF,QAAQ,CACT,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC5B;QAED,OAAO,QAAQ,CAAC;IAElB,CAAC,CAAC;AAEJ,CAAC;AAtED,4BAsEC"}
|
package/dist/resource.js
CHANGED
package/dist/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
|
package/dist/src/client.d.ts
CHANGED
|
@@ -90,8 +90,19 @@ export default class Client {
|
|
|
90
90
|
* expire, if another one expires.
|
|
91
91
|
*
|
|
92
92
|
* A server can populate this list using the `inv-by' link.
|
|
93
|
+
*
|
|
94
|
+
* @deprecated This property will go private in a future release.
|
|
93
95
|
*/
|
|
94
96
|
cacheDependencies: Map<string, Set<string>>;
|
|
97
|
+
/**
|
|
98
|
+
* Adds a cache dependency between two resources.
|
|
99
|
+
*
|
|
100
|
+
* If the 'target' resource ever expires, it will cause 'dependentUri' to
|
|
101
|
+
* also expire.
|
|
102
|
+
*
|
|
103
|
+
* Both argument MUST be absolute urls.
|
|
104
|
+
*/
|
|
105
|
+
addCacheDependency(targetUri: string, dependentUri: string): void;
|
|
95
106
|
/**
|
|
96
107
|
* Helper function for clearing the cache for a resource.
|
|
97
108
|
*
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -154,6 +154,10 @@ export default class Client {
|
|
|
154
154
|
cacheState(state: State) {
|
|
155
155
|
|
|
156
156
|
this.cache.store(state);
|
|
157
|
+
for(const invByLink of state.links.getMany('inv-by')) {
|
|
158
|
+
this.addCacheDependency(resolve(invByLink), state.uri);
|
|
159
|
+
}
|
|
160
|
+
|
|
157
161
|
const resource = this.resources.get(state.uri);
|
|
158
162
|
if (resource) {
|
|
159
163
|
// We have a resource for this object, notify it as well.
|
|
@@ -175,9 +179,29 @@ export default class Client {
|
|
|
175
179
|
* expire, if another one expires.
|
|
176
180
|
*
|
|
177
181
|
* A server can populate this list using the `inv-by' link.
|
|
182
|
+
*
|
|
183
|
+
* @deprecated This property will go private in a future release.
|
|
178
184
|
*/
|
|
179
185
|
public cacheDependencies: Map<string, Set<string>> = new Map();
|
|
180
186
|
|
|
187
|
+
/**
|
|
188
|
+
* Adds a cache dependency between two resources.
|
|
189
|
+
*
|
|
190
|
+
* If the 'target' resource ever expires, it will cause 'dependentUri' to
|
|
191
|
+
* also expire.
|
|
192
|
+
*
|
|
193
|
+
* Both argument MUST be absolute urls.
|
|
194
|
+
*/
|
|
195
|
+
addCacheDependency(targetUri: string, dependentUri: string): void {
|
|
196
|
+
|
|
197
|
+
if (this.cacheDependencies.has(targetUri)) {
|
|
198
|
+
this.cacheDependencies.get(targetUri)!.add(dependentUri);
|
|
199
|
+
} else {
|
|
200
|
+
this.cacheDependencies.set(targetUri, new Set([dependentUri]));
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
}
|
|
204
|
+
|
|
181
205
|
/**
|
|
182
206
|
* Helper function for clearing the cache for a resource.
|
|
183
207
|
*
|
package/src/middlewares/cache.ts
CHANGED
|
@@ -30,21 +30,6 @@ export default function(client: Client): FetchMiddleware {
|
|
|
30
30
|
|
|
31
31
|
const response = await next(request);
|
|
32
32
|
|
|
33
|
-
// If the response had a Link: rel=inv-by header, it means that when the
|
|
34
|
-
// target uri's cache expires, the uri of this resource should also
|
|
35
|
-
// expire.
|
|
36
|
-
if (response.headers.has('Link')) {
|
|
37
|
-
for (const httpLink of LinkHeader.parse(response.headers.get('Link')!).rel('inv-by')) {
|
|
38
|
-
const uri = resolve(request.url, httpLink.uri);
|
|
39
|
-
if (client.cacheDependencies.has(uri)) {
|
|
40
|
-
client.cacheDependencies.get(uri)!.add(request.url);
|
|
41
|
-
} else {
|
|
42
|
-
client.cacheDependencies.set(uri, new Set([request.url]));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
33
|
if (isSafeMethod(request.method)) {
|
|
49
34
|
return response;
|
|
50
35
|
}
|