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. “Very useful product showcasing essential concepts stressing effectiveness without compromising hygiene levels expected by paying clients checking out routinely -never be reluctant inspecting freshly released updates shared constantly over time by means airbnb cleaning

  2. I absolutely love my results from Sculpted MD Lakewood, they truly understand what it means to provide exceptional med spa services!
    The staff at Sculpted MD Lakewood always makes me feel welcome, this med spa near me has become my self-care sanctuary Lakewood CO aesthetic medicine

  3. I really love your blog.. Very nice colors
    & theme. Did you develop this amazing site yourself?
    Please reply back as I’m hoping to create my own personal
    blog and would love to know where you got this from or what the theme is named.

    Cheers!