-
Notifications
You must be signed in to change notification settings - Fork 39
Discard v2 #134
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
Comments
The plan for discarding v2 is the following:
The latest tag of http v1 was set on commit da1407c. Below is a list of commits between tag 1.1.0 and HEAD ( e7e00ea Merge pull request #79 from tarantool/51-html-escaping - keep, fix of issue #51, seems not related to http v2. So we need to save these commits (commits that added after revert of http v2 are marked strike through): 16c761a |
Patch reverts all changes made since commit 'add travis builds for tags' (da1407c). All these changes are related to http v2. Reasons are described in issue #134. No test regressions introduced in comparison to http v1. How to check: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo make make check Part of #134
Run tests in CMake by a separate target ('make check') and not as a CMake test. Part of #134
Patch reimplements commit 'Run luacheck on CI, fix warnings' (b660d8e) added for http v2 and later reverted in scope of issue with discard v2. File http/mime_types.lua contains duplicate items in a table, I don't know what items can be removed so I just ignored a file in a luacheck configuration file. Follows up #95 Part of #134
TODO: add unit tests Method resp:setcookie() implicitly escapes cookie values. Commit adds ability to set cookie without any escaping with option 'raw': resp:setcookie('name', 'value', { raw = true })` Method req:cookie() implicitly unescapes cookie values. Commit adds ability to get cookie without unescaping: req:cookie('name', { raw = true }) Also added escaping of cookie path, and changed escaping algorithm according to [1]. These changes were added as a part of http v2 support in commit 'Added ability to set and get cookie without escaping' (42e3002) and later reverted in scope of ticket with discard v2. 1. https://tools.ietf.org/html/rfc6265 Follows up #126 Part of #134
Patch reverts all changes made since commit 'add travis builds for tags' (da1407c). All these changes are related to http v2. Reasons are described in issue #134. No test regressions introduced in comparison to http v1. How to check: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo make make check Part of #134
Run tests in CMake by a separate target ('make check') and not as a CMake test. Part of #134
Patch reimplements commit 'Run luacheck on CI, fix warnings' (b660d8e) added for http v2 and later reverted in scope of issue with discard v2. File http/mime_types.lua contains duplicate items in a table, I don't know what items can be removed so I just ignored a file in a luacheck configuration file. Follows up #95 Part of #134
TODO: add unit tests Method resp:setcookie() implicitly escapes cookie values. Commit adds ability to set cookie without any escaping with option 'raw': resp:setcookie('name', 'value', { raw = true })` Method req:cookie() implicitly unescapes cookie values. Commit adds ability to get cookie without unescaping: req:cookie('name', { raw = true }) Also added escaping of cookie path, and changed escaping algorithm according to [1]. These changes were added as a part of http v2 support in commit 'Added ability to set and get cookie without escaping' (42e3002) and later reverted in scope of ticket with discard v2. 1. https://tools.ietf.org/html/rfc6265 Follows up #126 Part of #134
Patch reverts all changes made since commit 'add travis builds for tags' (da1407c). All these changes are related to http v2. Reasons are described in issue #134. No test regressions introduced in comparison to http v1. How to check: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo make make check Part of #134
Run tests in CMake by a separate target ('make check') and not as a CMake test. Part of #134
Patch reimplements commit 'Run luacheck on CI, fix warnings' (b660d8e) added for http v2 and later reverted in scope of issue with discard v2. File http/mime_types.lua contains duplicate items in a table, I don't know what items can be removed so I just ignored a file in a luacheck configuration file. Follows up #95 Part of #134
Method req:cookie() implicitly unescapes cookie values. Commit adds ability to get cookie without unescaping: req:cookie('name', { raw = true }) This change was added as a part of http v2 support in commit 'Added ability to set and get cookie without escaping' (42e3002) and later reverted in scope of ticket with discard v2. Follows up #126 Part of #134
Method resp:setcookie() implicitly escapes cookie values. Commit adds ability to set cookie without any escaping with option 'raw': resp:setcookie('name', 'value', { raw = true })` Also added escaping for cookie path, and changed escaping algorithm according to RFC 6265 "HTTP State Management Mechanism", see [1]. This change was added as a part of http v2 support in commit 'Added ability to set and get cookie without escaping' (42e3002) and later reverted in scope of ticket with discard v2. 1. https://tools.ietf.org/html/rfc6265 Follows up #126 Part of #134
And stick on v1.
The list of actions TBD.
NB: Don't forget to write a good explanation why we discard v2.
Supersedes #132.
Details in Russian
Обсудили совместимость между версиями http. Результат такой:
Зачем был нужен http v2, и что получилось:
Что еще пошло не так:
Так что, кажется, что мы все согласны признать http v2 неудачным экспериментом. В связи с этим предполагаются примерно такие действия:
Ничего не забыл?
Итого в httpng нам надо будет просто поддержать API v1.
Benchmarks: https://gist.github.com/Totktonada/667b504bdad8cbc5777a0442d1181230
The text was updated successfully, but these errors were encountered: