-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[TT-14863] Replace github.com/TykTechnologies/kin-openapi with github.com/getkin/kin-openapi #7041
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
base: master
Are you sure you want to change the base?
Conversation
Let's make that PR title a 💯 shall we? 💪 Your PR title and story title look slightly different. Just checking in to know if it was intentional!
Check out this guide to learn more about PR best-practices. |
API Changes no api changes detected |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨No code suggestions found for the PR. |
…7061) ### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-14868" title="TT-14868" target="_blank">TT-14868</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Request Body Not Recorded When Transfer-Encoding: chunked</td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20codilime_refined%20ORDER%20BY%20created%20DESC" title="codilime_refined">codilime_refined</a>, <a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20customer_bug%20ORDER%20BY%20created%20DESC" title="customer_bug">customer_bug</a>, <a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20jira_escalated%20ORDER%20BY%20created%20DESC" title="jira_escalated">jira_escalated</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> ## Description The request body is not captured in the analytics record if the request uses Transfer-Encoding: chunked. This affects both Classic and OAS APIs. ## Related Issue <!-- 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. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- 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. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] 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) ## Checklist <!-- 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 ___ ### **PR Type** Bug fix, Tests ___ ### **Description** - Fixes request body logging for chunked Transfer-Encoding requests - Updates deepCopyBody to handle streaming requests correctly - Expands unit tests for deepCopyBody with streaming scenarios - Ensures grpc and upgrade requests are excluded from body copying ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>reverse_proxy.go</strong><dd><code>Fix deepCopyBody to handle streaming and chunked requests</code></dd></summary> <hr> gateway/reverse_proxy.go <li>Updates deepCopyBody to skip streaming requests using <br>httputil.IsStreamingRequest<br> <li> Prevents body copying for chunked, grpc, and upgrade requests </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7061/files#diff-e6e07722257f7e41691e471185ad6d84fd56dc9e5459526ea32e9a5e8fa1a01b">+1/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>reverse_proxy_test.go</strong><dd><code>Expand deepCopyBody tests for streaming and grpc scenarios</code></dd></summary> <hr> gateway/reverse_proxy_test.go <li>Adds tests for grpc and upgrade request handling in deepCopyBody<br> <li> Verifies that target body is not updated for streaming requests<br> <li> Ensures correct behavior for non-streaming requests </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7061/files#diff-ce040f6555143f760fba6059744bc600b6954f0966dfb0fa2832b5eabf7a3c3f">+8/-2</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details>
### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-8176" title="TT-8176" target="_blank">TT-8176</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Add ability to authenticate based on multiple JWKS endpoints</td> </tr> <tr> <th>Type</th> <td> <img alt="Story" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium" /> Story </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20Release3Candidate%20ORDER%20BY%20created%20DESC" title="Release3Candidate">Release3Candidate</a>, <a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20customer_request%20ORDER%20BY%20created%20DESC" title="customer_request">customer_request</a>, <a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20jira_escalated%20ORDER%20BY%20created%20DESC" title="jira_escalated">jira_escalated</a>, <a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20rel3-2025-commercial-commitment%20ORDER%20BY%20created%20DESC" title="rel3-2025-commercial-commitment">rel3-2025-commercial-commitment</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> ## Description ``` change implements being able to authorise a user's request using multiple JWK endpoints ``` <!-- Describe your changes in detail --> ## Related Issue https://tyktech.atlassian.net/browse/TT-8176 <!-- 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. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- 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. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [x] 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) ## Checklist <!-- 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 ___ ### **PR Type** Enhancement, Tests ___ ### **Description** - Add support for multiple JWK URIs in JWT authorization - Update API and OAS definitions to include JWK URI lists - Implement concurrent JWK URI secret retrieval in middleware - Extend JWT middleware tests for multiple JWK URIs ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>api_definitions.go</strong><dd><code>Add JWTJwkURIs field to API definition struct</code> </dd></summary> <hr> apidef/api_definitions.go <li>Add <code>JWTJwkURIs</code> field to <code>APIDefinition</code> struct for multiple JWK URIs </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7060/files#diff-9961ccc89a48d32db5b47ba3006315ef52f6e5007fb4b09f8c5d6d299c669d67">+1/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>security.go</strong><dd><code>Add and map JwkURIs field in OAS JWT struct</code> </dd></summary> <hr> apidef/oas/security.go <li>Add <code>JwkURIs</code> field to OAS JWT struct for multiple JWK endpoints<br> <li> Map new field in fillJWT and extractJWTTo functions<br> <li> Reset <code>JWTJwkURIs</code> in resetSecuritySchemes </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7060/files#diff-15e7d47137452ca4f3f6139aa8c007cdb426152c41846f712f8bf5dfb607afcc">+8/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>mw_jwt.go</strong><dd><code>Implement multi-JWK URI secret retrieval in middleware</code> </dd></summary> <hr> gateway/mw_jwt.go <li>Check and use multiple JWK URIs for JWT secret retrieval<br> <li> Implement concurrent fetching from multiple JWK URIs<br> <li> Integrate new logic into JWT middleware </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7060/files#diff-e8bce0f6790c8c56b30e24dbeebb0fc4aa0879ab5ea5f6ef6dbe68931410e237">+49/-0</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>mw_jwt_test.go</strong><dd><code>Add tests for multiple JWK URIs in JWT middleware</code> </dd></summary> <hr> gateway/mw_jwt_test.go <li>Add test for multiple JWK URIs in JWT middleware<br> <li> Ensure error handling for multiple JWK URIs scenario </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7060/files#diff-406bf8fdb6c0cc77f04c6245c70abfc592ddb1525aa843200d850e14d135ebfc">+6/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details>
…est Plugin loaded (#7064) ### **User description** <!-- Provide a general summary of your changes in the Title above --> ## Description Couple of tests were added to meet acceptance criteria ## Related Issue <!-- 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. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- 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. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] 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) ## Checklist <!-- 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 ___ ### **PR Type** Tests ___ ### **Description** - Added acceptance tests for Go-plugin OAS API access in response plugins - Tested standalone, chained, and combined request/response plugin scenarios - Enhanced test plugins to set additional headers for OAS API info - Implemented new response plugin for chained middleware validation ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>mw_go_plugin_test.go</strong><dd><code>Add acceptance tests for Go-plugin OAS API in response plugins</code></dd></summary> <hr> goplugin/mw_go_plugin_test.go <li>Added three new subtests for Go-plugin OAS API access in response <br>plugins<br> <li> Tested standalone response plugin, chained response plugins, and <br>combined request/response plugins<br> <li> Validated correct OAS API info propagation via custom headers<br> <li> Updated test paths and header assertions for new scenarios </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7064/files#diff-0ad6c75c29b2656d9d5cfa9108d32a3b242c339c1688ce168516ed213a5f482b">+92/-17</a> </td> </tr> <tr> <td> <details> <summary><strong>test_goplugin.go</strong><dd><code>Enhance test plugins for OAS API header assertions</code> </dd></summary> <hr> test/goplugins/test_goplugin.go <li>Removed unused XOASDocTitle constant<br> <li> Enhanced MyPluginAccessingOASAPI and MyResponsePluginAccessingOASAPI <br>to set extra headers<br> <li> Added new MyResponsePluginAccessingOASAPI2 for chained response plugin <br>testing </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7064/files#diff-6b57b162c0610abdd8c4edf02dab0718ef7daa1c986aeae2e13adf9904ec3459">+12/-7</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details>
…API import (#7067) ### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-11387" title="TT-11387" target="_blank">TT-11387</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Unhelpful error messages in UI when creating APIs via OpenAPI import</td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20codilime_refined%20ORDER%20BY%20created%20DESC" title="codilime_refined">codilime_refined</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> ## Description When importing an OpenAPI Document into Tyk, users encounter cryptic error messages that don't provide clear guidance on how to resolve the issues. This is particularly problematic for the "servers object is empty in OAS" error, which occurs when importing an OpenAPI Document without a servers section. Users aren't informed that they can use the Custom Upstream URL option as an alternative to modifying their OpenAPI Document. ## Related Issue <!-- 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. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- 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. --> ## Screenshots (if appropriate) ## Types of changes <!-- 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) ## Checklist <!-- 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 ___ ### **PR Type** Bug fix, Tests ___ ### **Description** - Improved error messages for OpenAPI import failures. - Updated error constants to provide actionable guidance. - Enhanced test cases to check for new error messages. - Clarified user instructions for missing or invalid OAS fields. ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>default.go</strong><dd><code>Enhanced and clarified OAS import error messages</code> </dd></summary> <hr> apidef/oas/default.go <li>Replaced vague error messages with detailed, user-friendly <br>explanations.<br> <li> Updated error constants to suggest actionable next steps.<br> <li> Clarified error context for missing or invalid OAS fields.<br> <li> Adjusted invalid server URL format message for clarity. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7067/files#diff-83c3a85bdd05785178ee519b05b1fe2008435dc4ae9448d72b080b5f67c491ad">+5/-5</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>api_test.go</strong><dd><code>Updated tests for improved OAS error messages</code> </dd></summary> <hr> gateway/api_test.go <li>Updated test assertions to match new, more informative error messages.<br> <li> Ensured tests check for actionable guidance in error responses.<br> <li> Improved test coverage for OAS import error scenarios. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7067/files#diff-10b4a3d7bdd8d98e48b288d27fd46d9ee436617806c46913fdf7942c0e4a992e">+7/-3</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details>
<details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-14731" title="TT-14731" target="_blank">TT-14731</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Add a flag to enable all bento inputs/outputs</td> </tr> <tr> <th>Type</th> <td> <img alt="Story" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium" /> Story </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td>-</td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- Re-opened and cleaned version of this PR: #6903 This was a required move to use the latest tyk-analytics code for api-tests. ___ Enhancement, Tests ___ - Add `EnableAll` flag to streaming config to disable Bento validator - Implement `EnableAllConfigValidator` to bypass Bento config validation - Update stream loading to support all Bento plugins via single import - Add and extend tests for validator disabling and config placeholder support ___ <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>config.go</strong><dd><code>Add EnableAll flag to StreamingConfig struct</code> </dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-fe44f09c4d5977b5f5eaea29170b6a0748819c9d02271746a20d81a5f3efca17">+2/-0</a> </td> </tr> <tr> <td><strong>validator.go</strong><dd><code>Implement EnableAllConfigValidator to skip validation</code> </dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-462103c9f2f33bbe3bd4a21e46b5614fa0a4bfc3c3774f6c5f2ef858ae3fbb3f">+14/-0</a> </td> </tr> <tr> <td><strong>validator.go</strong><dd><code>Add logic to use EnableAll validator and new validation entrypoint</code></dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-351cfcacb241ec2c3a3172d8c17e1217d6e942b5962081e7f9fd1582e801ca7f">+16/-0</a> </td> </tr> <tr> <td><strong>stream.go</strong><dd><code>Import all Bento plugins via single import</code> </dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-12571ea9605d5a2dd5ab5aa36972649881f87a84a39b7074213d29d24fc396a8">+2/-8</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>validator_test.go</strong><dd><code>Add tests for EnableAll validator and config validation</code> </dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-a2b6f11dd78fabd9764d82f19af456f7b2bb835951d49e5e79d3488240513d0a">+63/-2</a> </td> </tr> <tr> <td><strong>mw_streaming_test.go</strong><dd><code>Minor test cleanup and reliability improvements</code> </dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-a0d1bd0196a741537a3c850e340225c8993e49d709c838af0f1b48b9893af1da">+10/-33</a> </td> </tr> <tr> <td><strong>mw_streaming_mqtt_test.go</strong><dd><code>Fix test cleanup and error handling for WebSocket clients</code></dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-09d30d4ab7dc29a32af2e23e40cf873770963e4ee54c4a0bff4e83200e9d4926">+4/-3</a> </td> </tr> </table></details></td></tr><tr><td><strong>Dependencies</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>go.mod</strong><dd><code>Update gopsutil version and add indirect dependencies</code> </dd></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+234/-12</a></td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>middleware.go</strong></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-0ce428c0f09dca65e3df6e72d01fee63b6f237785e41e6ecf0ce34a8b65c74a5">+0/-1</a> </td> </tr> <tr> <td><strong>go.sum</strong></td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7065/files#diff-3295df7234525439d778f1b282d146a4f1ff6b415248aaac074e8042d9f42d63">+2228/-22</a></td> </tr> </table></details></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: Leonid Bugaev <[email protected]>
### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-14470" title="TT-14470" target="_blank">TT-14470</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Streams SSE and WS must be usable by Browser Clients</td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td>-</td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- This PR updates bento to `v1.7.1` that includes a fix for SSE with browsers (See warpstreamlabs/bento#284) ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Update `github.com/warpstreamlabs/bento` to v1.7.1 for SSE browser fix - Upgrade multiple dependencies to latest patch/minor versions - Add new indirect dependencies required by updated libraries - Improve compatibility and security via dependency updates ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Update bento and refresh direct/indirect dependencies</code> </dd></summary> <hr> go.mod <li>Bump <code>github.com/warpstreamlabs/bento</code> from v1.4.0 to v1.7.1<br> <li> Update several direct dependencies (e.g., grpc, protobuf, x/net)<br> <li> Add new indirect dependency <code>github.com/clbanning/mxj/v2</code><br> <li> Update indirect dependencies for Kafka, Prometheus, and others </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7072/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+11/-10</a> </td> </tr> <tr> <td> <details> <summary><strong>go.sum</strong><dd><code>Update dependency checksums for new/updated libraries</code> </dd></summary> <hr> go.sum <li>Add checksums for new/updated dependencies and versions<br> <li> Remove checksums for old dependency versions<br> <li> Reflects all changes from go.mod updates </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7072/files#diff-3295df7234525439d778f1b282d146a4f1ff6b415248aaac074e8042d9f42d63">+32/-28</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details>
### **User description** Removed dialer when trying to load grpc plugins and used non-depcrecated methods that should make use of dns instead of forcing tcp <!-- Provide a general summary of your changes in the Title above --> ## Description <!-- Describe your changes in detail --> ## Related Issue <!-- 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. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- 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. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] 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) ## Checklist <!-- 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 ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Replaced deprecated gRPC dial method with updated approach - Removed custom dialer to allow DNS-based service resolution - Adopted `grpc.WithTransportCredentials(insecure.NewCredentials())` for security - Improved compatibility with service names in gRPC plugins ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>coprocess_grpc.go</strong><dd><code>Modernize gRPC client connection and remove deprecated dialer</code></dd></summary> <hr> gateway/coprocess_grpc.go <li>Removed use of deprecated <code>grpc.Dial</code> with custom dialer<br> <li> Switched to <code>grpc.NewClient</code> and modern connection options<br> <li> Eliminated forced TCP, enabling DNS-based service resolution<br> <li> Updated to use <br><code>grpc.WithTransportCredentials(insecure.NewCredentials())</code> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7052/files#diff-53c2775617dfe21b5a271269cd737bcc2818e2f0243b9a6e6bf5a73b14180334">+11/-4</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details>
|
User description
TT-10853
Description
This PR replaces the internal fork github.com/TykTechnologies/kin-openapi with the official upstream module github.com/getkin/kin-openapi. Migrating to the maintained upstream version reduces technical debt, ensures long-term maintainability, and gives us access to the latest features, bug fixes, and security updates from the community.
Related Issue
https://tyktech.atlassian.net/browse/TT-14863
Motivation and Context
How This Has Been Tested
Screenshots (if appropriate)
Types of changes
Checklist
PR Type
enhancement
Description
Upgrade
kin-openapi
dependency to v0.132.0Refactor codebase for new
kin-openapi
API usageUpdate all imports from old to new
kin-openapi
module pathAdjust OpenAPI Paths/Responses handling for new API
Changes walkthrough 📝
2 files
Update kin-openapi and related dependencies to latest versions
Update dependency hashes for new kin-openapi and others
20 files
Refactor tests for new kin-openapi Paths/Responses API
Refactor tests for new kin-openapi Paths/Responses API
Refactor OAS tests for new Paths/Responses API
Update kin-openapi import path in fixtures test
Update import test for new Paths API
Refactor security tests for new Paths API
Refactor validator tests for new kin-openapi API
Update kin-openapi import path in example tests
Update kin-openapi import path in API definition tests
Refactor API tests for new kin-openapi Paths API
Update kin-openapi import path in looping tests
Refactor mock response tests for new kin-openapi API
Update kin-openapi import path in middleware tests
Update kin-openapi import path in streaming tests
Update kin-openapi import path in test utilities
Update kin-openapi import path in Go plugin tests
Update kin-openapi import path in root tests
Update kin-openapi import path in streams validator tests
Update kin-openapi import path in context tests
Update Paths test for new kin-openapi API
15 files
Refactor OAS operation logic for new kin-openapi API
Update middleware import logic for new Paths API
Update example extraction for new Schema type API
Update OAS struct for new kin-openapi import path
Update kin-openapi import path in security logic
Update kin-openapi import path in authentication logic
Update kin-openapi import path for migration logic
Update kin-openapi import path in API logic
Update kin-openapi and router imports in API definition
Refactor mock response logic for new Responses API
Update kin-openapi router import path
Update kin-openapi and filter imports in middleware
Update kin-openapi router import path in version check
Update kin-openapi import path and Paths iteration
Refactor Paths utilities for new kin-openapi API