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. Aw, this was a very nice post. Finding the time and actual
    effort to create a superb article… but what
    can I say… I procrastinate a whole lot and don’t manage to get
    nearly anything done.

  2. Защитные кейсы https://plastcase.ru в Санкт-Петербурге — надежная защита оборудования от влаги пыли и ударов. Большой выбор размеров и форматов ударопрочные материалы индивидуальный подбор.

  3. Explore endless creativity abound unleash excitement create bonds forge friendships lasting lifetimes achieved embracing uniqueness celebrated thoroughly universally cherished wholeheartedly openly embraced warmly received heartily welcomed forevermore bounce house rentals wesley chapel

  4. Oh my goodness! Impressive article dude! Thanks, However I
    am encountering troubles with your RSS. I don’t understand the reason why I cannot join it.

    Is there anybody having identical RSS issues?
    Anyone who knows the solution can you kindly respond?
    Thanx!!