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. “As we reflect upon past experiences gained lessons learned valuable insights acquired navigating complexities arising challenges encountered previously let us carry forward knowledge wisdom gained applying them proactively ensuring brighter future awaits CoolSculpting Clinic

  2. Impressed by the expertise of Fresno personal injury lawyers! They truly know how to champion for their clients’ rights. If you’re looking for top-notch legal assistance, make sure to check them out at injury attorney .

  3. Considering the complexity of legal matters, having insightful guidance from accident attorney can be a game-changer. Portland personal injury lawyers bring expertise and dedication to ensure your rights are protected.

  4. Let’s celebrate achievements milestones reached honoring progress made reflecting upon lessons learned paving road ahead bright futures ready emerge promising new beginnings beckoning softly inviting warmly welcoming eagerly embracing wholeheartedly Bathroom Remodel

  5. Thanks for the good writeup. It in truth was once a enjoyment account it.

    Glance advanced to more brought agreeable from you! By the way, how can we keep up a correspondence?