Commit Graph

729 Commits

Author SHA1 Message Date
Victor Vazquez
009260c50a
rename private method (#1903) 2021-03-16 00:51:14 +00:00
Ahson Khan
c9e02370fe
Add back-ticks around Response<void> in changelog (#1886)
* 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>
2021-03-13 05:29:50 +00:00
Victor Vazquez
6c5e487f6d
fix pollInternal implementation (#1892) 2021-03-12 16:22:34 -08:00
Victor Vazquez
42a67b1349
Moving GetRawResponseInternal out of public from Operation derived classes (#1890) 2021-03-12 12:31:01 -08:00
Azure SDK Bot
e1288767d4
Increment package version after release of azure-core (#1887)
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2021-03-12 09:49:27 -08:00
Azure SDK Bot
16873d4398
Increment package version after release of azure-identity (#1888) 2021-03-12 09:47:48 -08:00
Ahson Khan
a864982208
Add date to the changelog for packages shipping today. (#1884) 2021-03-11 20:45:31 -08:00
Victor Vazquez
ad8528b86d
Fix StartCopyBlobOperation by removing the field - derived classes should not define a member with the same type and name as the base class (#1883)
Remove the raw response from Operation-derived class
2021-03-12 04:44:24 +00:00
Anton Kolesnyk
299b07e190
Changelog: Rephrase to move related entities closer together. (#1874)
* 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>
2021-03-11 19:47:17 -08:00
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
Anton Kolesnyk
64c0af3f67
Fix build on VS2017 (#1864) 2021-03-11 18:43:27 +00: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
Ahson Khan
55fe99a1b1
Revert checked-in connection strings and delete resources. (#1854) 2021-03-10 21:32:03 -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
f1773636c2
Consolidate the changelog entry for bodystream changes. (#1843) 2021-03-10 17:11:07 -08:00
Anton Kolesnyk
698fac6f19
DefaultAllowedHttpHeaders: Make static default const (#1849)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 16:40:34 -08:00
Anton Kolesnyk
865f707532
Azure::Core::Credentials (#1846)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 16:22:10 -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
Ahson Khan
2213991d52
Remove BUILD_ENV_LOGGER cmake option and always honor AZURE_LOG_LEVEL env var, if set. (#1827) 2021-03-09 23:05:00 -08: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
Ahson Khan
41a3b4c429
Fixing ci yml be making sure the comment starts with # (#1813)
Fixes typo from https://github.com/Azure/azure-sdk-for-cpp/pull/1800#discussion_r589725726
2021-03-08 22:17:23 +00:00
Victor Vazquez
04d8508e07
Move Response<T> to Azure:: (#1800)
* Move Response<T> to Azure
2021-03-08 21:19:17 +00:00
Casey Carter
32314ac993
Typo in "associated" (#1811) 2021-03-08 12:05:45 -08: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
Anton Kolesnyk
6b83c85154
Fix build on VS2017 (#1808)
* VS2017 is right, we should be including `<iterator>`, if we use `std::inserter`. It fails to compile on VS2017 without that include.
Why if fails on 2017 and not 2019? Some of the other stdlib headers we include must be including `<iterator>` indirectly in 2019. But we should not be relying on that. Standard says, you use `std::inserter` - include `<iterator>`, if it works without that, that's a coincidence which may break beween versions of stdlib/compilers.

* VS 2017 does not fail because we don't include `<type_taits>` here, but formally we should include it too, because we use 
`std::remove_reference` and `std::remove_const`. It just happens that `log.hpp` includes it, but we should not be relying on that.

This was found during local vcpkg verification - I happen to have it configured targeting VS2017. It does not mean it will fail in vcpkg CI, or would affect many customers, but some for sure. Verification on vcpkg CI looks good - https://github.com/microsoft/vcpkg/pull/16578 (it is based on our master as of Sat 3/6 + this fix).
I verified locally that it builds successfully on `x64-windows`, `x64-windows-static`, and `arm-uwp`.

We should run verification once again, once we have all the renames/moves in master.
2021-03-07 02:04:25 +00:00
JinmingHu
45055dc9ef
use new HttpPipeline builder (#1784) 2021-03-07 10:03:08 +08:00
JinmingHu
01ae3714f1
return rawresponse for copy operation (#1807)
* return rawresponse for copy operation

* also for file copy

* remove noexcept
2021-03-06 08:26:34 +00: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
JinmingHu
d6e88c2603
remove response<void> (#1785)
* not return response<void> anymore

* remove response<void> template specialization

* changelog
2021-03-05 05:54:07 +00:00
Victor Vazquez
35e7f292fc
fix wrong doc (#1783) 2021-03-04 21:47:19 -08:00
Victor Vazquez
16eb5710d1
Rename add headers (#1750)
* Rename AddHeader to SetHeader
2021-03-04 22:09:22 +00:00
Victor Vazquez
92e680b6af
make per call and per operation policies public (#1771) 2021-03-04 13:48:44 -08:00
JinmingHu
813980da8f
use AccessCondition provided by Azure::Core (#1775) 2021-03-04 13:27:56 -08: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
Victor Vazquez
c01efb4d0f
Keyvault create keys overloads createKey for RSA, EC and Oct (#1726)
overload operations for create
2021-03-02 15:48:54 -08: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
fe2f0d6d85
Fix UWP build (#1756)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-26 17:47:37 -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
JinmingHu
624d81ed0f
Rename string conversion functions to ToString() (#1748)
* Get() -> ToString()

* changelog
2021-02-25 23:30:43 -08:00
JinmingHu
31c2234ee8
Operation<T> for copy API (#1747) 2021-02-26 06:19:38 +00:00
JinmingHu
50772fa2d2
return Operation<T> for copy blob API (#1736) 2021-02-26 04:48:17 +00:00
Victor Vazquez
5fdb9f4b5d
Remove null body stream (#1741)
* Remove LimitBodyStream
Move NullBodyStream to internal
2021-02-25 22:37:34 +00:00
Ahson Khan
d1e43af75e
Add LRO concept section to core, along with a sample snippet to help get started. (#1729)
* Add LRO concept section to core, along with a sample snippet to help get started.

* address feedback
2021-02-24 09:14:17 -08: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
Victor Vazquez
f9eea4d22d
Adding missing documentation for key vault keys (#1700)
* Adding missing documentation for key vault keys
2021-02-22 16:09:36 -08: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
JinmingHu
249327a3fa
Refactor pipeline building logic, add support for customized application id and API version (#1703)
* refactor pipeline build code

* Changelog

* fix build error

* fix bug

* fix ut

* changelog
2021-02-20 09:13:20 +08:00
JinmingHu
5c2d0fba17
remove unused stuff (#1701) 2021-02-19 14:53:04 +08: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
Victor Vazquez
cea5e03a17
Keyvault adding delete key (#1675)
Adding delete key operation
2021-02-18 09:36:13 +00:00
Victor Vazquez
5f523f7030
update noRevoke (#1678)
* update noRevoke

* use EnableCertificateRevocationListCheck instead of Disable
2021-02-18 02:16:22 +00:00
Victor Vazquez
b41c53509b
Update GetString to ToString (#1677)
* Update GetString to ToString
2021-02-12 22:25:01 +00:00
Azure SDK Bot
87210648ff
Increment version for storage releases (#1673)
* Increment package version after release of azure-storage-common

* Increment package version after release of azure-storage-blobs

* Increment package version after release of azure-storage-files-datalake

* Increment package version after release of azure-storage-files-shares
2021-02-12 13:37:00 +08:00
Victor Vazquez
a02d8a2693
Moving HttpPipeline to Internal layer (#1642)
Partial work from #1342 

Moving the Http Pipeline to the internal layer.

The HTTP pipeline is yet exposed through the Storage protocol layer headers which only use it from its Details namespace but still expose it. Fixing that would require re-doing its protocol layer, which is not ideal, so the expectation is to just leave it as Internal to be enough to be considered as non-for-end-users
2021-02-11 02:43:58 +00:00
Victor Vazquez
e423265180
Make keyvault to expose telemetry options (#1661)
fixes: #1566
2021-02-11 02:16:54 +00:00
Victor Vazquez
e141ad6de4
update context paramenter for keyvault APIs (#1663)
* update context paramenter for keyvault APIs

* Apply suggestions from code review

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2021-02-10 17:53:17 -08:00
Ahson Khan
8f75082fd6
Remove the TransportKind enum from the SDK since it is not used. (#1653)
* Remove the TransportKind enum from the SDK since it is not used.

* Add a CL entry.
2021-02-10 13:42:01 -08:00
Ahson Khan
9015bfe399
Address implementation level feedback for Md5Hash and delete ctors. (#1647)
* Address implementation level feedback for Md5Hash and delete ctors.

* Address docs feedback.

* Address PR feedback

* Move the copy ctor deletion from Md5Hash to the base class.

* Remove re-assignment of Crc64Hash in tests.
2021-02-10 12:09:40 -08:00
Rick Winter
fcd64f7bd2
Split RequestConditions into MatchCondtions and ModifiedConditions (#1644)
* Split the inheritance on the RequestConditions
Rename RequestConditions to ModifiedConditions
2021-02-10 11:24:15 -08:00
Ahson Khan
9edae4f792
Add Operation<T>, OperationStatus, Exception, and Platform headers to (#1659)
the simplified core header.
2021-02-10 11:06:26 -08:00
JinmingHu
572208baac
update release date (#1660) 2021-02-10 17:49:29 +08:00
JinmingHu
66ce129f80
move context out of options bag (#1658)
* move context out of options bag for blob service

* Changelog

* fix build warnings

* datalake

* file service

* small bug fix, I'll just put it in this PR hopefully no one will ever find out
2021-02-10 17:48:07 +08:00
Azure SDK Bot
c478f175ed
Increment package version after release of azure-core (#1657) 2021-02-10 00:17:04 -08:00
Ahson Khan
b40603dc40
Renamed Crc64 to Crc64Hash and change it to derive from the Azure::Core::Cryptography::Hash class. (#1646)
* Renamed `Crc64` to `Crc64Hash` and change it to derive from the `Azure::Core::Cryptography::Hash` class.

* Add default dtor
2021-02-09 22:06:11 -08:00
Daniel Jurek
2d4d766c6d
Publishing automation for vcpkg x-add-version (#1649)
* Add azure-template2 to validate publishing multiple packages to vcpkg

* Update versions to avoid release conflict

* Add custom port naming logic

* fix changelogs

* compute path

* Add azure-core-cpp dependency back in

* package name in control file

* Add changes to support vcpkg x-add-version

* Add azure-sdk identity to commit

* Remove old conditions/comments and use -am for commit

* remove -c parameters

* Use --author

* git config local

* space

* work around HasChanges=false

* Bump versions for verification

* Bump versions, update portfile to use azure-template2-cpp ref

* Add PackageVersion

* Revert template2

* Finish reverting template2

* Revert "Finish reverting template2"

This reverts commit aa1461facbdb7ebd1e0ad2d90f8fe5a7c9db9473.

* Revert "Revert template2"

This reverts commit 3a91e82e01e2d1610da0747c2c84e24f52105625.

* Commit without setting user.name and user.email

* bump version

* git commands on same line

* Revert "Revert "Revert template2""

This reverts commit 1721a626e3c2e2b8c43dfe4a2fedf5a891c58793.

* Revert "Revert "Finish reverting template2""

This reverts commit 461a57c14aee97c9b6f83c79fe3a74122c890fb2.

* Finish reverting template2
2021-02-09 14:56:00 -08:00
Ahson Khan
cda5d62b83
Add details to the Azure Core beta 6 changelog (#1645)
Reviewed the commits since the last release: 9b7849c155...3e543f9a73
2021-02-09 19:44:41 +00:00