There are examples in swift.common.middleware of doing this. If you want to try changing the metadata on the way out you can look at:
https://github.com/openstack/swift/blob/master/swift/common/middleware/staticweb.py#L367-L384 it makes use of the WSGIContext class which allows you to make a call down the pipeline and respond to it on the way back out. If you want to just kinda peek at the object before sending the request you can use make_pre_authed_request as done here for containers: https://github.com/openstack/swift/blob/master/swift/common/middleware/staticweb.py#L198-L201 that function will take auth out of the environment so you want to be careful about using it. It you want to keep auth you can do something along the lines of: https://github.com/openstack/swift/blob/master/swift/common/middleware/bulk.py#L250-L259 which just makes a sub request using a copy of the current environment. In your case, after you get that response you'd probably just want to let the request continue on the pipeline instead of just completely overriding it like the bulk middleware does. David On Apr 21, 2013, at 10:11 AM, Itamar O wrote: > Hello list, > I am new to OpenStack development, and trying to implement a simple Swift > middleware. > I was able to successfully manipulate a PUT request for an object, processing > the data that was uploaded by the request and storing some information in the > object metadata. > But now I am struggling with handling GET requests for objects. > I would like to access the data and metadata of the requested object before > it is passed down the pipeline, but I have no clue how to achieve this. > > In case this is not the appropriate mailing list for this question, I > apologize, and would appreciate if someone could refer me to the correct list. > Otherwise, any advice will be much appreciated! > > Thanks, > - Itamar. > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp