Commit Graph

538 Commits

Author SHA1 Message Date
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
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
Ahson Khan
a864982208
Add date to the changelog for packages shipping today. (#1884) 2021-03-11 20:45:31 -08: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
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
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
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
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
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
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
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
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
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
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
Azure SDK Bot
c478f175ed
Increment package version after release of azure-core (#1657) 2021-02-10 00:17:04 -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
Victor Vazquez
3e543f9a73
changelog (#1635) 2021-02-09 10:39:55 -08:00
Anton Kolesnyk
84ffcd7168
Simplify logging (#1568)
Closes #1180.
2021-02-09 04:37:08 +00:00
Ahson Khan
b3497f8c16
Add a Hash base class to Azure::Core and redesign Md5 to derive from it. (#1632)
* 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.
2021-02-08 18:31:12 -08:00
Victor Vazquez
1f849ec384
fix docs (#1633) 2021-02-08 17:13:30 -08:00
Ahson Khan
4d3ecf39e7
Use the port defined in the URL when setting up the transport adapter usage. (#1611)
* Use the port defined in the URL when setting up the transport adapter usage.

* Fix typo when getting the request object.
2021-02-08 16:51:27 -08:00
Ahson Khan
568d4bcc4e
Add MD5 hashing APIs to Azure::Core available from azure/core/md5.hpp. (#1617)
* 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.
2021-02-08 15:34:41 -08:00
Anton Kolesnyk
8389e86567
Add VcPkg OpenSSL dependency for Azure::Core (#1620)
* Add VcPkg OpenSSL dependency for Azure::Core

* OpenSSL is not required on UWP either

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-06 18:55:59 -08:00
Anton Kolesnyk
79864623f0
Tests: DateTime: add TimeRoundtrip test (#1613)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-05 16:21:24 -08:00
Rick Winter
a57cb349eb
Add context tests for ThrowIfCancelled and ApplicationContext (#1602) 2021-02-05 19:12:47 +00:00
Victor Vazquez
43aa7ff7ad
[Perf Framework] (#1528)
perf test infrastructure
2021-02-04 19:51:35 -08:00
Rick Winter
87cce3910f
Add conditional request support (#1592)
- MatchConditions
- RequestConditions
2021-02-04 19:46:12 +00:00
Sylvain Joubert
2f250f3968
Fix math for bearer token refresh time (#1593) 2021-02-04 03:29:42 -08:00
Azure SDK Bot
1c86f14cc8
Increment package version after release of azure-core (#1574) 2021-02-03 08:25:48 -08:00
Victor Vazquez
9b7849c155
changelog for release Core Beta 5 and Identity Beta 3 (#1572)
* changelog for release

* missing changelog entries
2021-02-02 18:15:33 -08:00
Anton Kolesnyk
06d66492eb
Add TokenRequestOptions and ClientSecretCredentialOptions (#1527)
* Add GetTokenOptions
2021-02-02 17:09:33 -08:00
Anton Kolesnyk
6b9b57815e
Follow suggestions for improving azure-core CMake files (#1534)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-02 15:03:19 -08:00
Anton Kolesnyk
4f0ee2eaa2
Update changelog for the 'retry-after' fix (#1535) 2021-02-02 14:11:17 -08:00
Anton Kolesnyk
376cca6acd
Changelog: add () after function names. (#1569)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-02 13:57:18 -08:00
Victor Vazquez
c6b919ac2a
release mode test for Linux with test (#1560)
* 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>
2021-02-01 21:43:40 -08:00
Rick Winter
72253e0957
CMakeLists for each Service (#1524)
* Add service level CMakeLists
* Fix CMake minimum version
2021-01-29 21:53:16 -08:00
Sylvain Joubert
8684be0970
Fix Retry-After header check (#1522)
This failed to be triggered because the response has all its headers as lower case
2021-01-29 12:51:26 -08:00
JinmingHu
a858a77ac0
make defaultNonUrlEncodeChars const (#1502) 2021-01-29 09:55:04 +08:00
Victor Vazquez
3b9a465a4f
[Keyvault] CreateKey API (#1459)
* mandatory data for create

* createKey API added with partial serialize/de-serialize
2021-01-28 10:46:07 -08:00
Victor Vazquez
60a4792a0f
Make cmake modules consistent names (#1498)
* AzureVersion

* Vcpkg

* coverage

* missing renames

* missing renames
2021-01-27 18:55:46 -08:00
Ahson Khan
af844a1272
Do not pass a placeholder user-agent string as a fallback when using WinHttp (#1495)
Verified the behavior is now as expected when telemetry policy is turned off.

**Before:**
![image](https://user-images.githubusercontent.com/6527137/106042018-65d64e00-6091-11eb-8741-c6c42cb028d3.png)

**After:**
![image](https://user-images.githubusercontent.com/6527137/106042157-86060d00-6091-11eb-9699-929128eb6ea1.png)
2021-01-27 20:31:53 +00:00
Rick Winter
453d39c577
Fix const naming in Core to follow Guidelines (#1481)
* Fix grammar in doxygen comments

* Update constants to follow the Guidelines
  Remove 'c_' prefixes
2021-01-27 11:56:30 -08:00
Anton Kolesnyk
a2bfa7acf1
Move ValuePolicy from Details namespace to Internal (#1494)
Follow up on #1458.
2021-01-27 19:29:20 +00:00
Anton Kolesnyk
aeb386f286
Add ValuePolicy (#1458) 2021-01-27 10:51:53 -08:00
Victor Vazquez
6c3aeed35c
Json unit tests (#1464)
Adding json unit tests
2021-01-27 10:07:12 -08:00
Daniel Jurek
583120d3ef
Add timeout parameter to live test job (#1478) 2021-01-26 15:04:37 -08:00
Rick Winter
50a4186d96
Add support for HTTP Etag to Azure::Core (#1428)
* Add ETag class
2021-01-26 12:04:34 -08:00
Victor Vazquez
ccccd115f8
Adding missing comments in curl source (#1440)
fixes: #1416
2021-01-26 08:19:09 +00:00
JinmingHu
ae53a38c7a
Support poll operations in blob service (#1461)
* operation<T>

* add test cases

* changelog

* fix build error

* add virtual destructor

* fix build error

* use Azure::Core::RequestFailedException
2021-01-26 16:00:20 +08:00
Victor Vazquez
5af134b103
missing format (#1437)
Adding clang-format to json.hpp.  Not sure how it passed the gates before. I might need to revisit if the clang-format check is working
2021-01-22 19:38:59 +00:00
Victor Vazquez
385a7887a2
Moving json to internal (#1378)
Wrap nlohmann json lib inside core internal api
2021-01-22 11:12:27 -08:00
Anton Kolesnyk
15182d5a34
Fix link errors when producing a DLL, add UWP compilation support (#1346) 2021-01-21 16:52:07 -08:00
Victor Vazquez
a2bc2e9d99
remove static analysis from CI (#1423)
fixes: #1422
2021-01-21 20:20:27 +00:00
Victor Vazquez
1320d8a830
Add link to the doc (#1384)
* Add link to the doc
2021-01-20 10:02:21 -08:00
Victor Vazquez
d5cb9ccec0
revert timeout patch on libcurl (#1412)
Reverting https://github.com/Azure/azure-sdk-for-cpp/pull/1391/files as the patch is still required.

The previous validation was invalid because the current storage pipeline is not testing libcurl transport adapter
2021-01-20 06:50:22 +00:00
Victor Vazquez
3f67c21ba8
Fix the end of chunk parsing (#1403)
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
2021-01-20 05:57:45 +00:00
Victor Vazquez
f285aaead9
Make CI fail if there are clang format errors (#1328)
Won't pass until #1330 is merged first

fixes: #1329
2021-01-20 01:09:29 +00:00
Victor Vazquez
06a6a5628e
Remove libcurl patch for timeout (#1391) 2021-01-19 16:19:37 -08:00
Ahson Khan
c564c02544
Move APIs from Azure::Core::Strings to Azure::Core::Internal since they aren't meant for end users to call. (#1337)
Fixes https://github.com/Azure/azure-sdk-for-cpp/issues/1319

See https://github.com/Azure/azure-sdk-for-cpp/pull/1297#discussion_r554458422 for context.

~There is an open question whether this should be in the Jan or Feb milestone.~ Moved to Feb
2021-01-15 22:02:40 +00:00
Victor Vazquez
9492bef54b
adding-nlohmann-3.6-to-interna-core-headers (#1379)
Adding the original nlohmann main header to internal API so it is easier to see any futher changes made to it while adapting it
2021-01-15 20:21:27 +00:00
Azure SDK Bot
5d4e77bd6e
Increment package version after release of azure-core (#1362) 2021-01-14 10:44:25 -08:00
Ahson Khan
af097c8e65
Use two digit month in changelog release date to adhere to expected format for Azure::Core and Azure::Identity (#1360) 2021-01-14 00:39:06 +00:00
Ahson Khan
698fabcc71
Update changelog for Azure::Core and Azure::Identity (#1357)
Follow up to https://github.com/Azure/azure-sdk-for-cpp/pull/1317
2021-01-13 23:28:11 +00:00
Victor Vazquez
1ea035e0bd
changelog updated for Releasing Core 1.0.0-beta.4 and Identity 1.0.0-beta.2 (#1317)
* changelog updated for Releasing Core 1.0.0-beta.3 and Identity 1.0.0-beta.2
2021-01-13 15:05:07 -08:00
Daniel Jurek
f15c823e79
Automate publishing to vcpkg (#1283)
* Disable dependency on azure-core until azure-core releases to vcpkg.

* Remove release artifact creation script and pipeline step

* Copy items from root cmake generate outputs (no need to do individual project preparation)

* Space

* Add VcpkgPortName (package port names may change in the future to include non v1 version numbers like azure-template-cpp-v2)

* Destination should be artifact name, not vcpkg port name

* Disable PR steps

* SHA512 1 -> SHA512 %SHA512%

* New release procedure

* Unblock publishing process

* Increment azure-template version

* Update branch strategy, uncomment final release of template

* Increment version to test release

* Fix remote branch checkout logic

* Increment version

* Exit successfully

* Increment version

* Increment Version

* Version Increment

* Add a difference in the output file to validate multiple runs against a target PR branch

* Enable existing PR branches in create-pull-request.yml

* Increment version

* Fix archetype-cpp-release.yml syntax

* Skip checkout instead

* Increment version

* Fix automated version incrementing

* Increment version

* Update CHANGELOG.md

* Update CHANGELOG.md date

* Revert CONTROL file

* Remove Build-Depends

* Increment version

* Output commands

* Check out branch in either branch scenario

* Increment version

* Fetch the .tar.gz file using convention, the REST API does not give the location of the .tar.gz

* Increment Version

* ToLower

* Increment

* Increment version

* Version updater should not append a new line to the end of the file contents (existing new line at the end of the file will remain, if present)

* Add azure-template2 to validate base case of shipping different packages instead of file replacement validation from previous runs

* Remove extra backtick

* Add template2 to root CMakeLists.txt

* Review feedback: Support main scenario with packages coming from different location (no new file conflicts)

* Remove file blocking link check step. This is ok because the whole azure-template2 folder will be removed after this verification is complete

* Version increment

* Make template2 install in different locations

* Increment version

* Remove azure-template2 that was used for validating publishing multiple packages

* Remove template2 from ci.yml

* Use "SHA512 1" syntax as proposed by vcpkg documentation and regex replacement

* Review feedback

* Increment version

* Quotes

* Review feedback and re-add New-ReleaseAsset.ps1
2021-01-13 14:35:18 -08:00
Ahson Khan
d7cded9feb
Update the Azure Core changelog wording and content for the upcoming beta.4 release. (#1352)
Follow up to https://github.com/Azure/azure-sdk-for-cpp/pull/1340#issuecomment-759155935

Went through the commits related to Azure Core between beta.3 and what we plan to ship for beta.4:
1df5cfac9c...f8aebf5634
2021-01-13 21:13:31 +00:00
Ahson Khan
abf4a6bb29
Update the changelog wording and content for the upcoming release. (#1340)
* Update the changelog wording and content for the upcoming release.

* Add back the namespace text that was accidentally dropped.
2021-01-12 23:58:04 -08:00
JinmingHu
0127ddae91
void specialization of Response<T> (#1331)
* void specialization of Response<T>

* changelog:
2021-01-12 17:35:35 -08:00
Ahson Khan
5de2ca7b3c
Update notice.txt files for storage and move nlohmann json notice content to azure-core. (#1339)
* Update notice.txt files for storage and move nlohmann json notice
content to azure-core.

* Add a new line.
2021-01-12 17:20:40 -08:00
Anton Kolesnyk
c3484c5d4d
DateTime: Add unit tests for comparison operators (#1332)
Add unit tests for the https://github.com/Azure/azure-sdk-for-cpp/pull/1326 fix.
2021-01-12 12:53:08 +00:00
JinmingHu
320b60806e
fix comparison bug introduced in #1320 (#1326) 2021-01-12 13:25:42 +08:00
Anton Kolesnyk
99a6ec5395
DateTime: better integration with chrono, support year 0001+ (#1320) 2021-01-11 17:40:16 -08:00
JinmingHu
dc8c9182e1
fix build error introduced in PR #1297 and #1298 (#1303)
# 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?
2021-01-11 03:40:48 +00:00
Ahson Khan
fb33402844
Remove Base64 encode and decode methods from Azure::Storage and move the string-based helper to Internal. Update storage call sites. (#1298)
Follow up from https://github.com/Azure/azure-sdk-for-cpp/pull/1297 as the second step to fix #1020
2021-01-09 08:12:06 +00:00
Ahson Khan
1efbfb3056
Add Base64 encoding and decoding utility APIs to the Azure::Core namespace available from azure/core/base64.hpp. (#1297)
* 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.
2021-01-08 21:20:44 -08:00
Ahson Khan
4753cf64e3
Update cg manifest files and move the declaration of the nlohmann json dependency to core. (#1295) 2021-01-08 19:31:15 -08:00
Anton Kolesnyk
9e94941250
Add copyright and license comments to CONTROL files (#1296)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-01-08 18:15:42 -08:00
Anton Kolesnyk
9fb5e05efd
VcPkg: On Windows, also install WinHTTP by default (#1294)
# 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).

- [ ] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [ ] Doxygen docs
- [ ] Unit tests
- [ ] No unwanted commits/changes
- [ ] Descriptive title/description
  - [ ] PR is single purpose
  - [ ] Related issue listed
- [ ] Comments in source
- [ ] No typos
- [ ] Update changelog
- [ ] Not work-in-progress
- [ ] External references or docs updated
- [ ] Self review of PR done
- [ ] Any breaking changes?
2021-01-09 01:25:35 +00:00
Victor Vazquez
910731893a
docs for the HTTP transport adapter (#1285)
* docs for the HTTP transport adapter
2021-01-08 16:16:09 -08:00
Victor Vazquez
57b78dc0ad
Enhance the exception for body stream rewind (#1291) 2021-01-08 15:01:19 -08:00
Rick Winter
36fbcd9cee
Version strings (#1276)
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?
2021-01-07 08:07:46 +00:00
Victor Vazquez
9d9f1e6f4c
remove cancellation check from retry policies (#1196)
* remove cancellation check from retry policies

* Update BodyStream to do cancellation check on Read
2021-01-05 18:38:06 -08:00
Victor Vazquez
e141cf1a6b
Update canceled to cancelled (#1256)
* rename all `canceled` to `cancelled`

* Adding changelog breaking changes
2021-01-05 16:28:05 -08:00
Kan Tang
fb869f10af
Resolves the leap year last day calculation issue. (#1254) 2021-01-05 09:45:21 +08:00
JinmingHu
da86ed7ec5
rename WinHTTP CMake target (#1240)
# 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?
2021-01-04 16:59:46 +00:00
ku-sourav
14e947ff03
Throw exception if curl_easy_init returns Null (#1239) 2020-12-22 14:23:29 -08:00
Anton Kolesnyk
bdc2931855
Token: use DateTime (#1221) 2020-12-18 19:10:54 -08:00
Anton Kolesnyk
d40b4fb642
DateTime: add default constructor (#1220) 2020-12-18 18:21:24 -08:00
Anton Kolesnyk
e3d8719281
Fix gtest and related warnings (#1224) 2020-12-18 18:20:02 -08:00
Victor Vazquez
1502468dba
Reuse connection pool depending on host and connection options (#1189)
* Reuse connection pool depending on host and connection options
2020-12-18 17:27:47 -08:00
Victor Vazquez
5525d68a15
Fix main ut tests when not using libcurl (#1227)
* Fix for test cases when not using libcurl
2020-12-18 17:18:35 -08:00
Anton Kolesnyk
89351e4484
AuthenticationException: derives from std::exception (#1222)
Closes #1178
2020-12-19 00:42:00 +00:00
Marcelo Juchem
2443e7cfcb
fix curl dependency on non-standard install prefix (#1218)
* fix curl dependency on non-standard install prefix

When `libcurl` is installed to a non-standard install prefix `azure-core` will configure include/lib directories correctly (as long as `CMAKE_FIND_ROOT_PATH` is set appropriately) for its dependencies (`INTERFACE`) but not for itself (`PRIVATE`), thus failing the build.
2020-12-18 15:25:55 -08:00
Victor Vazquez
62949025b1
Merge param-tests for the transport adapter (#1217)
fixes: #1216 
fixes: #1087
2020-12-18 22:21:40 +00:00
Victor Vazquez
78df96ab6c
removed e2e core tests (#1215) 2020-12-18 11:02:10 -08:00
Victor Vazquez
0d312028ce
Check if error during test after opening a file (#1205)
fixes: #1074
2020-12-18 18:42:16 +00:00
Rick Winter
60e70a3695
Fix doxygen comments for Operation<T> (#1210) 2020-12-18 02:39:55 +00:00
Victor Vazquez
8aac9091c2
Mention min clang format version and format all cpp and hpp files with clang-format version 9.0 (#1208)
* Add info about clang-format version

* updates for cpp and hpp format

* special cases
2020-12-17 18:34:23 -08:00
Victor Vazquez
6a317e8b87
Move the default transport adapter assignation to the source (#1206)
fixes: #1169
2020-12-18 02:13:03 +00:00
Victor Vazquez
942c6aaffa
replace ifdef for if defined (#1199)
fixes: #1057
2020-12-17 22:57:40 +00:00
Rick Winter
bcb684f95e
Add Operation<T> (#1186)
* Add Operation<T>
2020-12-17 14:47:20 -08:00
Victor Vazquez
20954d5dba
unify fileBodyStream in one single definition for Win and Lin (#1198)
* unify fileBodyStream in one single definition for Win and Lin
2020-12-17 11:23:01 -08:00
Victor Vazquez
1bfbaf7330
use gtest_discover_tests for creating tests (#1195) 2020-12-16 15:00:01 -08:00
Victor Vazquez
dacd6aa6c1
Added HTTP Range (#1188)
* Added HTTP Rangeom>
2020-12-16 14:27:17 -08:00
Victor Vazquez
fc7d52926a
init fields to avoid MSVC warning (#1172)
Fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/922
2020-12-15 22:21:24 +00:00
Victor Vazquez
8cd93803c4
Remove libcurl non required options (#1153)
Fixes: https://github.com/azure/azure-sdk-for-cpp/issues/931
2020-12-15 22:08:48 +00:00
Victor Vazquez
0b9befe13d
update default value to true for the SDK CurlTransportSSLOptions -> NoRevoke (#1181)
fixes: #1101
2020-12-15 01:01:12 +00:00
Ahson Khan
f2394ddb02
Following the guidelines, use quotes for files within the same project, and angle brackets for external dependencies. (#1150) 2020-12-11 14:04:59 -08:00
Anton Kolesnyk
3eae7c130c
Add VcPkg support (#1013) 2020-12-11 11:53:37 -08:00
Ahson Khan
c22392e943
Add context.IsCanceled to provide a non-throwing alternative to ThrowIfCanceled. (#1106) 2020-12-10 23:01:12 +00:00
Ahson Khan
0f854ffa9b
Add WinHTTP Transport support to the SDK for windows clients as another HTTP Transport. (#897)
Fixes https://github.com/Azure/azure-sdk-for-cpp/issues/354
2020-12-10 22:00:52 +00:00
Anton Kolesnyk
828bb4098a
Make changes towards making libraries individually buildable (#1108) 2020-12-09 04:02:29 -08:00
Anton Kolesnyk
035ba8509c
Move BearerTokenAuthenticationPolicy to Http namespace/policy.hpp (#1104) 2020-12-08 17:04:03 -08:00
Anton Kolesnyk
bbe4b54528
Do not use ${TARGET_NAME} unless necessary (#1094) 2020-12-07 20:20:06 -08:00
Anton Kolesnyk
d1f162f9e3
Fix typo (#1091)
This change was extracted from #1013, in order to isolate some of the changes.
2020-12-08 03:56:21 +00:00
Anton Kolesnyk
46419412c3
Use CONFIG QUIET when looking for packages (#1092)
This change was extracted from #1013, in order to isolate some of the changes.
2020-12-08 03:55:21 +00:00
Victor Vazquez
4cc1754b63
fix warning while building master (#1083) 2020-12-04 16:08:18 -08:00
Anton Kolesnyk
ce98087f7e
Don't use WINDOWS/POSIX/NOMINMAX macros defined in cmake, move them to source code instead (#1070) 2020-12-04 11:55:59 -08:00
Victor Vazquez
3ca1104e91
use INCLUDE_DISABLED_TESTS for disabling tests (#1077)
* use INCLUDE_DISABLED_TESTS for disabling tests
2020-12-04 10:58:52 -08:00
Anton Kolesnyk
7d6d3dbf8f
Make SDK buildable in VS 2017 (#1078) 2020-12-03 19:16:18 -08:00
Victor Vazquez
34146cc7af
disable problematic test until it gets fixed (#1065)
Temporal patch for https://github.com/azure/azure-sdk-for-cpp/issues/1060.
2020-12-03 20:05:11 +00:00
Victor Vazquez
c3afb7798f
Remove CMake nlohmann module (#1042)
fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/1041

Make nlohmann a 3rd party required lib. Do not fetch it with CMake if it is not found
2020-12-03 01:52:56 +00:00
Victor Vazquez
3822ca8729
use private as suffix for private headers (#1040)
fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/1039

Adding `private` suffix for private headers.

Updating core test CMake script to include the /src folder from CORE to expose the private headers to the tests. Then tests don't need to do relative-path includes.
2020-12-03 01:16:46 +00:00
Victor Vazquez
cc75233a54
Remove curl transport adapter models and private headers form public layer (#1023) 2020-11-30 15:54:21 -08:00
Victor Vazquez
c9c12e27aa
let azure core provide json interface (#1004)
* let azure core provide json interface
2020-11-24 15:55:46 -08:00
Gabor Gyimesi
50806328d6
Fix linker error of missing pthread on Linux (#980) 2020-11-20 00:07:59 -08:00
Victor Vazquez
ac09ee6f44
Fix coverage report for template and core pipelines (#1002)
Root Cause:
Storage project generates coverage files in a different location (sdk/*/*cov_xml.xml) from where Core and Template (sdk/*/*/*cov_xml.xml). Basically one level up.

When I added the coverage for Storage, I didn’t know we were also running live tests for Core and Template pipelines. It failed on them because the xml files were not found.

In the PR, I add a new parameter to pipelines to change the default path, and also I am disabling LiveTests from Core and Template, since it only runs the same thing that we run on CI pipelines (We can enable it if we ever have some live tests)


fix: #1001
2020-11-19 20:19:57 +00:00
Victor Vazquez
b8d9d42e5a
Update Notice and add cgmanifest.json (#839)
* Update Notice and add cgmanifest.json
2020-11-18 11:44:22 -08:00
Anton Kolesnyk
bbfffc5e46
Remove DateTime::operator Duration() (#967)
No need for it, other than the unit tests, which still can get it by subtracting epoch.
(https://github.com/Azure/azure-sdk-for-cpp/pull/938/files#r522344899)
2020-11-12 20:09:00 +00:00
Anton Kolesnyk
78e34a2189
Update/correct DateTime exception documentation (#950) 2020-11-12 01:59:14 -08:00
Azure SDK Bot
04439563bf
Increment version for core releases (#951)
Increment package version after release of azure-core
2020-11-12 04:34:51 +00:00
Victor Vazquez
1df5cfac9c
changelog updated for Releasing 1.0.0-beta.3 (#941) 2020-11-11 18:30:38 -08:00
Anton Kolesnyk
56475b003a
DateTime: API review feedback (#938) 2020-11-12 01:48:00 +00:00
Victor Vazquez
eb509cebb8
maka transport adapter base class for any transport to add its own implementation (#928) 2020-11-10 15:42:09 -08:00
Victor Vazquez
4b4e8ba7ea
Adding datetime format decimal and no decimal (#936)
* revert change to xmlsoft link

* remove link

* Add DateFormat::Iso8601WithDecimals and DateFormat::Iso8601WithNoDecimals

* changelog

* add ToISO8601String with TimeFractionFormat

* update the name and add extra test
2020-11-09 17:50:05 -08:00
Victor Vazquez
c0ad020856
remove commented code (#933)
fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/930
2020-11-10 00:12:12 +00:00
Victor Vazquez
742e385350
Adding options for telemetry and transport policy (#889)
Fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/819
2020-11-07 01:01:03 +00:00
Victor Vazquez
c48bb033af
Test that a connection won't be moved to the connection pool if uploading fails (#910)
Fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/905
2020-11-06 20:36:27 +00:00
Victor Vazquez
7510c58c6a
remove space from header (#907) 2020-11-06 12:03:19 -08:00
Victor Vazquez
b1e08f713b
create error string only if there is an error and not before (#912) 2020-11-06 11:57:11 -08:00
Victor Vazquez
4b2e335d35
Add GetPort to URL (#904)
* Add GetPort to URL
2020-11-05 16:01:08 -08:00
Daniel Jurek
20349daf11
Live test framework (#608)
- Add live test framework
- Enable storage live tests
2020-11-05 14:59:05 -08:00
Victor Vazquez
7962546009
curl transport adapter options (#885) 2020-11-04 18:06:09 -08:00
Victor Vazquez
0676f788c3
remove throw from NextPolicy (#877)
Update NextPolicy to that a reference instead of a pointer to the policies vector.
This way we don't need to check if the pointer is null.

Then, handle the case were no transport adapter was found

fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/874
2020-11-04 17:03:35 +00:00
Rick Winter
e099942e25
Create a more random approach to uuid generation (#868)
* Create a more random approach to uuid generation
* Add two additional test cases for Uuid
2020-11-02 08:49:41 -08:00
Victor Vazquez
75c3f85ca6
handle server chunked response without number (#881) 2020-10-30 01:11:41 -07:00
Victor Vazquez
1fa314f19e
Refactor curl connection for mocking (#869)
* split curl headers

* curl transport refactoring for curl mocking support tests
2020-10-29 23:44:06 -07:00
Victor Vazquez
36ea25db7f
Do not reuse a connection that fail while uploading (#863) 2020-10-28 01:27:23 -07:00
Victor Vazquez
c764052e7c
Add Code coverage (#830)
* Add code coverage scripts
2020-10-27 15:35:15 -07:00
Victor Vazquez
5d0e7734c4
update exceptions to be a class instead of an struct (#833)
Fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/828
2020-10-22 02:53:46 +00:00
Victor Vazquez
f699e25ab8
Add unit test for simplified core.hpp header (#824)
* Add unit test for simplified core.hpp header
2020-10-21 17:10:34 -07:00
Victor Vazquez
9c96688b6e
rename RequestCancelException to OperationCanceledException (#825) 2020-10-21 01:31:26 -07:00
Victor Vazquez
9d47db1d4a
Add RequestFailedException (#717)
* Add RequestFailedException
2020-10-20 22:22:02 -07:00
Rick Winter
e88274f33f
Remove reference to removed header (#821) 2020-10-20 23:42:42 +00:00
Victor Vazquez
eec298d16a
Prevent zero length pipeline (#813)
fixes: https://github.com/azure/azure-sdk-for-cpp/issues/726
2020-10-20 20:01:26 +00:00
Victor Vazquez
e1dddce239
remove azure hpp (#809)
Remove Azure.hpp

Make Azure/Core/Strings.hpp public

Move ToLower and InvariantIsEqual to Strings.hpp

Also removing `AZURE_UNREFERENCED_PARAMETER`  

fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/811
2020-10-20 18:08:58 +00:00
Victor Vazquez
90387b3c5d
Add core.hpp general header (#807)
General header for all public Core headers.
This header will be used for API review tool.

https://github.com/Azure/azure-sdk-for-cpp/issues/812
2020-10-20 17:49:09 +00:00
Anton Kolesnyk
a1385518a2
DateTime: Allow dates from 1601 to 1900 (#799)
Closes #769.
2020-10-17 02:05:05 +00:00
Victor Vazquez
d79d95e5b7
Add prefix for Azure Core Tests - Fix CI test run (#801)
* Add prefix for Azure Core Tests
2020-10-16 17:39:02 -07:00
Kan Tang
8f1ab29a6d
Added breaking change documentation for behavior change in Core. (#798) 2020-10-16 15:25:13 -07:00
Victor Vazquez
fda43987e4
removing log member from curl session (#789)
Remove the m_logger member from curl session and use logger directly from static logger in application
2020-10-16 00:45:52 +00:00
Victor Vazquez
854bd834cc
Adding tests to verify that request can be canceled while waiting for socket (#782)
* adding tests for cancel
2020-10-15 10:13:29 -07:00
Victor Vazquez
d4ff61919f
Prevent transport adapter to keep pulling for data on a closed connection (#780)
* thow if connection is closed when reading response

* improve comment

* format
2020-10-14 19:18:43 -07:00
Victor Vazquez
724e6ca512
Make waiting for socket cancelable (#719)
* Make waiting for socket cancelable
2020-10-14 16:55:04 -07:00
Anton Kolesnyk
a38de03e7b
Extract part of credentials to Identity module (#748) 2020-10-13 07:33:18 -07:00
Ahson Khan
c44d9b4f3b
Make sure CI pipelines legs get triggered when cmake modules are modified. (#755)
Certain PRs, like this - https://github.com/Azure/azure-sdk-for-cpp/pull/753 weren't triggering any CI pipelines to run, when they should.

Following suggestion from Wes: https://github.com/Azure/azure-sdk-for-cpp/pull/728#issuecomment-707251860

@Jinming-Hu, @katmsft - I think we should make a similar change to the storage ci.yml file.
2020-10-13 02:57:35 +00:00
Azure SDK Bot
c4f09c6894
Increment package version after release of azure-core (#734) 2020-10-12 11:15:38 -07:00
Victor Vazquez
9eb132249b
Url use url encoded queries (#730)
* keep url-encoded queries
2020-10-12 09:39:46 -07:00
Anton Kolesnyk
6ae0c0daac
Add DateTime: supporting standardized string date and time representations. (#718) 2020-10-09 19:13:48 -07:00
Victor Vazquez
cd2a8a3812
cmake updates for building transport adapters (#706)
Adding CMake module to enable/disable transport adapters

TRANSPORT ADAPTER BUILD  
Default: If no option is explicitly added, curl will be used for POSIX and WIN HTTP for WIndows 
 Windows: Both CURL and WIN_HTTP can be build to be used.                                        
POSIX: Only CURL is acceptable. If WIN_HTTP is set, generate step will fail for user            

Defines `BUILD_WIN_HTTP_TRANSPORT_ADAPTER` and `BUILD_CURL_HTTP_TRANSPORT_ADAPTER` for source code
 
Fixes #350
2020-10-10 00:08:57 +00:00
Victor Vazquez
2cc4ecdea8
Validate invalid HTTP headers (#703)
Creating new function to insert headers by validating characters on it are accepted chars for header name
fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/191
2020-10-09 23:35:58 +00:00
Victor Vazquez
dc9d3b0595
update CMake min version to 3.15 (#710)
Storage is using CMake version 3.15 and it is currently required for generating without errors
2020-10-09 23:26:01 +00:00
Rick Winter
82079de190
Added release notes for C++ (#714) 2020-10-09 17:06:52 +00:00
Victor Vazquez
400ca5ae29
Adding retry policy to unit tests (#707) 2020-10-07 14:10:11 -07:00
Victor Vazquez
190a0e80b1
fixing typos from #686 (#704)
Follow up from #686 to address PR comments about typos
2020-10-06 23:10:42 +00:00
Victor Vazquez
7c32578798
Perf fix windows (#686)
* sample for repro

* adding repro app

* reset win socket for perf windows
2020-09-29 11:37:31 -07:00
Casey Carter
21d4e4c5b4
Response<T> stores Nullable<T> (#654)
* Response<T> stores Nullable<T>

Drive-by: Replace `Nullable(const T&)` with `Nullable(T)` to avoid extra copy when initialized with an rvalue.

* Update sdk/core/azure-core/inc/azure/core/response.hpp

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2020-09-29 10:01:00 -07:00
Rick Winter
8b22d3f478
Add Notice and cgmanifest for Core (#687)
* Add Notice and cgmanifest for Core
2020-09-25 10:57:06 -07:00
Rick Winter
d867d7e8ad
Standardize header includes (#685)
* Standardize header includes

Update sources to match guidelines

- `#include ""` when file is relative to the project
- `#include <>` when file is external to the project

Updated tests to mirror how a customer will include the header

- `#include <>`
2020-09-25 10:56:06 -07:00
Victor Vazquez
fdcb150621
Replace select for epoll (#676)
* adding poll instead of select

* Windows support for polling

* fix for define check
2020-09-22 16:24:26 -07:00
Sima Zhu
8fed524b96
Replaced relative link with absolute links and remove locale (#668) 2020-09-17 22:28:36 -07:00
Victor Vazquez
9c9b2c242a
throw transport exception when getting new connection fails (#640)
* throw transport exception when getting new connection fails

* use function instead of macro

* Update function to PascalCase
2020-09-14 13:44:04 -07:00
Azure SDK Bot
9fa18c4174
Increment package version after release of azure-core (#630) 2020-09-09 21:41:10 -07:00
Rick Winter
6b1043fc3f
Update the repo readmes and changelog (#627)
* Update the repo readmes and changelog

* Lowercase beta

* Fix a couple instances of `preview`
2020-09-09 16:55:57 -07:00
Victor Vazquez
db4f318ffa
throw transport error when write error (#623) 2020-09-09 09:26:34 -07:00
Anton Kolesnyk
949d143284
Add doxygen comments (#611) 2020-09-08 11:00:06 -07:00
Ahson Khan
40121dd78a
Fix typo in comment. (#610) 2020-09-04 17:55:15 -07:00
Victor Vazquez
864582b10e
fix the url init in credentials (#599)
* fix the url init in credentials

* do not encode tenantId
2020-09-04 16:13:17 -07:00
Victor Vazquez
0dce4de5a1
throw runtime error if response is shorter than expected or gets closed (#577)
* throw runtime error if response is shorter than expected or gets closed

* trhow Azure::Core::Http::TransportException
2020-09-04 14:51:12 -07:00