[ 
https://issues.apache.org/jira/browse/SLING-6187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15746882#comment-15746882
 ] 

Justin Edelson commented on SLING-6187:
---------------------------------------

bq. 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.

By this logic, the operation names are also implementation details. I disagree. 
The name is a abstract concept which is implemented by some particular thing 
with that name.

bq. It should behave like an extra sling post operation, which I believe would 
fail if not present based on the operation name aka suffix name or prefix 
"trick" as in my proposal above.

So is your specific concern that the parameter name refers to "post 
processors"? What if the POST contained something like:

:requiredFeatures=encryptedProperties,audit

Where each feature is just an name representing some capability. For now, this 
would map to post processors, but that could be changed in the future (for 
example, encryptedProperties could be implemented by the Post Servlet directly 
and that feature would always be available).

> 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)

Reply via email to