Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.s3.getObjectMetadata
on getObjectMetadata (path, adrmetadata, flmessages=false) { <<Changes <<5/6/07; 1:02:21 PM by DW <<Created. Get everything about the object but the data. This is going to be very useful. local (adrdata = s3.init (), response); local (apiUrl = adrdata^.accounts.[adrdata^.currentaccount].apiurl); if not (path beginswith "/") { path = "/" + path}; if flmessages { msg ("s3.getObjectMetadata " + path)}; response = s3.httpClient ("HEAD", path); if flmessages { msg ("")}; scratchpad.response = response; adrmetadata^ = response.headers; if response.flerror { return (false)}; if not defined (response.headers.["Content-Length"]) { //indicates it was not found return (false)}; if not defined (response.headers.["Last-Modified"]) { //indicates it was not found return (false)}; return (true)}; bundle { //test code if getObjectMetadata ("/scriptingImages/2005/09/25/cheerios.gif", @scratchpad.cheeriosdata, true) { edit (@scratchpad.cheeriosdata)}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.