-
-
Notifications
You must be signed in to change notification settings - Fork 90
Description
Currently when "inserting" one extension value, or multiple using stuff such as extend, we always overwrite existing values. Sometimes you have however types which you do not want to overwrite but extend. For such types if you anyway want to overwrite you could first remove and than insert, or perhaps allow an opt-in way for these types to anyway overwrite while they normally extend.
I first did this kind of layering approach for Client Hello data (tls). At that point it didn't occur to me yet that this is perhaps a bit of a bad UX that one has to do this manually.
Recently someone implemented a new http web router (https://github.com/plabayo/rama/pull/474/files) and there we have the concept of "nested" service routers. Problem here is that you have sometimes indirect locations where you also insert a UriParams and thus not overwrite. This is not ideal. And there is not much you can do as there are good reasons why stuff like Matcher works with a blank extensions that is only afterwards merged opaquely into the context.
As such for such use cases, and great UX in general it would be good if as part of the 0.3 revamp, we also settle on a solution for this generic issue.
No one can pick this up to do actual work. This is mostly something added to keep track of it. Anyone is however open to provide feedback here, more use cases, proposals, etc.