* Move changelog entry to correct place
* Reformat breaking changes
* New feature in the right place
* body_stream.hpp
* Backtick
* Add changes made for Context
* More updates
* More updates
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Moved the `Base64Encode()` and `Base64Decode()` functions to be static members of a `Convert` class within the `Azure::Core` namespace.
* Add the class name in the source file for posix.
Usability studies found that static methods are generally not as user-friendly as instance methods. Folks new to the SDK have harder time discovering the APIs, they reverse the flow of typing, and the calling code ends up a bit more verbose because you have to spell out the whole namespace and type name when there aren't any using directives.
There doesn't seem to be a strong benefit or feasibility reason to keep these method statics which are typically harder to use and discover.
cc @kyle-patterson
Part of https://github.com/Azure/azure-sdk-for-cpp/issues/1789
> We shouldn't have Method, StatusCode, or Range. The way to reason about this is chances of collision and ease of documentation/discover-ability in SEO. RawResponse is specific enough that it doesn't need Http prefix, that's how I would draw the line.
Part of https://github.com/Azure/azure-sdk-for-cpp/issues/1789
From Jeff:
> BodyStream is only exposed to users when uploading/downloading bytes. Except for Storage almost no services do this at all; they read the stream and deserialize into a structure and the customer gets the structure - not the stream. Azure::Core:IO is a fine namespace.
* For consistency within the SDK, move Azure::Core::Context to be the last
parameter for various Azure::Core APIs.
* Fix merge conflict due to log policy file change.
* Update new client options tests
* 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>
* Defend public headers against inclusion of Windows.h
... which defines some nasty function-like macros `min` and `max` when `_NOMINMAX` isn't defined. We prevent expansion as a function-like macro by inserting some token(s) between `min`/`max` and the following `(`. Most commonly that means wrapping the entire qualified-name in `()` a la `(std::min)(x, y)`, but an explicit template argument list (`std::min<int>(x, y)`) works as well.
* clang-format all the things
* Test coverage
I assume that the `azure-meow-common` headers are fully covered by the tests for the `azure-meow-woof` SDKs.