Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper encoding and decoding of source URLs - Fixes special characters in source URL issue #13275

Merged
merged 15 commits into from Aug 31, 2020

Conversation

tasherif-msft
Copy link
Contributor

This PR is intended to allow the SDK to accept source URLs with special characters. This is done by first decoding the URL (in case the URL passed was already encoded by calling blob_client.url and passed), this prevents double encoding, and then encoding it once again. In the case where we directly pass a URL, the decoding will not have any effect and the encoding will make it request friendly.

Multiple unit tests were added in order to ensure start_copy_from_url(), stage_block_from_url(), upload_pages_from_url() and append_block_from_url() behaved as expected.

@xiafu-msft
Copy link
Contributor

Looks great to me!
Can we also add test for async?

@tasherif-msft
Copy link
Contributor Author

Looks great to me!
Can we also add test for async?

I added the async tests :) Let me know if anything else

@tasherif-msft tasherif-msft merged commit 05868af into master Aug 31, 2020
@tasherif-msft tasherif-msft deleted the source-url-special branch August 31, 2020 19:08
iscai-msft added a commit to iscai-msft/azure-sdk-for-python that referenced this pull request Sep 1, 2020
…into add_redacted_text

* 'master' of https://github.com/Azure/azure-sdk-for-python:
  [text analytics] add bing_id property to LinkedEntity class (Azure#13446)
  fix typing for paging methods (Azure#13410)
  [text analytics] add domain_filter param (Azure#13451)
  fix issue Azure#11658 for is_valid_resource_id (Azure#11709)
  added create_table_if_not_exists method to table service client (Azure#13385)
  [ServiceBus] Test and failure improvements (Azure#13345)
  Proper encoding and decoding of source URLs - Fixes special characters in source URL issue (Azure#13275)
  Switch retry (Azure#13264)
  [ServiceBus] ServiceBusClient close spawned children (Azure#13077)
  fixing version issue by not overwriting the version with the semantic… (Azure#13411)
iscai-msft added a commit to iscai-msft/azure-sdk-for-python that referenced this pull request Sep 1, 2020
…into expose_parse_vault_id

* 'master' of https://github.com/Azure/azure-sdk-for-python: (37 commits)
  [text analytics] add versionadded sphinx documentation (Azure#13450)
  [text analytics] add bing_id property to LinkedEntity class (Azure#13446)
  fix typing for paging methods (Azure#13410)
  [text analytics] add domain_filter param (Azure#13451)
  fix issue Azure#11658 for is_valid_resource_id (Azure#11709)
  added create_table_if_not_exists method to table service client (Azure#13385)
  [ServiceBus] Test and failure improvements (Azure#13345)
  Proper encoding and decoding of source URLs - Fixes special characters in source URL issue (Azure#13275)
  Switch retry (Azure#13264)
  [ServiceBus] ServiceBusClient close spawned children (Azure#13077)
  fixing version issue by not overwriting the version with the semantic… (Azure#13411)
  clean up reference and tests (Azure#13412)
  Consistent returns (Azure#13245)
  [text analytics] return None for offset and length for v3.0 (Azure#13382)
  edit all authentication files and add a test (Azure#13355)
  Add managed_identity_client_id argument to DefaultAzureCredential (Azure#13218)
  [text analytics] add string-index-type support (Azure#13378)
  [text analytics] fix error response if pii entities is called from v3.0 client (Azure#13383)
  Send spec (Azure#13143)
  Anomaly Detector 3.0.0b2 release (Azure#13351)
  ...
iscai-msft added a commit to iscai-msft/azure-sdk-for-python that referenced this pull request Sep 2, 2020
…into link_om_sample

* 'master' of https://github.com/Azure/azure-sdk-for-python: (23 commits)
  Int32 serialization (Azure#13452)
  add output to opinion mining sample (Azure#13494)
  Add Document w/ Eng Sys Checks (Azure#13492)
  update version (Azure#13495)
  Remove resources post test (Azure#13379)
  bing_id -> bing_entity_search_api_id (Azure#13491)
  [EventGrid] Read me + improve docstrings (Azure#13484)
  Build AuthenticationRecords from ADFS identity tokens (Azure#13341)
  Support Subject Name/Issuer authentication (Azure#13350)
  Add KeyVaultAccessControlClient for data plane RBAC (Azure#13372)
  [text analytics] Add redacted_text (Azure#13449)
  add python sdk sample (Azure#13338)
  [text analytics] add versionadded sphinx documentation (Azure#13450)
  [text analytics] add bing_id property to LinkedEntity class (Azure#13446)
  fix typing for paging methods (Azure#13410)
  [text analytics] add domain_filter param (Azure#13451)
  fix issue Azure#11658 for is_valid_resource_id (Azure#11709)
  added create_table_if_not_exists method to table service client (Azure#13385)
  [ServiceBus] Test and failure improvements (Azure#13345)
  Proper encoding and decoding of source URLs - Fixes special characters in source URL issue (Azure#13275)
  ...
rakshith91 pushed a commit to rakshith91/azure-sdk-for-python that referenced this pull request Sep 4, 2020
…s in source URL issue (Azure#13275)

* Added source url encoder in order to accept special chars

* Added source url encoder in order to accept special chars for async

* created a private method for encoding source url

* removed unused import

* removed unused import

* fixed method to decode then encode, fixing the case where it was already encoded. Added unit tests

* added more tests

* yaml for unit test

* removed method

* removed space

* added encoding type

* made changes to storage

* wheel file

* added async tests

* removed wheel file
openapi-sdkautomation bot pushed a commit to AzureSDKAutomation/azure-sdk-for-python that referenced this pull request Mar 9, 2021
New Microsoft.Insights api version 2021-02-01-preview (Azure#13275)

* Duplicated existing 2020-05-01-preview folder as the base for 2021-02-01-preview

* Applied changes for 2021-02-01-preview

* Added package tag in readme.md

* Added operations to example payload

* Fixed validation

* Fixed prettier for listOperations

* Removed operation endpoint

* Appliod prettier fixes

Co-authored-by: Avi Jerafi <avjerafi@microsoft.com>
openapi-sdkautomation bot pushed a commit to AzureSDKAutomation/azure-sdk-for-python that referenced this pull request Mar 9, 2021
New Microsoft.Insights api version 2021-02-01-preview (Azure#13275)

* Duplicated existing 2020-05-01-preview folder as the base for 2021-02-01-preview

* Applied changes for 2021-02-01-preview

* Added package tag in readme.md

* Added operations to example payload

* Fixed validation

* Fixed prettier for listOperations

* Removed operation endpoint

* Appliod prettier fixes

Co-authored-by: Avi Jerafi <avjerafi@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants