Shindig
  1. Shindig
  2. SHINDIG-1890

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

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.5.0-beta5
    • Fix Version/s: 2.5.0-beta5
    • Component/s: Java
    • Labels:
      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.

      1. w3.patch
        8 kB
        Marshall Shi

        Activity

        Hide
        Marshall Shi added a comment -

        Attached is the proposed fixes.

        Show
        Marshall Shi added a comment - Attached is the proposed fixes.
        Hide
        Marshall Shi added a comment -

        Update the fixes for this JIRA

        Show
        Marshall Shi added a comment - Update the fixes for this JIRA
        Hide
        Marshall Shi added a comment -

        Attach the patch for this JIRA.

        Show
        Marshall Shi added a comment - Attach the patch for this JIRA.

          People

          • Assignee:
            Unassigned
            Reporter:
            Marshall Shi
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development