MooTools Depender, Safari, etags and 412 Precondition Failed

/**
* This replaces the default MooTools more Depender.request function to use
* HTTP "get" rather than "post".
*
* When sending requests for files via the depender, I was finding that Safari
* wasn't getting and re-evaluating them the second time I visited the page.
* This was because an etag was sent with each script.
*
* Safari responds to etags properly and adds "If-None-Match" and
* "If-Modified-Since" headers to another request for the same file. This makes
* Apache respond with a 412 status (Precondition Failed) as it should do for
* "post" requests (according to RFC 2616).
*
* Unfortunately Safari doesn't then deal with the 412 as it does with a 304
* (Not Modified). It doesn't grab what it has in the cache and put it in the
* response, it gives you nothing.
*
* For "get" requests, Apache has to respond with a 304, or 200 or whatever, but
* not 412. So we change the request method so we don't have to deal with 412.
*/
Depender.request = function(url, callback){
    new Request.JSON({
        url: url,
        secure: false,
        onSuccess: callback,
        method:'get'
    }).send();
};

24,935 thoughts on “MooTools Depender, Safari, etags and 412 Precondition Failed

  1. What i do not realize is in truth how you are now
    not actually a lot more neatly-preferred than you might
    be now. You’re very intelligent. You realize therefore considerably in the case
    of this subject, made me personally imagine it from so many various angles.
    Its like women and men are not interested except it’s one thing to do with Girl gaga!

    Your own stuffs outstanding. All the time
    maintain it up!

  2. Way cool! Some very valid points! I appreciate you writing
    this write-up and also the rest of the site is also really good.

  3. Amazing things here. I am very glad to peer your article.
    Thank you so much and I am looking ahead to touch you.

    Will you kindly drop me a e-mail?

  4. Asking questions are in fact good thing if you are
    not understanding something totally, except this article presents fastidious understanding even.

  5. What’s Going down i’m new to this, I stumbled upon this I have
    found It positively useful and it has aided me out loads.
    I hope to give a contribution & aid different users like its helped me.
    Good job.