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. Hey! I realize this is kind of off-topic however I needed to ask.
    Does running a well-established website such as yours require a
    lot of work? I’m brand new to operating a blog but I do write in my journal everyday.
    I’d like to start a blog so I will be able to share
    my own experience and views online. Please let me know if you have any kind of suggestions or tips
    for new aspiring blog owners. Thankyou!

  2. I never knew how vital understanding local laws would become until diving deeper into research conducted via site dedicated entirely around helping others succeed through movements overseas such as theirs … forever grateful **【 Anykeyword 】** ! Dundee full service movers

  3. Asking questions are genuinely fastidious thing if you are not understanding anything fully, except this article offers nice understanding even.