Hi,

Am 07.11.2012 um 14:03 schrieb Carsten Ziegeler:

> Hi,
> 
> do you mean using Servlet API 3 or emulating it?

If Sling sees that it is running in a Servlet API 3 container, the Sling's 
ParameterSupport should properly integrate with the Servlet API 3 API.

I see three options:

(a) The Sling (Engine) Main Servlet gets the @MultipartConfig annotation. I 
don't know (yet) how this annotation will actually affect the servlet 
registration in the Http Service.

(b) The Sling wrapper servlet (when deploying Sling as a Web App gets the 
@MultipartConfig annotation. This limits support to web app deployment and may 
actually break if the container is not a Servlet API 3 container.

(c) Provide our own implementation of the getParts and getPart(String) methods 
and the Part interface if we have a Servlet API 3 container. The 
implementations will be based on the current Sling Parameter Support.

Somehow I have the impression, that (c) is probably the best we can do.

Regards
Felix

> 
> Regards
> Carsten
> 
> 2012/11/7 Felix Meschberger <fmesc...@adobe.com>:
>> Hi all,
>> 
>> I just realized, that in Servlet API 3 there is now official support for 
>> servlet containers to handle multi-part/form-data requests and expose them 
>> through the request:
>> 
>>   public Collection<Part> getParts()
>>   public Part getPart(String name)
>> 
>> Where Part has these methods:
>> 
>>   void delete()
>>   String getContentType()
>>   String getHeader(String name)
>>   Collection<String> getHeaderNames()
>>   Collection<String> getHeaders(String name)
>>   InputStream getInputStream()
>>   String getName()
>>   long getSize()
>>   void write(String fileName)
>> 
>> This requires the Servlet to be annotated with @MultipartConfig, though, 
>> otherwise the servlet container will not do anything.
>> 
>> What is your opinion ? Should we retrofit our multi-part/form-data support 
>> into the Servlet API 3 API ?
>> 
>> Regards
>> Felix
> 
> 
> 
> -- 
> Carsten Ziegeler
> cziege...@apache.org

Reply via email to