Uploaded image for project: 'Shindig'
  1. Shindig
  2. SHINDIG-1890

If-Modified-Since header not handled properly in gadgets js servlet

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.5.0-beta5
    • 2.5.0-beta5
    • Java
    • None

    Description

      The gadgets js servlet response can never be 304. Even if the If-Modified-Since header present in the request header and the gadgets js content has been cached in browser.

      Shindig provides required js processors and optional js processors. In current implementation, the IfModifiedSinceProcessor is doing the right thing to set a 304 response status code and stop the other optional js processors. But CompilationProcessor, which is a required js processor, will always run and always use a 200 to overwrite the 304 status code. Thus in the gadget js servlet layer, it won't return 304.

      The proposed fix is to move IfModifiedSinceProcessor to a third type of processor: preprocessors. If one of the preprocessors return false, the entire process will be returned. So the closure compilor won't start. In the gadget js servlet, also add a check for 304 status code.

      Attachments

        1. w3.patch
          8 kB
          Marshall Shi

        Activity

          People

            Unassigned Unassigned
            marshall_601 Marshall Shi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: