* Simplify the design of Response<T> for usability.
* Revert changes to operation<T> to keep the changes single purpose.
* Update many of the response<T> call sites based on API changes.
* Update all remaining callsites and fix clang formatting.
* Update Response<T> documentation.
* Fix clang formatting.
* Remove status code from the Response<T> public surface area.
* Update the changelog.
* Fix up CL wording and remove commented-out change to operation<T>.
* Fixed test by actually calling a method.
* Fix up key vault test by not taking ownership of raw response.
* Fix call to get status code in test.
* Add new line at end of keyvualt live test file.
* Make a local copy within keyvault pipeline to avoid compilers re-ordering things.
* Make the fixes to the recent keyvault changes.
* Fix key vault pipeline to address ImportKey test failure
* Update relative links to sections in the contributing guide doc to fix link verification
* Make some source code change modifications to trigger GenerateRelease CI steps
* Don't use relative paths in links, instead use the full path from master to be consistent with other places
* Add back-ticks around `Response<void>` in changelog
* Remove extra whitespace after type name in identity CL.
* Add back-ticks around type name in identity CL.
Co-authored-by: Victor Vazquez <victor.vazquez@microsoft.com>
* 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.
* Make sure DateTime.ToString() works without requiring additional parameters by choosing RFC 3339 as the default.
* Address naming feedback and add some tests.
* Fix test warning by using static cast.