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

Always use raw response data. #87

Merged
merged 6 commits into from
Aug 27, 2019

Conversation

tseaver
Copy link
Contributor

@tseaver tseaver commented Aug 14, 2019

Don't expect contra-spec Content-Length header for chunked downloads.

Re-enable Python 2.7 unit tests.

Closes #37
Closes #49
Closes #50
Closes #56
Closes #76

@tseaver tseaver requested review from crwilcox and busunkim96 August 14, 2019 23:19
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Aug 14, 2019
@tseaver
Copy link
Contributor Author

tseaver commented Aug 27, 2019

@busunkim96 Can you figure out what the issue is here with Kokoro? It is blocking this PR, along with #86, #94.

@busunkim96 busunkim96 added kokoro:force-run Add this label to force Kokoro to re-run the tests. and removed kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Aug 27, 2019
@crwilcox
Copy link
Collaborator

@tseaver do you consider this to be major or minor?

@tseaver
Copy link
Contributor Author

tseaver commented Aug 27, 2019

@crwilcox

do you consider this to be major or minor?

I think we could go to a 0.4.0 for this: the highly-hypothetical user who actually wanted gzipped files expanded in-flight would be b0rken by this change.

@tseaver tseaver merged commit 2b9ffc8 into master Aug 27, 2019
@tseaver tseaver deleted the 37-49-50-56-76-always-use-raw-response branch August 27, 2019 21:42
@Plantain
Copy link

Plantain commented Sep 8, 2019

This certainly broke my usecase, which is storing data in GCS gzipped (why wouldn't you?) and downloading it via python with download_as_string().
It took me a full day to debug that google-resumable-media 0.4.0 was responsible for this - basically no one consumes google-resumable-media directly so publishing it in your own release notes is not useful for users who depend on google-cloud-storage.
Reading the linked issues I'm not sure what real world issue was being fixed here to make it worthwhile to break every user of download_as_string (https://googleapis.github.io/google-cloud-python/latest/_modules/google/cloud/storage/blob.html#Blob.download_as_string) and gzip in an obtuse manner.

bors bot added a commit to mozilla/normandy that referenced this pull request Sep 11, 2019
1977: Scheduled weekly dependency update for week 36 r=rehandalal a=pyup-bot






### Update [botocore](https://pypi.org/project/botocore) from **1.12.220** to **1.12.224**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.12.224
   ```
   ========

* api-change:``kinesisanalytics``: Update kinesisanalytics client to latest version
   ```
   
  
  
   ### 1.12.223
   ```
   ========

* api-change:``config``: Update config client to latest version
   ```
   
  
  
   ### 1.12.222
   ```
   ========

* api-change:``stepfunctions``: Update stepfunctions client to latest version
* api-change:``transcribe``: Update transcribe client to latest version
* api-change:``eks``: Update eks client to latest version
   ```
   
  
  
   ### 1.12.221
   ```
   ========

* api-change:``ecs``: Update ecs client to latest version
* api-change:``resourcegroupstaggingapi``: Update resourcegroupstaggingapi client to latest version
* api-change:``gamelift``: Update gamelift client to latest version
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/botocore
  - Changelog: https://pyup.io/changelogs/botocore/
  - Repo: https://github.com/boto/botocore
</details>





### Update [google-resumable-media](https://pypi.org/project/google-resumable-media) from **0.3.3** to **0.4.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 0.4.0
   ```
   09-05-2019 11:59 PDT

 Backward-Compatibility Note

The change to use raw response data (PR
[87](googleapis/google-resumable-media-python#87))
might break the hypothetical usecase of downloading a blob marked with
`Content-Encoding: gzip` and expecting to get the expanded data.

 Implementation Changes
- Require 200 response for initial resumable upload request. ([95](googleapis/google-resumable-media-python#95))
- Use `response` as variable for object returned from `http_request`. ([98](googleapis/google-resumable-media-python#98))
- Further DRY request dependency pins. ([96](googleapis/google-resumable-media-python#96))
- Finish download on seeing 416 response with zero byte range. ([86](googleapis/google-resumable-media-python#86))
- Always use raw response data. ([87](googleapis/google-resumable-media-python#87))

 Dependencies
- Drop runtime dependency check on `requests`. ([97](googleapis/google-resumable-media-python#97))

 Documentation
- Update docs after release ([93](googleapis/google-resumable-media-python#93))
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/google-resumable-media
  - Changelog: https://pyup.io/changelogs/google-resumable-media/
  - Repo: https://github.com/GoogleCloudPlatform/google-resumable-media-python
</details>





### Update [snowballstemmer](https://pypi.org/project/snowballstemmer) from **1.9.0** to **1.9.1**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/snowballstemmer
  - Repo: https://github.com/snowballstem/snowball
</details>





### Update [boto3](https://pypi.org/project/boto3) from **1.9.220** to **1.9.224**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.9.224
   ```
   =======

* api-change:``kinesisanalytics``: [``botocore``] Update kinesisanalytics client to latest version
   ```
   
  
  
   ### 1.9.223
   ```
   =======

* api-change:``config``: [``botocore``] Update config client to latest version
   ```
   
  
  
   ### 1.9.222
   ```
   =======

* api-change:``stepfunctions``: [``botocore``] Update stepfunctions client to latest version
* api-change:``transcribe``: [``botocore``] Update transcribe client to latest version
* api-change:``eks``: [``botocore``] Update eks client to latest version
   ```
   
  
  
   ### 1.9.221
   ```
   =======

* api-change:``ecs``: [``botocore``] Update ecs client to latest version
* api-change:``resourcegroupstaggingapi``: [``botocore``] Update resourcegroupstaggingapi client to latest version
* api-change:``gamelift``: [``botocore``] Update gamelift client to latest version
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/boto3
  - Changelog: https://pyup.io/changelogs/boto3/
  - Repo: https://github.com/boto/boto3
</details>





### Update [djangorestframework](https://pypi.org/project/djangorestframework) from **3.10.2** to **3.10.3**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/djangorestframework
  - Changelog: https://pyup.io/changelogs/djangorestframework/
  - Homepage: https://www.django-rest-framework.org/
</details>





### Update [Werkzeug](https://pypi.org/project/Werkzeug) from **0.15.5** to **0.15.6**.


<details>
  <summary>Changelog</summary>
  
  
   ### 0.15.6
   ```
   --------------

Released 2019-09-04

-   Work around a bug in pip that caused the reloader to fail on
    Windows when the script was an entry point. This fixes the issue
    with Flask&#39;s `flask run` command failing with &quot;No module named
    Scripts\flask&quot;. :issue:`1614`
-   ``ProxyFix`` trusts the ``X-Forwarded-Proto`` header by default.
    :issue:`1630`
-   The deprecated ``num_proxies`` argument to ``ProxyFix`` sets
    ``x_for``, ``x_proto``, and ``x_host`` to match 0.14 behavior. This
    is intended to make intermediate upgrades less disruptive, but the
    argument will still be removed in 1.0. :issue:`1630`
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/werkzeug
  - Changelog: https://pyup.io/changelogs/werkzeug/
  - Homepage: https://palletsprojects.com/p/werkzeug/
</details>







Co-authored-by: pyup-bot <[email protected]>
@crwilcox
Copy link
Collaborator

@Plantain I am currently working to revert this since it has implications for existing users of storage. We will bring this back but in a way that doesn't break your use. Sorry for any time you spent figuring this out.

crwilcox added a commit that referenced this pull request Sep 16, 2019
crwilcox added a commit that referenced this pull request Sep 17, 2019
* Revert "Always use raw response data. (#87)"

This reverts commit 2b9ffc8.

* missed merge

* keep test fix

* blacken and test fixes
bors bot added a commit to mozilla/normandy that referenced this pull request Sep 24, 2019
1986: Update dependency webpack-cli to v3.3.9 r=rehandalal a=renovate[bot]

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [webpack-cli](https://togithub.com/webpack/webpack-cli) | devDependencies | patch | [`3.3.8` -> `3.3.9`](https://renovatebot.com/diffs/npm/webpack-cli/3.3.8/3.3.9) |


1987: Update dependency babel-plugin-import to v1.12.2 r=rehandalal a=renovate[bot]

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [babel-plugin-import](https://togithub.com/ant-design/babel-plugin-import) | devDependencies | patch | [`1.12.1` -> `1.12.2`](https://renovatebot.com/diffs/npm/babel-plugin-import/1.12.1/1.12.2) |


1988: Scheduled weekly dependency update for week 38 r=rehandalal a=pyup-bot






### Update [botocore](https://pypi.org/project/botocore) from **1.12.228** to **1.12.233**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.12.233
   ```
   ========

* api-change:``workspaces``: Update workspaces client to latest version
* api-change:``ec2``: Update ec2 client to latest version
* api-change:``greengrass``: Update greengrass client to latest version
* api-change:``rds``: Update rds client to latest version
   ```
   
  
  
   ### 1.12.232
   ```
   ========

* api-change:``mediaconnect``: Update mediaconnect client to latest version
* api-change:``glue``: Update glue client to latest version
* api-change:``ecs``: Update ecs client to latest version
   ```
   
  
  
   ### 1.12.231
   ```
   ========

* api-change:``ram``: Update ram client to latest version
* api-change:``waf-regional``: Update waf-regional client to latest version
* api-change:``apigateway``: Update apigateway client to latest version
   ```
   
  
  
   ### 1.12.230
   ```
   ========

* api-change:``iam``: Update iam client to latest version
* api-change:``athena``: Update athena client to latest version
* api-change:``personalize``: Update personalize client to latest version
   ```
   
  
  
   ### 1.12.229
   ```
   ========

* api-change:``eks``: Update eks client to latest version
* api-change:``mediaconvert``: Update mediaconvert client to latest version
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/botocore
  - Changelog: https://pyup.io/changelogs/botocore/
  - Repo: https://github.com/boto/botocore
</details>





### Update [Faker](https://pypi.org/project/Faker) from **2.0.1** to **2.0.2**.


<details>
  <summary>Changelog</summary>
  
  
   ### 2.0.2
   ```
   ---------------------------------------------------------------------------------------

* Fix typos, misspellings. Add locations, names, dates in ``hi_IN`` providers. Thanks kathawala.
* Bump required version ``text-unidecode`` to 1.3. Thanks moggers87.
* Bug fix for ``pyfloat`` going over ``max_value``. Thanks fgs-dbudwin.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/faker
  - Changelog: https://pyup.io/changelogs/faker/
  - Repo: https://github.com/joke2k/faker
</details>





### Update [google-resumable-media](https://pypi.org/project/google-resumable-media) from **0.4.0** to **0.4.1**.


<details>
  <summary>Changelog</summary>
  
  
   ### 0.4.1
   ```
   09-16-2019 17:59 PDT


 Implementation Changes
- Revert &quot;Always use raw response data. ([87](googleapis/google-resumable-media-python#87; ([103](googleapis/google-resumable-media-python#103))

 Internal / Testing Changes
- Add black. ([94](googleapis/google-resumable-media-python#94))
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/google-resumable-media
  - Changelog: https://pyup.io/changelogs/google-resumable-media/
  - Repo: https://github.com/GoogleCloudPlatform/google-resumable-media-python
</details>





### Update [packaging](https://pypi.org/project/packaging) from **19.1** to **19.2**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/packaging
  - Changelog: https://pyup.io/changelogs/packaging/
  - Repo: https://github.com/pypa/packaging
</details>





### Update [boto3](https://pypi.org/project/boto3) from **1.9.228** to **1.9.233**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.9.233
   ```
   =======

* api-change:``workspaces``: [``botocore``] Update workspaces client to latest version
* api-change:``ec2``: [``botocore``] Update ec2 client to latest version
* api-change:``greengrass``: [``botocore``] Update greengrass client to latest version
* api-change:``rds``: [``botocore``] Update rds client to latest version
   ```
   
  
  
   ### 1.9.232
   ```
   =======

* api-change:``mediaconnect``: [``botocore``] Update mediaconnect client to latest version
* api-change:``glue``: [``botocore``] Update glue client to latest version
* api-change:``ecs``: [``botocore``] Update ecs client to latest version
   ```
   
  
  
   ### 1.9.231
   ```
   =======

* api-change:``ram``: [``botocore``] Update ram client to latest version
* api-change:``waf-regional``: [``botocore``] Update waf-regional client to latest version
* api-change:``apigateway``: [``botocore``] Update apigateway client to latest version
   ```
   
  
  
   ### 1.9.230
   ```
   =======

* api-change:``iam``: [``botocore``] Update iam client to latest version
* api-change:``athena``: [``botocore``] Update athena client to latest version
* api-change:``personalize``: [``botocore``] Update personalize client to latest version
   ```
   
  
  
   ### 1.9.229
   ```
   =======

* api-change:``eks``: [``botocore``] Update eks client to latest version
* api-change:``mediaconvert``: [``botocore``] Update mediaconvert client to latest version
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/boto3
  - Changelog: https://pyup.io/changelogs/boto3/
  - Repo: https://github.com/boto/boto3
</details>





### Update [google-cloud-storage](https://pypi.org/project/google-cloud-storage) from **1.19.0** to **1.19.1**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/google-cloud-storage
  - Repo: https://github.com/GoogleCloudPlatform/google-cloud-python
</details>





### Update [graphene-django](https://pypi.org/project/graphene-django) from **2.5.0** to **2.6.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 2.6.0
   ```
   Changelog

Another release before v3. Fingers crossed we&#39;ll get v3 out soon!

 New features

* Extend DjangoListField to use model queryset if none defined (732)
* Convert DRF ChoiceField to Enum (537) 
* Adds variables arg to GraphQLTestCase.query (699)

 Bugfixes

* Handle isnull filters differently (753)
* Pin higher version of graphene for proper graphql-core version r… (768)

Full changelog: graphql-python/graphene-django@v2.5.0...v2.6.0
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/graphene-django
  - Changelog: https://pyup.io/changelogs/graphene-django/
  - Repo: https://github.com/graphql-python/graphene-django
</details>





### Update [kinto-http](https://pypi.org/project/kinto-http) from **10.5.0** to **10.6.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 10.6.0
   ```
   ===================

**New features**

- Specify requests timeout in client constructor
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/kinto-http
  - Changelog: https://pyup.io/changelogs/kinto-http/
  - Repo: https://github.com/Kinto/kinto-http.py/
</details>





### Update [markus[datadog]](https://pypi.org/project/markus) from **1.2.0** to **2.0.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 2.0.0
   ```
   ----------------------------

**Features**

* Use ``time.perf_counter()`` if available. Thank you, Mike! (34)
* Support Python 3.7 officially.
* Add filters for adjusting and dropping metrics getting emitted.
  See documentation for more details. (40)

**Backwards incompatible changes**

* ``tags`` now defaults to ``[]`` instead of ``None`` which may affect some
  expected test output.
* Adjust internals to run ``.emit()`` on backends. If you wrote your own
  backend, you may need to adjust it.
* Drop support for Python 3.4. (39)
* Drop support for Python 2.7.
  
  If you&#39;re still using Python 2.7, you&#39;ll need to pin to ``&lt;2.0.0``. (42)

**Bug fixes**

* Document feature support in backends. (47)
* Fix ``MetricsMock.has_record()`` example. (Thanks John!)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/markus
  - Changelog: https://pyup.io/changelogs/markus/
  - Repo: https://github.com/willkg/markus
</details>





### Update [pytest](https://pypi.org/project/pytest) from **5.1.2** to **5.1.3**.


<details>
  <summary>Changelog</summary>
  
  
   ### 5.1.3
   ```
   =========================

Bug Fixes
---------

- `5807 &lt;https://github.com/pytest-dev/pytest/issues/5807&gt;`_: Fix pypy3.6 (nightly) on windows.


- `5811 &lt;https://github.com/pytest-dev/pytest/issues/5811&gt;`_: Handle ``--fulltrace`` correctly with ``pytest.raises``.


- `5819 &lt;https://github.com/pytest-dev/pytest/issues/5819&gt;`_: Windows: Fix regression with conftest whose qualified name contains uppercase
  characters (introduced by 5792).
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest
  - Changelog: https://pyup.io/changelogs/pytest/
  - Homepage: https://docs.pytest.org/en/latest/
</details>





### Update [Werkzeug](https://pypi.org/project/Werkzeug) from **0.15.6** to **0.16.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 0.16.0
   ```
   --------------

Unreleased

-   Deprecate most top-level attributes provided by the ``werkzeug``
    module in favor of direct imports. The deprecated imports will be
    removed in version 1.0.

    For example, instead of ``import werkzeug; werkzeug.url_quote``, do
    ``from werkzeug.urls import url_quote``. A deprecation warning will
    show the correct import to use. ``werkzeug.exceptions`` and
    ``werkzeug.routing`` should also be imported instead of accessed,
    but for technical reasons can&#39;t show a warning.

    :issue:`2`, :pr:`1640`
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/werkzeug
  - Changelog: https://pyup.io/changelogs/werkzeug/
  - Homepage: https://palletsprojects.com/p/werkzeug/
</details>







Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: pyup-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
5 participants