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 blog quite often and I seriously appreciate your content.
    Your article has truly peaked my interest. I’m going to take
    a note of your blog and keep checking for new information about
    once per week. I opted in for your RSS feed as well.

  2. Heya i’m for the first time here. I came across this board and I find It truly useful & it helped me out much.
    I hope to give something back and aid others like you helped me.

  3. Kerner Law Group, P.C. provided exceptional service during my case! Their Bronx car accident attorney team is truly top-notch.
    I’m so grateful to the Bronx car accident lawyer from Kerner Law Group, P.C. They really helped me through a tough time Motorcycle accident attorney Bronx

  4. Omni Dental Specialty saved my weekend when I needed an emergency dentist in Oxnard CA. Their team was amazing!
    I’m so grateful for Omni Dental Specialty’s emergency dentist services. They relieved my pain quickly and professionally Sudden tooth pain treatment