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. Hello just wanted to give you a quick heads up. The words in your
    post seem to be running off the screen in Opera.
    I’m not sure if this is a format issue or something to do with internet browser compatibility but I figured
    I’d post to let you know. The design look great though!
    Hope you get the issue solved soon. Thanks

  2. Open Wide La Jolla Dentistry provides exceptional dental care with a smile!
    I had a fantastic experience at Open Wide La Jolla Dentistry, the best dentist near me!
    The staff at Open Wide La Jolla Dentistry are truly friendly and professional teeth whitening services

  3. The Winslow is the best Rugby Bar I’ve ever visited! The atmosphere is unbeatable.
    I love hanging out at The Winslow, the ultimate Rugby Bar Near Me.
    The Winslow is my go-to spot for rugby matches. It’s the best Rugby Bar New York has to offer The Winslow live sports