Commit Graph

172 Commits

Author SHA1 Message Date
Victor Vazquez
825d4f11d5
make poll return const ref to rawResponse (#1875)
* make poll return const ref to rawResponse
2021-03-12 03:18:47 +00:00
Ahson Khan
fc79c5b3ad
Rename header files to match the namespace structure for things nested within Azure::Core. (#1879)
* Rename header files to match the namespace structure for things nested
within Azure::Core.

* Update a header include that was missed.
2021-03-11 16:22:37 -08:00
Ahson Khan
bd8336f8a2
Removed Azure::Core::Http::InvalidHeaderException and throw std::invalid_argument if the user provides invalid header arguments. (#1871) 2021-03-11 13:42:33 -08:00
Ahson Khan
6a1afb9cbe
Moved the Base64Encode() and Base64Decode() functions to be static members of a Convert class within the Azure::Core namespace. (#1870)
* 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.
2021-03-11 12:39:51 -08:00
Rick Winter
7c862e1a51
Switch to return the RawResponse const& (#1852)
* Operation returns a RawResposne const&
2021-03-11 10:59:33 -08:00
Ahson Khan
ec1c92f2ea
Fix to call the instance method on bodystream from recent tests. (#1866) 2021-03-11 17:57:06 +00:00
Ahson Khan
12475350b2
Changed the static methods 'BodyStream::ReadToCount()' and 'BodyStream::ReadToEnd()' into instance methods. (#1863)
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
2021-03-11 11:58:33 +00:00
Ahson Khan
84df3cefbc
Make FileBodyStream easy to construct by accepting a file name, and create an internal ParallelFileBodyStream. (#1830)
Alternative to https://github.com/Azure/azure-sdk-for-cpp/pull/1730 which avoids accepting and breaking the `FILE*` abstraction.
2021-03-11 08:39:52 +00:00
Victor Vazquez
c0ce9688d6
fix regression on contex value implementation for Storage (#1862) 2021-03-11 07:53:33 +00:00
Victor Vazquez
23b698f2c6
Move URL to CORE (#1840)
* move url from Core::Http to Core::
2021-03-10 23:29:35 -08:00
Victor Vazquez
a9c0637e46
Moving Nullable<T> to Azure namespace (#1847)
* Moving Nullable<T> to Azure namespace

* changelog
2021-03-10 18:56:11 -08:00
Victor Vazquez
c7ba56f837
Move http policies to Azure::Core::Http::Policies (#1844)
* Move http policies to Azure::Core::Http::Policies

* update to latest master
2021-03-10 18:55:56 -08:00
Victor Vazquez
33c95b09e9
make curl transport adapter to request new connection if sending fails (#1721)
* make curl transport adapter to request new connection if sending fails
2021-03-10 18:02:04 -08:00
Anton Kolesnyk
de0cb8a720
Azure::Core::Diagnostics (#1851)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 17:20:45 -08:00
Ahson Khan
2a1ea1f890
Rename the Range type to HttpRange within the Azure::Core::Http namespace. (#1835)
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.
2021-03-10 23:26:36 +00:00
Rick Winter
ec24f659c4
Simplify the Context structure (#1824)
* Simplify the Context structure
* Move Azure::Core::GetApplicationContext() to Azure::Core::Context::GetApplicationContext()
2021-03-10 23:19:23 +00:00
Anton Kolesnyk
48258f8f81
Azure::*::_detail::Version => Azure::*::PackageVersion (#1839)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 15:15:28 -08:00
Anton Kolesnyk
76870c4414
Azure::Core::DateTime => Azure::DateTime (#1836)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 22:44:09 +00:00
Victor Vazquez
7fca169d25
Create StringExtensions in azure core internal (#1837) 2021-03-10 14:13:51 -08:00
Anton Kolesnyk
2562df6682
_internal::Json => Json::_internal (#1834)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 14:05:35 -08:00
Ahson Khan
3d6cd38658
Move Azure::IO types like BodyStream to Azure::Core::IO. (#1833)
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.
2021-03-10 21:36:29 +00:00
Victor Vazquez
8bf8ebb53c
fix msvc static checks (#1829) 2021-03-10 07:07:01 +00:00
Victor Vazquez
a4110e44e2
throw when rawResponse was extracted (#1825)
* throw when rawResponse was extracted
2021-03-09 21:50:08 -08:00
Anton Kolesnyk
bc564dbddd
Namespaces renamed: Details => _detail, Internal => _internal (#1823) 2021-03-09 18:05:47 -08:00
Victor Vazquez
931cb76e82
update tests from core to run together (#1818) 2021-03-09 22:42:15 +00:00
Ahson Khan
dd3c79c9b4
Make sure DateTime.ToString() works without requiring additional parameters by choosing RFC 3339 as the default. (#1812)
* 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.
2021-03-09 13:29:20 -08:00
Victor Vazquez
6582d3a6dc
moving pipeline from azure core internal to azure core http internal (#1821) 2021-03-09 12:02:44 -08:00
Victor Vazquez
e4b5b806d0
Move Azure::MatchConditions and Azure::ModifiedConditions (#1810)
Move `Azure::MatchConditions` and `Azure::ModifiedConditions` (#1810)
2021-03-09 01:45:22 +00:00
Victor Vazquez
a70be6a49c
Moving ETag to ::Azure (#1801)
etag rename
2021-03-08 16:05:18 -08:00
Victor Vazquez
04d8508e07
Move Response<T> to Azure:: (#1800)
* Move Response<T> to Azure
2021-03-08 21:19:17 +00:00
Rick Winter
e7e2ea8bb5
Move Version out of the Details namespace (#1809)
* Move Version out of the Details namespace
SDKVersion strings for each package are not a detail and can be used by customers.

* Add changelog
2021-03-08 10:21:25 -08:00
Rick Winter
9dedcb0d4c
Operations need to provide the RawResponse (#1803)
* Operations should expose the RawResposne
Added the pure virtual method
2021-03-05 20:33:14 -08:00
Victor Vazquez
401dbfe448
Fix context for unique (#1796)
* fix for Context to support unique ptr
2021-03-05 16:09:04 -08:00
Ahson Khan
11a533a6fd
For consistency within the SDK, move Azure::Core::Context to be the last parameter for various Azure::Core APIs. (#1779)
* 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
2021-03-05 14:39:57 -08:00
Anton Kolesnyk
622e8da4fe
API Review Feedback: Logging and DateTime updates (#1752) 2021-03-05 12:16:14 -08:00
Victor Vazquez
501a98276b
fix for moving and copying client options (#1788) 2021-03-05 08:26:30 +00:00
Victor Vazquez
16eb5710d1
Rename add headers (#1750)
* Rename AddHeader to SetHeader
2021-03-04 22:09:22 +00:00
Victor Vazquez
78b9a87278
Client base options on Azure Core (#1734)
Add client options base class
construct pipeline from Core
2021-03-03 15:25:28 -08:00
Victor Vazquez
a5ff474118
Http request counter (#1738)
* Add counter to request about the retry number using the Context
2021-03-03 20:51:19 +00:00
Rick Winter
9ad38383fe
Make ModifiedConditions Nullable. (#1761)
* Make ModifiedConditions Nullable.
Add access helpers for Nullable.
2021-03-02 13:42:25 -08:00
Ahson Khan
a55aba01be
Moved BodyStream and its derived types from Azure::Core::Http namespace to Azure::IO, and update headers. (#1733)
* 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.
2021-03-01 11:33:26 -08:00
Anton Kolesnyk
ae575b0c08
CaseInsensitiveMap (#1731)
* 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>
2021-02-26 08:38:01 -08:00
Victor Vazquez
5fdb9f4b5d
Remove null body stream (#1741)
* Remove LimitBodyStream
Move NullBodyStream to internal
2021-02-25 22:37:34 +00:00
Casey Carter
f9d4d36ad8
Defend public headers against inclusion of Windows.h (#1719)
* 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.
2021-02-23 09:56:00 -08:00
Victor Vazquez
b7de24483a
Rename and structure unit test and perf tests (#1706)
* Rename and structure unit test and perf tests
2021-02-23 05:55:12 +00:00
Ahson Khan
0dfe2f498d
Throw a logic error when calling Rewind on unsupported BodyStreams and update the exception message to be actionable. (#1713)
* Throw a runtime error when calling Rewind on unsupported BodyStreams and update the exception message.

* Add rewind test for bodystream.

* Change exception type from runtime to logic.

* Add necessary platform specific headers.
2021-02-22 12:26:51 -08:00
Ahson Khan
97b0ccf79b
Make sure to rewind the body stream at the start of each request retry attempt. (#1712)
* Make sure to rewind the body stream at the start of each request retry attempt.

* Add change log entry

* Add request start try unit test
2021-02-22 12:18:34 -08:00
Rick Winter
50efbdb4c0
Add holder for registry handle to ensure cleanup of native resources. (#1711)
Add a holder for the registry key to ensure it is always cleaned up when it goes out of scope.
Exceptions should be caught as const.
2021-02-22 17:48:28 +00:00
Anton Kolesnyk
bf347d24c2
Disable compiler extensions, fix Clang options to have effect, fix warnings (#1615)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-18 19:15:11 -08:00
Victor Vazquez
e9cf40505b
Performance projects for services (#1655)
* add test metadata to the tests for the perf fw
2021-02-18 21:05:22 +00:00