[ https://issues.apache.org/jira/browse/SLING-6187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15746852#comment-15746852 ]
Alexander Klimetschek commented on SLING-6187: ---------------------------------------------- My view now is that a post processor that relies on the @Suffix mechanism where the properties would be written differently, without failure, if the processor is not active, is a problem of the processor. And slightly so for Sling encouraging this fragile approach. The Sling Post servlet should have a mechanism like I outlined above that gives a clear behavior, without a default behavior fallback, without any implementation specific references the client has to know about. Why should an API client know that certain fields are handled by a post processor and also pass another parameter where it has to know that the set is called xyz? Note that addressing the profile is not different from addressing individual post processor names, it is an implementation detail. It should behave like an extra sling post operation, which I believe would fail if not present, but as part of the normal sling post servlet mixed with normal properties. > Provide a way for a POST request to assert a set of required > SlingPostProcessors > -------------------------------------------------------------------------------- > > Key: SLING-6187 > URL: https://issues.apache.org/jira/browse/SLING-6187 > Project: Sling > Issue Type: Improvement > Components: Servlets > Reporter: Justin Edelson > Assignee: Justin Edelson > Fix For: Servlets Post 2.3.16 > > Attachments: SLING-6187-profile.diff, SLING-6187-profile.diff, > SLING-6187.patch > > > I would like to add support for a new "special" request parameter understood > by the Sling Post Servlet named {{:requiredPostProcessors}}. This parameter > may contain a comma-delimited list of names (see below) which *must* be > available *at the time the request is processed* in order for the request to > be handled. Whether or not those processors _do_ anything or whether the > request succeeds or not is a separate question; this is just a preflight > check if you will. > If any of the required SlingPostProcessors are not available, the request > will fail with a 501 error. > The name of a SlingPostProcessor will be defined by a newly defined service > registration property {{postProcessor.name}} and default to the simple name > of the SlingPostProcessor's implementation class if that property is not > defined. -- This message was sent by Atlassian JIRA (v6.3.4#6332)