KETTLE-22: Review and remove kettle.use.* system which requires app-wide enabling of request extensions

Metadata

Source
KETTLE-22
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
N/A
Reporter
Antranig Basman
Created
2014-01-13T22:47:40.065-0500
Updated
2018-04-05T20:16:02.368-0400
Versions
N/A
Fixed Versions
N/A
Component
N/A

Description

The current Kettle implementation currently operates a peculiar system requiring users to enable the presence of various extensions on an app-wide basis by applying grades of the form kettle.use.* (e.g. kettle.use.CORS) before particular facilities can be enabled on particular handlers.

This is most likely a legacy of the underlying express "middleware" system which requires this kind of static configuration in advance, as well as older versions of our grade handling system which weren't capable to do the necessary gearing automatically. We should review this system and try to remove it, in favour of a system which can apply arbitrary grades directly to request handlers as a "one stop shop" for applying request-directed behaviour - the system should be capable of parsing such grades in advance and ensuring the necessary middleware or whatever becomes suitably configured. This would be useful, for example, for session support which currently has to be enabled in two places (kettle.use.session as well as request handler session options) and the recently implemented CORS support that in KETTLE-21 we were just speculating should really be configurable on a handler rather than an app basis.

Comments

  • Antranig Basman commented 2018-04-05T20:16:02.356-0400

    kettle.use.* was removed in the Kettle rewrite of 2015 leading to Kettle 1.0