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. Элегантные шторы для дома за городом шторы для коттеджа шторы для коттеджа .

  2. Appreciating the dedication you put into your blog and in depth information you offer.
    It’s good to come across a blog every once in a while that isn’t the same old rehashed material.
    Excellent read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google
    account.

  3. You actually make it appear so easy together with your
    presentation however I in finding this matter to be really something which
    I believe I’d by no means understand. It sort of
    feels too complicated and very wide for me. I’m having a look forward for your
    next publish, I will try to get the cling of it!

  4. Профессиональный сервисный центр по ремонту техники в Самаре. Мы предлагаем: Ремонт роботов-пылесосов Miele стоимость Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  5. Профессиональный сервисный центр по ремонту техники в Казани. Мы предлагаем: Ремонт стиральных машин Hisense стоимость Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  6. Профессиональный сервисный центр по ремонту Apple iPhone в Москве. Мы предлагаем: ремонт айфонов в москве недорого Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  7. My coder is trying to convince me to move to .net from PHP.
    I have always disliked the idea because of
    the costs. But he’s tryiong none the less. I’ve been using Movable-type on numerous websites for about a year and am anxious about switching to another platform.
    I have heard very good things about blogengine.net.
    Is there a way I can import all my wordpress posts into it?

    Any kind of help would be greatly appreciated!

  8. Hey there, You’ve done a fantastic job. I’ll definitely
    digg it and personally recommend to my friends. I am confident they’ll be benefited from
    this web site.