While parsing a chunked response with the curl HTTP transport adapter, there was an issue for parsing the last chunk.
As soon as the end of chunk data was found ("0") the adapter was returning and setting the session state as if the transfer was completed.
However, the HTTP RFC for chunked data (https://tools.ietf.org/html/rfc7230#section-4.1) defines that there is a CRLF after the last chunk info.
By not reading the last CRLF from the response, and if the connection was re-used right after reading the last chunk made the next request to get the `CRLF` as the first part for the response, making the parser crash.
The fix in this PR makes sure that when the last chunk is found and parsed, the CRLF is also parsed from the response to make sure that the response data transfer has completed
fixes: #1396
…ality.
Fixes https://github.com/Azure/azure-sdk-for-cpp/issues/1163
# Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).
- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
- [x] PR is single purpose
- [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?
# Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).
- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
- [x] PR is single purpose
- [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?
# Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).
- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
- [x] PR is single purpose
- [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?
* Disable dependency on azure-core until azure-core releases to vcpkg.
* Remove release artifact creation script and pipeline step
* Copy items from root cmake generate outputs (no need to do individual project preparation)
* Space
* Add VcpkgPortName (package port names may change in the future to include non v1 version numbers like azure-template-cpp-v2)
* Destination should be artifact name, not vcpkg port name
* Disable PR steps
* SHA512 1 -> SHA512 %SHA512%
* New release procedure
* Unblock publishing process
* Increment azure-template version
* Update branch strategy, uncomment final release of template
* Increment version to test release
* Fix remote branch checkout logic
* Increment version
* Exit successfully
* Increment version
* Increment Version
* Version Increment
* Add a difference in the output file to validate multiple runs against a target PR branch
* Enable existing PR branches in create-pull-request.yml
* Increment version
* Fix archetype-cpp-release.yml syntax
* Skip checkout instead
* Increment version
* Fix automated version incrementing
* Increment version
* Update CHANGELOG.md
* Update CHANGELOG.md date
* Revert CONTROL file
* Remove Build-Depends
* Increment version
* Output commands
* Check out branch in either branch scenario
* Increment version
* Fetch the .tar.gz file using convention, the REST API does not give the location of the .tar.gz
* Increment Version
* ToLower
* Increment
* Increment version
* Version updater should not append a new line to the end of the file contents (existing new line at the end of the file will remain, if present)
* Add azure-template2 to validate base case of shipping different packages instead of file replacement validation from previous runs
* Remove extra backtick
* Add template2 to root CMakeLists.txt
* Review feedback: Support main scenario with packages coming from different location (no new file conflicts)
* Remove file blocking link check step. This is ok because the whole azure-template2 folder will be removed after this verification is complete
* Version increment
* Make template2 install in different locations
* Increment version
* Remove azure-template2 that was used for validating publishing multiple packages
* Remove template2 from ci.yml
* Use "SHA512 1" syntax as proposed by vcpkg documentation and regex replacement
* Review feedback
* Increment version
* Quotes
* Review feedback and re-add New-ReleaseAsset.ps1
# Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).
- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
- [x] PR is single purpose
- [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?
closes https://github.com/Azure/azure-sdk-for-cpp/issues/1056
# Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).
- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
- [x] PR is single purpose
- [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?
closes https://github.com/Azure/azure-sdk-for-cpp/issues/1129
# Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).
- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
- [x] PR is single purpose
- [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?