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. I have to thank you for the efforts you’ve put in penning this
    website. I am hoping to view the same high-grade content by you in the future as well.
    In truth, your creative writing abilities has motivated me to get my own, personal website now ;)

  2. Highly suggest reaching out connect directly if seeking guidance navigating pathways leading successful recoveries stemming various situations involving automobiles

  3. The Injury Recovery Center has been a lifesaver for my back pain!
    I can’t believe the difference a chiropractor makes at the Injury Recovery Center!
    Looking for a chiropractor near me led me to the amazing team at Injury Recovery Center Lakewood CO back pain specialist

  4. Greetings from Los angeles! I’m bored to tears at work so
    I decided to check out your website on my iphone during lunch break.
    I really like the knowledge you provide here and can’t wait to take a look when I get home.
    I’m amazed at how fast your blog loaded on my cell phone ..
    I’m not even using WIFI, just 3G .. Anyhow, great site!