Compress across the board.

It's still subject to the compression module's filters, but now
we try to compress every response in principle.
This commit is contained in:
D. Berge
2025-08-11 13:57:11 +02:00
parent 6651868ea7
commit 02477b071b

View File

@@ -104,6 +104,9 @@ app.use(mw.auth.access.user);
// Don't process the request if the data hasn't changed
app.use(mw.etag.ifNoneMatch);
// Use compression across the board
app.use(mw.compress);
// We must be authenticated before we can access these
app.map({
'/project': {
@@ -169,10 +172,10 @@ app.map({
*/
'/project/:project/sequence/': {
get: [ mw.auth.access.read, mw.compress, mw.sequence.list ],
get: [ mw.auth.access.read, mw.sequence.list ],
},
'/project/:project/sequence/:sequence': {
get: [ mw.auth.access.read, mw.compress, mw.sequence.get ],
get: [ mw.auth.access.read, mw.sequence.get ],
patch: [ mw.auth.access.write, mw.sequence.patch ],
'/:point': {
get: [ mw.auth.access.read, mw.sequence.point.get ]
@@ -213,7 +216,7 @@ app.map({
*/
'/project/:project/event/': {
get: [ mw.auth.access.read, mw.compress, mw.event.list ],
get: [ mw.auth.access.read, mw.event.list ],
post: [ mw.auth.access.write, mw.event.post ],
put: [ mw.auth.access.write, mw.event.put ],
delete: [ mw.auth.access.write, mw.event.delete ],
@@ -222,7 +225,7 @@ app.map({
},
// TODO Rename -/:sequence → sequence/:sequence
'-/:sequence/': { // NOTE: We need to avoid conflict with the next endpoint ☹
get: [ mw.auth.access.read, mw.compress, mw.event.sequence.get ],
get: [ mw.auth.access.read, mw.event.sequence.get ],
},
':id/': {
get: [ mw.auth.access.read, mw.event.get ],
@@ -301,23 +304,22 @@ app.map({
// // delete: [ mw.permissions.delete ]
// },
'/project/:project/files/:path(*)': {
get: [ mw.compress, mw.files.get ]
get: [ mw.files.get ]
},
'/files/?:path(*)': {
get: [ mw.etag.noSave, mw.compress, mw.files.get ]
get: [ mw.etag.noSave, mw.files.get ]
},
'/navdata/': { // TODO These endpoints should probably need read access auth
get: [ mw.etag.noSave, mw.compress, mw.navdata.get ],
get: [ mw.etag.noSave, mw.navdata.get ],
'gis/:featuretype(line|point)': {
get: [ mw.etag.noSave, mw.compress, mw.gis.navdata.get ]
get: [ mw.etag.noSave, mw.gis.navdata.get ]
}
},
'/vessel/track': {
get: [ /*mw.etag.noSave,*/ mw.compress, mw.vessel.track.get ], // JSON array
get: [ /*mw.etag.noSave,*/ mw.vessel.track.get ], // JSON array
'/line': {
get: [ // GeoJSON Feature: type = LineString
//mw.etag.noSave,
mw.compress,
(req, res, next) => { req.query.geojson = 'LineString'; next(); },
mw.vessel.track.get
]
@@ -325,7 +327,6 @@ app.map({
'/point': {
get: [ // GeoJSON FeatureCollection: feature types = Point
//mw.etag.noSave,
mw.compress,
(req, res, next) => { req.query.geojson = 'Point'; next(); },
mw.vessel.track.get
]
@@ -333,7 +334,6 @@ app.map({
'/points': {
get: [ // JSON array of (Feature: type = Point)
mw.etag.noSave,
mw.compress,
(req, res, next) => { req.query.geojson = true; next(); },
mw.vessel.track.get
],