* Moved `BodyStream` and its derived types from `Azure::Core::Http`
namespace to `Azure::IO`, and update headers.
* Fix up clang formatting.
* Add missing winhttp bodystream namespace change.
* Update merge conflict related changes.
* Update header paths in includes.
* Add CaseInsensitiveMap<T>
* Drop unneccessary namespace qualification
* Comment working: more accurate description
* GCC and Clang fix (typename specification) + doxy comments for template parameters
* Remove Allocator template parameter - we can add it later if we need it, currently no need to commit to having it there
* Drop <T> template parameter. We can add it later with default value of std::string without breaking change
* Unit test
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Add MD5 hashing APIs to Azure::Core available from azure/core/md5.hpp.
* Add simplified header test for md5 and base64.
* Add changelog entry.
* Remove unnecessary include.
* Address feedback - add back ptr, length APIs.
* Address PR feedback - docs and typo fixes.
* Add a Hash base class and redesign Md5 to derive from it.
* Add test for call to final on empty instance.
* Remove old file which got renamed to hash.hpp.
* Remove md5.hpp file references.
* Address PR feedback - move to crypto, remove virtual, and misc.
* release mode test for Linux with test
* Fix GCC warning when building in Release configuration
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
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
* Add Base64 encode and decode APIs to Azure::Core (from Azure::Storage).
* Revert changes to crypt.hpp to leave callsite updates for auto-gen
storage component for later.
* Add entry to changelog.
* Add basic unit tests.
* Remove definition of NOMINMAX since it is unnecessary.
* Include missing header from openssl.
* Include missing open ssl buffer header.
* Address feedback around angle brackets, and move implementation into a
namespace block.
* Remove redundant namespace qualifier in the signature.
* Link openssl to azure-core for non-Windows platforms, to fix the MacOS
linking issue.
Moves package version strings in the details namespace.
Fixes#1249
# 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?