apostrophe 2.221.0 → 2.221.2
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/CHANGELOG.md +12 -0
- package/lib/modules/apostrophe-caches/index.js +23 -1
- package/lib/modules/apostrophe-soft-redirects/index.js +21 -14
- package/package.json +1 -1
- package/test/caches.js +29 -0
- package/test/soft-redirects.js +16 -3
- package/.nyc_output/02d8fb44-f6bc-4ab4-8f47-22c7a42b887d.json +0 -1
- package/.nyc_output/14b3f5f0-7e4e-461b-a7d9-4b735f510bd7.json +0 -1
- package/.nyc_output/99acae99-becc-463d-ba35-9333f88d2694.json +0 -1
- package/.nyc_output/d071f9e0-3b11-44e6-9817-69f184dd064d.json +0 -1
- package/.nyc_output/ed000bec-7ff7-49bf-a109-d17bfe883433.json +0 -1
- package/.nyc_output/processinfo/02d8fb44-f6bc-4ab4-8f47-22c7a42b887d.json +0 -1
- package/.nyc_output/processinfo/14b3f5f0-7e4e-461b-a7d9-4b735f510bd7.json +0 -1
- package/.nyc_output/processinfo/99acae99-becc-463d-ba35-9333f88d2694.json +0 -1
- package/.nyc_output/processinfo/d071f9e0-3b11-44e6-9817-69f184dd064d.json +0 -1
- package/.nyc_output/processinfo/ed000bec-7ff7-49bf-a109-d17bfe883433.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/coverage/a3/defaults.js.html +0 -253
- package/coverage/a3/index.html +0 -131
- package/coverage/a3/index.js.html +0 -2338
- package/coverage/a3/lib/escape-host.js.html +0 -109
- package/coverage/a3/lib/index.html +0 -176
- package/coverage/a3/lib/mongodb-connect.js.html +0 -250
- package/coverage/a3/lib/moog-require.js.html +0 -790
- package/coverage/a3/lib/moog.js.html +0 -1711
- package/coverage/a3/lib/opentelemetry.js.html +0 -517
- package/coverage/a3/modules/@apostrophecms/admin-bar/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/admin-bar/index.js.html +0 -931
- package/coverage/a3/modules/@apostrophecms/any-doc-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/any-doc-type/index.js.html +0 -115
- package/coverage/a3/modules/@apostrophecms/any-page-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/any-page-type/index.js.html +0 -1105
- package/coverage/a3/modules/@apostrophecms/archive-page/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/archive-page/index.js.html +0 -97
- package/coverage/a3/modules/@apostrophecms/area/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/area/index.js.html +0 -2104
- package/coverage/a3/modules/@apostrophecms/area/lib/custom-tags/area.js.html +0 -469
- package/coverage/a3/modules/@apostrophecms/area/lib/custom-tags/index.html +0 -131
- package/coverage/a3/modules/@apostrophecms/area/lib/custom-tags/widget.js.html +0 -286
- package/coverage/a3/modules/@apostrophecms/asset/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/asset/index.js.html +0 -3982
- package/coverage/a3/modules/@apostrophecms/asset/lib/globalIcons.js.html +0 -346
- package/coverage/a3/modules/@apostrophecms/asset/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/apos/index.html +0 -131
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/apos/webpack.scss.js.html +0 -289
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/apos/webpack.vue.js.html +0 -148
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/src/index.html +0 -131
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/src/webpack.es5.js.html +0 -184
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/src/webpack.scss.js.html +0 -238
- package/coverage/a3/modules/@apostrophecms/asset/lib/webpack/utils.js.html +0 -958
- package/coverage/a3/modules/@apostrophecms/attachment/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/attachment/index.js.html +0 -3676
- package/coverage/a3/modules/@apostrophecms/attachment/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/attachment/lib/legacy-migrations.js.html +0 -205
- package/coverage/a3/modules/@apostrophecms/attachment/lib/tasks/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/attachment/lib/tasks/rescale.js.html +0 -328
- package/coverage/a3/modules/@apostrophecms/busy/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/busy/index.js.html +0 -145
- package/coverage/a3/modules/@apostrophecms/cache/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/cache/index.js.html +0 -424
- package/coverage/a3/modules/@apostrophecms/db/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/db/index.js.html +0 -640
- package/coverage/a3/modules/@apostrophecms/doc/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/doc/index.js.html +0 -3937
- package/coverage/a3/modules/@apostrophecms/doc/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/doc/lib/legacy-migrations.js.html +0 -622
- package/coverage/a3/modules/@apostrophecms/doc-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/doc-type/index.js.html +0 -8638
- package/coverage/a3/modules/@apostrophecms/doc-type/lib/autocomplete.js.html +0 -319
- package/coverage/a3/modules/@apostrophecms/doc-type/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/email/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/email/index.js.html +0 -301
- package/coverage/a3/modules/@apostrophecms/error/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/error/index.js.html +0 -202
- package/coverage/a3/modules/@apostrophecms/express/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/express/index.js.html +0 -2116
- package/coverage/a3/modules/@apostrophecms/file/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/file/index.js.html +0 -367
- package/coverage/a3/modules/@apostrophecms/file-tag/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/file-tag/index.js.html +0 -127
- package/coverage/a3/modules/@apostrophecms/global/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/global/index.js.html +0 -535
- package/coverage/a3/modules/@apostrophecms/home-page/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/home-page/index.js.html +0 -94
- package/coverage/a3/modules/@apostrophecms/html-widget/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/html-widget/index.js.html +0 -271
- package/coverage/a3/modules/@apostrophecms/http/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/http/index.js.html +0 -976
- package/coverage/a3/modules/@apostrophecms/i18n/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/i18n/index.js.html +0 -2083
- package/coverage/a3/modules/@apostrophecms/image/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/image/index.js.html +0 -1486
- package/coverage/a3/modules/@apostrophecms/image-tag/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/image-tag/index.js.html +0 -127
- package/coverage/a3/modules/@apostrophecms/image-widget/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/image-widget/index.js.html +0 -145
- package/coverage/a3/modules/@apostrophecms/job/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/job/index.js.html +0 -1321
- package/coverage/a3/modules/@apostrophecms/launder/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/launder/index.js.html +0 -124
- package/coverage/a3/modules/@apostrophecms/lock/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/lock/index.js.html +0 -676
- package/coverage/a3/modules/@apostrophecms/login/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/login/index.js.html +0 -2617
- package/coverage/a3/modules/@apostrophecms/migration/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/migration/index.js.html +0 -970
- package/coverage/a3/modules/@apostrophecms/modal/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/modal/index.js.html +0 -193
- package/coverage/a3/modules/@apostrophecms/module/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/module/index.js.html +0 -2500
- package/coverage/a3/modules/@apostrophecms/module/lib/events.js.html +0 -547
- package/coverage/a3/modules/@apostrophecms/module/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/notification/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/notification/index.js.html +0 -1315
- package/coverage/a3/modules/@apostrophecms/oembed/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/oembed/index.js.html +0 -781
- package/coverage/a3/modules/@apostrophecms/oembed/lib/index.html +0 -161
- package/coverage/a3/modules/@apostrophecms/oembed/lib/infogram.js.html +0 -178
- package/coverage/a3/modules/@apostrophecms/oembed/lib/vimeo.js.html +0 -124
- package/coverage/a3/modules/@apostrophecms/oembed/lib/wufoo.js.html +0 -256
- package/coverage/a3/modules/@apostrophecms/oembed/lib/youtube.js.html +0 -322
- package/coverage/a3/modules/@apostrophecms/oembed-field/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/oembed-field/index.js.html +0 -268
- package/coverage/a3/modules/@apostrophecms/page/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/page/index.js.html +0 -6955
- package/coverage/a3/modules/@apostrophecms/page/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/page/lib/legacy-migrations.js.html +0 -568
- package/coverage/a3/modules/@apostrophecms/page-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/page-type/index.js.html +0 -1501
- package/coverage/a3/modules/@apostrophecms/pager/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/pager/index.js.html +0 -232
- package/coverage/a3/modules/@apostrophecms/permission/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/permission/index.js.html +0 -1057
- package/coverage/a3/modules/@apostrophecms/permission/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/permission/lib/legacy-migrations.js.html +0 -160
- package/coverage/a3/modules/@apostrophecms/piece-page-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/piece-page-type/index.js.html +0 -1051
- package/coverage/a3/modules/@apostrophecms/piece-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/piece-type/index.js.html +0 -3103
- package/coverage/a3/modules/@apostrophecms/polymorphic-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/polymorphic-type/index.js.html +0 -157
- package/coverage/a3/modules/@apostrophecms/rich-text-widget/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/rich-text-widget/index.js.html +0 -1363
- package/coverage/a3/modules/@apostrophecms/schema/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/schema/index.js.html +0 -4603
- package/coverage/a3/modules/@apostrophecms/schema/lib/addFieldTypes.js.html +0 -3502
- package/coverage/a3/modules/@apostrophecms/schema/lib/index.html +0 -131
- package/coverage/a3/modules/@apostrophecms/schema/lib/joinr.js.html +0 -703
- package/coverage/a3/modules/@apostrophecms/search/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/search/index.js.html +0 -1222
- package/coverage/a3/modules/@apostrophecms/soft-redirect/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/soft-redirect/index.js.html +0 -343
- package/coverage/a3/modules/@apostrophecms/submitted-draft/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/submitted-draft/index.js.html +0 -595
- package/coverage/a3/modules/@apostrophecms/task/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/task/index.js.html +0 -1147
- package/coverage/a3/modules/@apostrophecms/template/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/template/index.js.html +0 -2731
- package/coverage/a3/modules/@apostrophecms/template/lib/bundlesLoader.js.html +0 -559
- package/coverage/a3/modules/@apostrophecms/template/lib/custom-tags/component.js.html +0 -310
- package/coverage/a3/modules/@apostrophecms/template/lib/custom-tags/fragment.js.html +0 -325
- package/coverage/a3/modules/@apostrophecms/template/lib/custom-tags/index.html +0 -146
- package/coverage/a3/modules/@apostrophecms/template/lib/custom-tags/render.js.html +0 -490
- package/coverage/a3/modules/@apostrophecms/template/lib/index.html +0 -131
- package/coverage/a3/modules/@apostrophecms/template/lib/nunjucksLoader.js.html +0 -658
- package/coverage/a3/modules/@apostrophecms/ui/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/ui/index.js.html +0 -181
- package/coverage/a3/modules/@apostrophecms/uploadfs/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/uploadfs/index.js.html +0 -286
- package/coverage/a3/modules/@apostrophecms/url/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/url/index.js.html +0 -733
- package/coverage/a3/modules/@apostrophecms/user/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/user/index.js.html +0 -1684
- package/coverage/a3/modules/@apostrophecms/user/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/user/lib/legacy-migrations.js.html +0 -157
- package/coverage/a3/modules/@apostrophecms/util/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/util/index.js.html +0 -3424
- package/coverage/a3/modules/@apostrophecms/util/lib/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/util/lib/logger.js.html +0 -319
- package/coverage/a3/modules/@apostrophecms/video-widget/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/video-widget/index.js.html +0 -178
- package/coverage/a3/modules/@apostrophecms/widget-type/index.html +0 -116
- package/coverage/a3/modules/@apostrophecms/widget-type/index.js.html +0 -1225
- package/coverage/a3/test-lib/index.html +0 -131
- package/coverage/a3/test-lib/test.js.html +0 -232
- package/coverage/a3/test-lib/util.js.html +0 -373
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -1256
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.221.2 (2022-07-06)
|
|
4
|
+
|
|
5
|
+
## Fixes
|
|
6
|
+
|
|
7
|
+
* Previously, cache objects returned by `apos.caches.get` shared an incorrectly configured unique key index that prevented the same key from existing in two caches. This did not lead to any data integrity problems, because it was too strict rather than not strict enough. In this release the offending index is replaced with a correct one, which must be unique only on a combination of `name` (the cache name) and `key`, and unit test coverage is added to prevent a recurrence.
|
|
8
|
+
|
|
9
|
+
## 2.221.1 (2022-06-22)
|
|
10
|
+
|
|
11
|
+
## Fixes
|
|
12
|
+
|
|
13
|
+
* Take into account query string in redirections.
|
|
14
|
+
|
|
3
15
|
## 2.221.0 (2022-06-07)
|
|
4
16
|
|
|
5
17
|
## Adds
|
|
@@ -16,6 +16,7 @@ module.exports = {
|
|
|
16
16
|
|
|
17
17
|
afterConstruct: function(self, callback) {
|
|
18
18
|
self.addClearCacheTask();
|
|
19
|
+
self.removeBadIndexMigration();
|
|
19
20
|
return self.getCollection(function(err) {
|
|
20
21
|
if (err) {
|
|
21
22
|
return callback(err);
|
|
@@ -213,7 +214,7 @@ module.exports = {
|
|
|
213
214
|
self.ensureIndexes = function(callback) {
|
|
214
215
|
return async.series({
|
|
215
216
|
keyIndex: function(callback) {
|
|
216
|
-
return self.cacheCollection.ensureIndex({ key: 1,
|
|
217
|
+
return self.cacheCollection.ensureIndex({ key: 1, name: 1 }, { unique: true }, callback);
|
|
217
218
|
},
|
|
218
219
|
expireIndex: function(callback) {
|
|
219
220
|
return self.cacheCollection.ensureIndex({ expires: 1 }, { expireAfterSeconds: 0 }, callback);
|
|
@@ -242,5 +243,26 @@ module.exports = {
|
|
|
242
243
|
}
|
|
243
244
|
);
|
|
244
245
|
};
|
|
246
|
+
|
|
247
|
+
self.removeBadIndexMigration = function() {
|
|
248
|
+
// Cache module wakes before migrations module so we have to wait
|
|
249
|
+
// for apostrophe:modulesReady before registering the migration. Most modules
|
|
250
|
+
// can register one directly from afterConstruct
|
|
251
|
+
self.on('apostrophe:modulesReady', 'addRemoveBadIndexMigration', function() {
|
|
252
|
+
self.apos.migrations.add(self.__meta.name + '.removeBadIndex', async function() {
|
|
253
|
+
const indexes = await self.cacheCollection.indexes();
|
|
254
|
+
const culprit = indexes.find(index => index.key &&
|
|
255
|
+
(Object.keys(index.key).length === 2) &&
|
|
256
|
+
index.key.key &&
|
|
257
|
+
index.key.cache &&
|
|
258
|
+
index.unique
|
|
259
|
+
);
|
|
260
|
+
if (culprit) {
|
|
261
|
+
self.apos.utils.log('Removing incorrect cache index');
|
|
262
|
+
return self.cacheCollection.dropIndex(culprit.name);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
};
|
|
245
267
|
}
|
|
246
268
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var _ = require('@sailshq/lodash');
|
|
2
2
|
var async = require('async');
|
|
3
|
+
var qs = require('qs');
|
|
3
4
|
|
|
4
5
|
// Implements "soft redirects." When a 404 is about to occur, Apostrophe will look
|
|
5
6
|
// for a page or piece that has been associated with that URL in the past, and
|
|
@@ -48,21 +49,27 @@ module.exports = {
|
|
|
48
49
|
};
|
|
49
50
|
|
|
50
51
|
self.pageNotFound = function(req, callback) {
|
|
51
|
-
return self.apos.docs
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
return self.apos.docs
|
|
53
|
+
.find(req, { historicUrls: req.path })
|
|
54
|
+
.sort({ updatedAt: -1 })
|
|
55
|
+
.toObject(function(err, doc) {
|
|
56
|
+
if (err) {
|
|
57
|
+
return callback(err);
|
|
58
|
+
}
|
|
59
|
+
if (!doc) {
|
|
60
|
+
return callback(null);
|
|
61
|
+
}
|
|
62
|
+
if (!doc._url) {
|
|
63
|
+
return callback(null);
|
|
64
|
+
}
|
|
65
|
+
if (self.local(doc._url) !== req.path) {
|
|
66
|
+
return req.res.redirect(
|
|
67
|
+
statusCode,
|
|
68
|
+
`${self.local(doc._url)}${qs.stringify(req.query, { addQueryPrefix: true })}`
|
|
69
|
+
);
|
|
70
|
+
}
|
|
59
71
|
return callback(null);
|
|
60
|
-
}
|
|
61
|
-
if (self.local(doc._url) !== req.url) {
|
|
62
|
-
return req.res.redirect(statusCode, self.local(doc._url));
|
|
63
|
-
}
|
|
64
|
-
return callback(null);
|
|
65
|
-
});
|
|
72
|
+
});
|
|
66
73
|
};
|
|
67
74
|
|
|
68
75
|
self.pageBeforeSend = function(req, callback) {
|
package/package.json
CHANGED
package/test/caches.js
CHANGED
|
@@ -11,6 +11,8 @@ describe('Caches', function() {
|
|
|
11
11
|
|
|
12
12
|
var apos;
|
|
13
13
|
var cache;
|
|
14
|
+
let cache2;
|
|
15
|
+
|
|
14
16
|
it('should exist on the apos object', function(done) {
|
|
15
17
|
apos = require('../index.js')({
|
|
16
18
|
root: module,
|
|
@@ -117,4 +119,31 @@ describe('Caches', function() {
|
|
|
117
119
|
return true;
|
|
118
120
|
});
|
|
119
121
|
});
|
|
122
|
+
it('should give us a second, independent cache object', function() {
|
|
123
|
+
cache2 = apos.caches.get('testMonkeys2');
|
|
124
|
+
});
|
|
125
|
+
it('cache 1 should allow us to store capuchin', function() {
|
|
126
|
+
return cache.set('capuchin', { message: 'eek eek' });
|
|
127
|
+
});
|
|
128
|
+
it('cache 2 should allow us to store capuchin with another message', function() {
|
|
129
|
+
return cache2.set('capuchin', { message: 'ook ook' });
|
|
130
|
+
});
|
|
131
|
+
it('cache 1 should contain its unique message', async function() {
|
|
132
|
+
assert.strictEqual((await cache.get('capuchin')).message, 'eek eek');
|
|
133
|
+
});
|
|
134
|
+
it('cache 2 should contain its unique message', async function() {
|
|
135
|
+
assert.strictEqual((await cache2.get('capuchin')).message, 'ook ook');
|
|
136
|
+
});
|
|
137
|
+
it('unique index still prevents double insert of key within a namespace', async function() {
|
|
138
|
+
try {
|
|
139
|
+
await apos.caches.cacheCollection.insert({
|
|
140
|
+
key: 'capuchin',
|
|
141
|
+
name: 'testMonkeys'
|
|
142
|
+
});
|
|
143
|
+
// That's bad, unique index should have stopped us
|
|
144
|
+
assert(false);
|
|
145
|
+
} catch (e) {
|
|
146
|
+
// This is what we wanted to happen
|
|
147
|
+
}
|
|
148
|
+
});
|
|
120
149
|
});
|
package/test/soft-redirects.js
CHANGED
|
@@ -81,7 +81,21 @@ describe('Soft Redirects', function() {
|
|
|
81
81
|
// Is our status code good?
|
|
82
82
|
assert.equal(response.statusCode, 302);
|
|
83
83
|
// Are we going to be redirected to our page?
|
|
84
|
-
assert.equal(response.headers
|
|
84
|
+
assert.equal(response.headers.location, '/child-moved');
|
|
85
|
+
return done();
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('should be able to serve the page at its old URL too, via redirect, with query params', function(done) {
|
|
90
|
+
return request({
|
|
91
|
+
url: 'http://localhost:7900/child?a-query-param=foo&bar[]=a&bar[]=b&another',
|
|
92
|
+
followRedirect: false
|
|
93
|
+
}, function(err, response, body) {
|
|
94
|
+
assert(!err);
|
|
95
|
+
// Is our status code good?
|
|
96
|
+
assert.equal(response.statusCode, 302);
|
|
97
|
+
// Are we going to be redirected to our page?
|
|
98
|
+
assert.equal(response.headers.location, '/child-moved?a-query-param=foo&bar%5B0%5D=a&bar%5B1%5D=b&another=');
|
|
85
99
|
return done();
|
|
86
100
|
});
|
|
87
101
|
});
|
|
@@ -158,9 +172,8 @@ describe('Soft Redirects - with `statusCode` option', function() {
|
|
|
158
172
|
// Is our status code good?
|
|
159
173
|
assert.equal(response.statusCode, 301);
|
|
160
174
|
// Are we going to be redirected to our page?
|
|
161
|
-
assert.equal(response.headers
|
|
175
|
+
assert.equal(response.headers.location, '/child-moved');
|
|
162
176
|
return done();
|
|
163
177
|
});
|
|
164
178
|
});
|
|
165
|
-
|
|
166
179
|
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|