chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <f...@apache.org>
Subject Re: If-Modified-Since in updateProperties
Date Thu, 03 Apr 2014 15:13:25 GMT
 I would be careful with adding new semantics to standard HTTP headers, 
 but there are a few access points in OpenCMIS to do this.

 On the client side you could implement your own authentication provider 
 to add and read HTTP headers. It's a bit tricky if the session is used 
 in multiple threads, though. You would have to work with ThreadLocals 
 here.
 Alternatively, you can write your own HTTP invoker to get direct access 
 to the headers.

 On the server side you get access to the HttpServletRequest and 
 HttpServletResponse objects through the call context. Reading and 
 setting headers in the server code shouldn't be a problem, but you 
 cannot set the HTTP status code. To get full control you have to extend 
 the AtomPub and Browser Binding servlets and override the methods 
 addResource (AtomPub) respectively addRepositoryResource and 
 addRootResource (Browser). Here you can override the handlers for the 
 calls/resources you are interested in and return to the client whatever 
 you like.


 - Florian



> On 3 April 2014 12:52, Florian Müller <fmui@apache.org> wrote:
>
>> That makes an useful implementation difficult
>
>
> I'd argue, that makes a *generic implementation* difficult, while a 
> vendor
> specific extension is pretty easy to specify.
>
> In some cases (e.g. what in the AtomPub binding is mapped to PUT
> operations), it's trivial to provide a consistent (albeit vendor 
> specific)
> semantic for If-Modified-Since even in the context of CMIS. As a 
> legit HTTP
> extension, and as chemistry wraps HTTP, I would expect to be able to
> implement it.
>
> My question was among the lines of if and how chemistry provides 
> hooks for
> such extensions to be built.
>
> Thanks,
> c.


Mime
View raw message