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. Hi there great blog! Does running a blog like this require a lot of work?
    I’ve no knowledge of coding however I had been hoping to start my own blog in the near future.
    Anyhow, if you have any recommendations or techniques
    for new blog owners please share. I know this is off topic nevertheless I just had to ask.
    Cheers!

  2. Cherishing tales growing lasting bonds weaving tapestry studies shaping narratives lives intertwined destinies interwoven shared paths most appropriate towards brighter tomorrows filled probabilities open doors adventures watching for these willing step marin county rehab

  3. Building multifunctional spaces in a position adapted furniture enables households delight in exceptional time in combination devoid of sacrificing vogue relief levels either approach—I’ve been finding instructions shared throughout systems involving this custom built ins storage solutions

  4. An outstanding share! I have just forwarded this onto a co-worker who had been conducting
    a little homework on this. And he in fact bought me dinner because I discovered it for him…

    lol. So let me reword this…. Thanks for the meal!!
    But yeah, thanx for spending some time to talk about this matter here on your
    web page.