"Thanks for the feedback." Thanks for this very useful library :)
"Hmm, that is tricky. If you inspect ZnLogEvent announcer during the execution you will notice that a redirect is involved. Your original request for https://github.com/kilon/ChronosManager/archive/master.zip gets redirected to a request for https://codeload.github.com/kilon/ChronosManager/zip/master for which the name is effectively 'master' without the extension. Maybe the original name should be used, I have to think a bit about that. It seems that curl does it like that." naughty Github but I am curious is it not normal for a dowload link to redirect to something else anyway ? I have seen such redirections frequently with browser. "ZnClient new url: ' https://github.com/kilon/ChronosManager/archive/master.zip'; setIfModifiedSince: (Date year: 2015 month: 12 day: 1); downloadTo: FileLocator imageDirectory / 'master.zip'; yourself." yes that though crossed my mind too. How I tell ZnClient to overwrite an existing file , because by default it complains and pops up a dialog. "Yeah, not much you can do about that." Well I could have gone with the Github api in the first place , as Skip notedm but I am clueless when it comes to web dev. " The API supports conditional requests (If-Modified-Since and If-None-Match), so perhaps you should use the API endpoints: https://developer.github.com/v3/#conditional-requests" because I am clueless with web dev can you help me understand how to do this with ZnClient ? Is this what people are referring to as a REST API ? " I am planning to implement caching and conditional requests in my API bindings: https://github.com/Balletie/GitHub " your tool is great but i am trying to create as few dependencies for my project as possible or else it will take forever to load in a pharo image but I am definitely interesting into learning from your code . Thanks :)