Commit Graph

36 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Anton Kolesnyk
bc564dbddd
Namespaces renamed: Details => _detail, Internal => _internal (#1823) 2021-03-09 18:05:47 -08:00
Victor Vazquez
a70be6a49c
Moving ETag to ::Azure (#1801)
etag rename
2021-03-08 16:05:18 -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
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
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
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
Ahson Khan
5359e2793a
Remove Storage::Md5 and replace it with the one from Azure::Core. (#1618)
* 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.

* Remove Storage::Md5 and replace it with the one from Azure::Core.

* Fix clang formatting.

* Add required cstdint include directive.

* Update storage based on recent changes to Md5 hash APIs.
2021-02-08 20:04:25 -08:00
JinmingHu
f49dc280df
use Azure::Core::ETag for ETag type (#1489)
* etag

* ETag for DataLake/File service

Co-authored-by: Tank Tang <kat@microsoft.com>
2021-01-28 19:36:48 +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
Anton Kolesnyk
99a6ec5395
DateTime: better integration with chrono, support year 0001+ (#1320) 2021-01-11 17:40:16 -08:00
JinmingHu
abc2ec2943
remove Base64EncodeText (#1307) 2021-01-11 14:34:29 +08: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
JinmingHu
b8e5c95d21
Integrate Core::DateTime into storage (#1246)
* blob package can build

* test can build

* changelog

* datatime for datalake sas

* fix test error

* user delegation key doesn't support time fractional part

* add comments

* Added DateTime for DataLake and many other refinements.

* Resolved review comments.

* Added changelog

Co-authored-by: Tank Tang <kat@microsoft.com>
2020-12-28 16:00:18 +08:00
JinmingHu
527a2babca
use #include <> instead of #include "" for header files not in current package (#1243)
* use #include <>
2020-12-23 22:03:17 +08:00
JinmingHu
b59b65bb87
Add ContentHash struct, replace TransactionalContentMD5 and TransactionContentCrc64 with TransactionalContentHash (#1212)
* use std::vector<uint8_t> for binary input/output

* struct ContentHash

* ContentHash in Blob Service

* Update sdk/storage/azure-storage-common/src/crypt.cpp

* Update sdk/storage/azure-storage-common/src/crypt.cpp

* add doc

* changelog

* EncryptionKeySha256 and ContentMd5 are changed to binary

* changelog

* fix build error

* fix crash issue

* FIX BUILD ERROR on linux

* Fix bug on Linux

* fix bug
2020-12-18 16:09:35 +08:00
JinmingHu
d9c05e3d06
replace #ifdef/#ifndef with #if defined() in storage (#1203) 2020-12-17 18:51:01 +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
JinmingHu
46ce66d150
case-insensitive metadata (#1050)
* case-insensitive metadata

* Added support for case insensitive metadata for file/datalake service

Co-authored-by: Tank Tang <kat@microsoft.com>
2020-12-03 09:49:33 +08:00
JinmingHu
fadb43e664
remove c_ (#1000)
* remove c_

* remove more c_

* remove more
2020-11-20 12:24:23 +08:00
JinmingHu
9fae36a4f7
rename uri->url (#997) 2020-11-20 10:55:10 +08:00
JinmingHu
801e072e42
Blob test enhancements (#987) 2020-11-17 14:36:43 +08:00
Gabor Gyimesi
a716e094fe
Fix default EndpointSuffix when parsing connection string (#981) 2020-11-16 09:58:01 +08:00
JinmingHu
e09a891383
move storage headers (#837)
* move blob.hpp

* move headers

* add changelog
2020-10-23 11:39:29 +08:00
JinmingHu
08e364e1cd
replace std::tolower with Azure::Core::ToLower (#834) 2020-10-23 09:43:30 +08:00
Anton Kolesnyk
a38de03e7b
Extract part of credentials to Identity module (#748) 2020-10-13 07:33:18 -07:00
Kan Tang
966b7892b2
Avoid test case throw meaningless exception when sys env is not set. (#723)
* Avoid test case throw meaningless exception when sys env is not set.

* Update sdk/storage/azure-storage-common/test/test_base.cpp

Co-authored-by: JinmingHu <jinmhu@microsoft.com>

* Update sdk/storage/azure-storage-common/test/test_base.cpp

Co-authored-by: JinmingHu <jinmhu@microsoft.com>

* Update sdk/storage/azure-storage-common/test/test_base.cpp

Co-authored-by: JinmingHu <jinmhu@microsoft.com>

* Apply clang format

Co-authored-by: JinmingHu <jinmhu@microsoft.com>
2020-10-12 14:49:30 +08:00
JinmingHu
e238e28b0d
[Storage Common] Storage Retry Policy (#588)
* storage retry policy

* revert changes to azure core

* refactor storage retry policy

* fix typo

* change the logic a little bit

* adapt storage retry policy in blob batch client

* fix build error

* Add StorageRetryWithSecondaryOptions
2020-09-30 13:14:28 +08:00
JinmingHu
3a4e1f3b49
Restructure storage directory (#536)
* Restructure azure storage directory

* Add tests and sample

* reformat with clang-format

* Reorder files in CMake

* load versions from version.txt

* fix crash

* Update README.md

* Use relative links

* fix CI

* Fix CI

* Try to fix CI

* Move option to the top of the file
2020-08-27 16:16:08 +08:00