Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging to release-4-lts: TT-8934 Fix chunked response analytics (#5495) #5746

Commits on Nov 7, 2023

  1. TT-8934 Fix chunked response analytics (#5495)

    <!-- Provide a general summary of your changes in the Title above -->
    
    <!-- Describe your changes in detail -->
    
    When transfer-encoding is chunked on the upstream response, analytics
    records raw responses also contain the chunked characters (example
    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding#examples).
    This is not expected.
    
    The proposed solution is to delete the transfer-encoding header before
    reading and writing the response body to the rawResponse field. Without
    this header, Go will process the header as it should.
    
    <!-- This project only accepts pull requests related to open issues. -->
    <!-- If suggesting a new feature or change, please discuss it in an
    issue first. -->
    <!-- If fixing a bug, there should be an issue describing it with steps
    to reproduce. -->
    <!-- OSS: Please link to the issue here. Tyk: please create/link the
    JIRA ticket. -->
    https://tyktech.atlassian.net/browse/TT-8934
    
    <!-- Why is this change required? What problem does it solve? -->
    https://tyktech.atlassian.net/browse/TT-8934
    
    <!-- Please describe in detail how you tested your changes -->
    <!-- Include details of your testing environment, and the tests -->
    <!-- you ran to see how your change affects other areas of the code,
    etc. -->
    <!-- This information is helpful for reviewers and QA. -->
    
    Added tests
    
    <!-- What types of changes does your code introduce? Put an `x` in all
    the boxes that apply: -->
    
    - [X] Bug fix (non-breaking change which fixes an issue)
    - [ ] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing
    functionality to change)
    - [ ] Refactoring or add test (improvements in base code or adds test
    coverage to functionality)
    
    <!-- Go over all the following points, and put an `x` in all the boxes
    that apply -->
    <!-- If there are no documentation updates required, mark the item as
    checked. -->
    <!-- Raise up any additional concerns not covered by the checklist. -->
    
    - [ ] I ensured that the documentation is up to date
    - [ ] I explained why this PR updates go.mod in detail with reasoning
    why it's required
    - [ ] I would like a code coverage CI quality gate exception and have
    explained why
    
    (cherry picked from commit e4b0f9e)
    tbuchaillot authored and Tyk Bot committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    4f85bde View commit details
    Browse the repository at this point in the history
  2. Resolve conflicts

    Tit Petric committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    4264c08 View commit details
    Browse the repository at this point in the history
  3. Remove new analytics test dependant on pump

    Tit Petric committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    69264bc View commit details
    Browse the repository at this point in the history