Commit Graph

454 Commits

Author SHA1 Message Date
JinmingHu
a786595565
move HttpGetter and HttpGetterInfo to internal namespace (#2060)
* move HttpGetter and HttpGetterInfo to internal namespace

* move to _internal
2021-04-07 04:59:31 +00:00
JinmingHu
aa0a388e98
small fix: const Type& to be consistent (#2061) 2021-04-07 04:22:53 +00:00
Ahson Khan
4db9a563e7
Removed Azure::Core::Context::HasKey() and add TryGetValue() instead (#2037)
~@vhvb1989 This change is blocked until after the retry policy implementation has been updated. Let me know once you have that PR available.~

Fixes https://github.com/Azure/azure-sdk-for-cpp/issues/2036
2021-04-07 03:23:34 +00:00
Ahson Khan
bb87bd1f19
Removed Url::AppendQueryParameters() since it is no longer used within the SDK. (#2054)
* Remove  since it is no longer used.

* Update usage in test.

* Update usage of append qp in tests.

* Address PR feedback.
2021-04-07 03:02:22 +00:00
Ahson Khan
38d3535a1e
Changed the Azure::Core::Http::HttpMethod regular enum into an extensible enum class. (#2048)
* Changed the `Azure::Core::Http::HttpMethod` regular enum into an extensible enum class.

* Update CL to mention removal of HttpMethodToString.

* Delete the default http method ctor.
2021-04-06 03:53:05 +00:00
JinmingHu
a930b7a4f1
remove all usage of AppendQueryParameters (#2050) 2021-04-06 03:34:02 +00:00
JinmingHu
fcc6c2024f
server timeout support (#2010) 2021-04-06 03:19:04 +00:00
Victor Vazquez
cb39ec302c
Update RetryPolicy logic to use only one context (#2047)
* progress

* missing

* fix comp errors

* remove comments

* Bad merge with my recent changes to master

* Format

Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2021-04-05 19:50:17 -07:00
Ahson Khan
d638d1ff3d
Move package version to details, and rename VersionString() to ToString(). (#2042) 2021-04-06 00:50:25 +00:00
Ahson Khan
63b2d21bc6
Renamed Azure::Nullable<T>::GetValue() to Value(). (#2034)
* Renamed `Azure::Nullable<T>::GetValue()` to `Value()`.

* Update clang formatting.
2021-04-05 15:42:14 -07:00
Anton Kolesnyk
c5ddbbc430
Changes around context expiration naming and types (#2033)
This would unblock #2010.

Closes #2032.
Closes #1880.

I know this comes out of the blue, but it seems to me the right change to do. This is a proposal, let me know what you think.

First, I started with the fact that we need to make `CancelWhen()` public.
Then, I realized that I don't like the `CancelWhen()` naming. `CancelAt()` is better?
But `CancelAt()` sounds like an order to do something, not as getter.
So, it should be named `Get...`. `GetCancelWhen()`? `GetCancelAt()`? Sounds strage.

`GetDeadline()` - not bad, bit it is not that clear, what the deadline is.
And I looked at the `WithDeadline()` method. And in comment, the first line is `@brief Create a context with expiration.`.
"Expiration" sounds better explanation for the essense of the "deadline".

So, I went with `GetExpiration()`. I think "Expiration" is also a better name, because should we want to add the method called "bool IsExpired()", it comes naturally using the existing terminology, sounds better than "`IsPastDeadline()`".

Next thing - if we have "`GetExpiration()`", it is strange to have a method called `Get()`. So, we have `WithExpiration()` and `WithValue()`. So, it sounds like the getter should be called `GetValue()`. I did that rename as well.

Then, I looked at "`With...`" method naming. It is a factory method. If for getters we have `Get`, then for factory methods we should have `Create`. So, I renamed `WithExpiration()` and `WithValue()` to `CreateWithExpiration()` and `CreateWithValue()`.

Then I looked at `Context::time_point` typedef. First, in general, if we can avoid public typedefs, it is better, because we don't need to document them and worry if we broke client code when we change them.
Second, it is strange that we use `Azure::DateTime` everywhere, but not in context.

So, I replaced it with `Azure::DateTime`. It is good because it allows us to drop to/from epoch conversions (#1880), and really all that extra dance we do to cast to representation and back to datetime is the ways to stay within legal type casting limits of compiler type declaration, while in reality there isn't much that is happening in the code: `DateTime` is essentially an `int64`, and with all these conversions to epoch time, then to representation and back, compiler does not generate real code, it still operates with that only `int64`.

Why we cast to `DateTime::rep` and back at all? Context stores it as `atomic`, and I am not questioning that. You can't get `std::atomic<DateTime>` today explicitly, so we "extract" representation (`int64`) and store it as `std::atomic<DateTime::rep>`, which is the same thing as `std::atomic_int64`.

-- Update: --
1. "Expiration" => "Deadline" (Jeffrey's request)
2. Added `Context::HasExpiration()` (response to Jinming) // plus, we do have `HasValue()` so why not have `HasDeadline()`.
3. `WithDeadline()`, `WithValue` => Two overloads of `CreateChildContext()` (my own initiative).

-- Update 2: --
`CreateChildContext()` => `WithDeadline()`, `WithValue`

-- Update 3: --
Removed `HasDeadline()`
2021-04-05 21:24:40 +00:00
Victor Vazquez
dfdaf25223
[Core] Refactor RequestFailedException with Http information (#2026)
* KeyVault Exception
2021-04-05 12:11:31 -07:00
Anton Kolesnyk
a7fdea42e6
Introduce Context::Key with pointer comparison speeds (#1988) 2021-04-05 11:26:50 -07:00
Ahson Khan
8095d85e67
Simplify the public surface design of Response<T> for usability. (#1974)
* 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
2021-04-01 00:50:04 +00:00
Anton Kolesnyk
ddd7a093f4
Move policies to internal (#1985) 2021-03-31 12:56:33 -07:00
JinmingHu
0cd405d064
changelog (#2008) 2021-03-31 14:49:42 +08:00
Anton Kolesnyk
0665efe0fe
unique_ptr Get() => Extract() || Send() || ExtractOrCreate() (#1984) 2021-03-30 10:17:24 -07:00
JinmingHu
b9c5c978ee
refine impl of rename file/directory (#1991)
* fix bug: / was left out in rename source

* refine impl of rename file/directory
2021-03-30 11:58:33 +08:00
JinmingHu
88499ab1b6
fix user-agent (#1990) 2021-03-30 01:35:50 +00:00
Azure SDK Bot
d28d52b058
Increment version for storage releases (#1969)
* 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

* Revert the ordering change for beta.6.

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>
2021-03-24 02:06:06 +00:00
Ahson Khan
82dd53f3b1
Fix the date in the changelog for storage beta.6 packages using the correct year to avoid auto version bump PR re-ordering it (#1970)
* Fix the date in the changelog for storage beta.6 packages using the correct year to avoid auto version bump PR re-ordering it

* Fix the year for common beta.6

* Fix the CL year for shares beta.6

* Fix the CL year for datalake beta.6
2021-03-24 01:48:00 +00:00
JinmingHu
417dde4144
mint storage beta 9 (#1957) 2021-03-23 10:15:45 +08:00
Kan Tang
0d422b95a0
Remove Type suffix from some enums. (#1951)
* Remove Type suffix from some enums.

* Remove more fields.

* Resolve build issue on Linux.
2021-03-22 23:20:04 +00:00
JinmingHu
c3a9d67d01
rename BlockListTypeOption -> BlockListType (#1945) 2021-03-19 09:54:57 +00:00
Kan Tang
ea2186bee3
Hide unused models. (#1944)
* Hide unused models.

* Resolve comments.
2021-03-19 08:17:05 +00:00
Kan Tang
8fa71e0f31
Remove ShareStats. (#1946) 2021-03-19 07:48:01 +00:00
Kan Tang
de28afadc6
Removed unwanted Share prefix and moved unused models to details. (#1940)
* Removed unwanted Share prefix and moved unused models to details.

* Resolve build issues.

* Resolve comments.

* Access Tier change.

* FileServiceProperties to ShareServiceProperties
2021-03-19 06:59:15 +00:00
JinmingHu
37e5b2ad79
rename Tier -> AccessTier (#1943) 2021-03-19 06:23:35 +00:00
JinmingHu
a66592c99e
Rename some return types and options (#1941)
* rename some return types and options

* fix changelog

* BodyStream reference in blob protocol layer

* PathClient::GetAccessControlList returns PathAccessControlList

* more changelog

* changelog

* move UndeleteBlobContainerResult to _detail
2021-03-19 13:32:26 +08:00
JinmingHu
b88eb6d785
remove public fields from operation<T> (#1939) 2021-03-19 04:10:50 +00:00
JinmingHu
1b316d3b44
Changed BodyStream parameter in upload functions from pointer to refe… (#1938)
* Changed BodyStream parameter in upload functions from pointer to reference

* clang-format
2021-03-19 03:19:37 +00:00
Kan Tang
e360553546
Remove request IDs (#1930)
Co-authored-by: JinmingHu <jinmhu@microsoft.com>
2021-03-18 20:32:40 +08:00
JinmingHu
47c426990b
Removed RequestId from return types (#1931)
* remove request IDs

* changelog

* remove more
2021-03-18 19:51:35 +08:00
Ahson Khan
f0b837d8c6
Update storage datalake CL to group changes to return types together (#1933)
* Update storage datalake CL to group changes to return types together

* Remove DataLake from the return types in CL

* Update CL for file shares to be accurate

* Fix file shares GetProperties breaking changes
2021-03-18 02:12:49 -07:00
Ahson Khan
72c082d98c
Update storage CL to group changes to return types together (#1932) 2021-03-18 06:55:31 +00:00
JinmingHu
9152e3dc33
remove DataLake/Blob/Share from options and result types (#1927) 2021-03-18 05:58:39 +00:00
JinmingHu
5210e8eb0d
revert changes to GetAccessPolicy (#1923) 2021-03-17 03:09:37 +00:00
JinmingHu
5df3596c34
Changed return type of BlobClinet::GetTags to std::map<std::string, std::string> (#1922) 2021-03-17 10:37:12 +08:00
JinmingHu
35b39f7cb1
GetRangeListDiff (#1915) 2021-03-17 02:34:18 +00:00
JinmingHu
64d9356ff6
remove all use of ValuePolicy (#1914) 2021-03-16 09:28:25 -07:00
Kan Tang
f99b214be9
Datalakereturntype (#1916)
* DataLake 'Get' operation return type refine.

* Added minor changes for Get return types in DataLake
2021-03-16 08:53:38 +00:00
Kan Tang
2c369a2c3b
Rename return types of some Get operations in file service. (#1820)
* Renamed file service's get APIs.

* Resolved comments.

* Resolve comments
2021-03-16 08:16:59 +00:00
JinmingHu
7cade913bc
remove struct SecondaryHostReplicaStatus, to simplify context use (#1913)
# 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-03-16 07:05:08 +00:00
JinmingHu
9c7d4c61e4
move stuff from _details to _internal for storage-common package (#1912)
closes https://github.com/Azure/azure-sdk-for-cpp/issues/1869


# 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-03-16 06:55:13 +00:00
JinmingHu
86c908eeda
fix flaky test failure (#1910) 2021-03-16 06:11:25 +00:00
JinmingHu
100eba49e2
rename return types of some Get operations (#1819) 2021-03-16 12:30:30 +08:00
Victor Vazquez
42a67b1349
Moving GetRawResponseInternal out of public from Operation derived classes (#1890) 2021-03-12 12:31:01 -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