prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Version 0.11.0
  This one is a big deal, since it reintroduces the sync client, and is essentially a 1.0 pre-release in terms of how the API looks.
  
  ```python
  >>> import httpx
  >>> httpx.get('https://www.example.com')
  <Response [200 OK]>
  ```
  
  🎉✨ **TA-DA!** ✨🎉
  
  ---
  
  # Release notes
  
  ## 0.11.0 (January 9th, 2019)
  
  The 0.11 release reintroduces our sync support, so that `httpx` now supports both a standard thread-concurrency API, and an async API.
  
  Existing async `httpx` users that are upgrading to 0.11 should ensure that:
  
  * Async codebases should always use a client instance to make requests, instead of the top-level API.
  * The async client is named as `httpx.AsyncClient()`, instead of `httpx.Client()`.
  * When instantiating proxy configurations use the `httpx.Proxy()` class, instead of the previous `httpx.HTTPProxy()`. This new configuration class works for configuring both sync and async clients.
  
  We believe the API is now pretty much stable, and are aiming for a 1.0 release sometime on or before April 2020.
  
  ### Changed
  
  - Top level API such as `httpx.get(url, ...)`, `httpx.post(url, ...)`, `httpx.request(method, url, ...)` becomes synchronous.
  - Added `httpx.Client()` for synchronous clients, with `httpx.AsyncClient` being used for async clients.
  - Switched to `proxies=httpx.Proxy(...)` for proxy configuration.
  - Network connection errors are wrapped in `httpx.NetworkError`, rather than exposing lower-level exception types directly.
  
  ### Removed
  
  - The `request.url.origin` property and `httpx.Origin` class are no longer available.
  - The per-request `cert`, `verify`, and `trust_env` arguments are escalated from raising errors if used, to no longer being available. These arguments should be used on a per-client instance instead, or in the top-level API.
  - The `stream` argument has escalated from raising an error when used, to no longer being available. Use the `client.stream(...)` or `httpx.stream()` streaming API instead.
  
  ### Fixed
  
  - Redirect loop detection matches against `(method, url)` rather than `url`. (Pull #734)
  
  ---
  
  # What's next...
  
  I'd expect that we'll likely end up waiting for a period of time after this release, and then end up releasing a 1.0 with either no API changes, or only very minimal API changes. (The only remaining area I can see us still wanting to refine/change, would be some review making sure we've got an exception heirarchy/naming that we're entirely happy to stick with for 1.0 onwards)
  
  ---
  
  # Checklist
  
  - [x] Reintroduce `Client` as a sync client. #735
  - [x] Reintroduce `WSGIDispatch`. #735
  - [x] Top-level API becomes sync, not async. #735
  - [x] Drop `Origin` from public API. #688
  - [x] Use `httpx.Proxy()` for proxy configuration, not the `httpx.HTTPProxy` dispatch class. #713
  - [ ] ~Consider switching `client.params`, `client.headers`, `client.cookies` so that they don't have a setter/getter mismatch.~ Refs #678 #274
  - [ ] ~Consider dropping UDS support.~ #723
  - [x] Wrap IO Exceptions in httpx exceptions. #707
  - [x] Docs #727
  - [x] `httpx.Auth` becomes public API. #732 #731
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 
  4 import re
  5 from pathlib import Path
  6 
  7 from setuptools import setup
  8 
  9 
  10 def get_version(package):
  11     """
  12     Return package version as listed in `__version__` in `init.py`.
  13     """
  14     version = Path(package, "__version__.py").read_text()
  15     return re.search("__version__ = ['\"]([^'\"]+)['\"]", version).group(1)
  16 
  17 
  18 def get_long_description():
  19     """
  20     Return the README.
  21     """
  22     long_description = ""
  23     with open("README.md", encoding="utf8") as f:
  24         long_description += f.read()
  25     long_description += "\n\n"
  26     with open("CHANGELOG.md", encoding="utf8") as f:
  27         long_description += f.read()
  28     return long_description
  29 
  30 
  31 def get_packages(package):
  32     """
  33     Return root package and all sub-packages.
  34     """
  35     return [str(path.parent) for path in Path(package).glob("**/__init__.py")]
  36 
  37 
  38 setup(
  39     name="httpx",
  40     python_requires=">=3.6",
  41     version=get_version("httpx"),
  42     url="https://github.com/encode/httpx",
  43     license="BSD",
  44     description="The next generation HTTP client.",
  45     long_description=get_long_description(),
  46     long_description_content_type="text/markdown",
  47     author="Tom Christie",
  48     author_email="tom@tomchristie.com",
  49     package_data={"httpx": ["py.typed"]},
  50     packages=get_packages("httpx"),
  51     include_package_data=True,
  52     zip_safe=False,
  53     install_requires=[
  54         "certifi",
  55         "hstspreload",
  56         "chardet==3.*",
  57         "h11>=0.8,<0.10",
  58         "h2==3.*",
  59         "idna==2.*",
  60         "rfc3986>=1.3,<2",
  61         "sniffio==1.*",
  62         "urllib3==1.*",
  63     ],
  64     classifiers=[
  65         "Development Status :: 3 - Alpha",
  66         "Environment :: Web Environment",
  67         "Intended Audience :: Developers",
  68         "License :: OSI Approved :: BSD License",
  69         "Operating System :: OS Independent",
  70         "Topic :: Internet :: WWW/HTTP",
  71         "Framework :: AsyncIO",
  72         "Framework :: Trio",
  73         "Programming Language :: Python :: 3",
  74         "Programming Language :: Python :: 3.6",
  75         "Programming Language :: Python :: 3.7",
  76         "Programming Language :: Python :: 3.8",
  77     ],
  78 )
  79
  ```
  
  Path: `httpx/__version__.py`
  Content:
  ```
  1 __title__ = "httpx"
  2 __description__ = "A next generation HTTP client, for Python 3."
  3 __version__ = "0.10.1"
  4
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/httpx/__version__.py b/httpx/__version__.py
  --- a/httpx/__version__.py
  +++ b/httpx/__version__.py
  @@ -1,3 +1,3 @@
   __title__ = "httpx"
   __description__ = "A next generation HTTP client, for Python 3."
  -__version__ = "0.10.1"
  +__version__ = "0.11.0"
  diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -62,7 +62,7 @@
           "urllib3==1.*",
       ],
       classifiers=[
  -        "Development Status :: 3 - Alpha",
  +        "Development Status :: 4 - Beta",
           "Environment :: Web Environment",
           "Intended Audience :: Developers",
           "License :: OSI Approved :: BSD License",
  
verification_info: {"golden_diff": "diff --git a/httpx/__version__.py b/httpx/__version__.py\n--- a/httpx/__version__.py\n+++ b/httpx/__version__.py\n@@ -1,3 +1,3 @@\n __title__ = \"httpx\"\n __description__ = \"A next generation HTTP client, for Python 3.\"\n-__version__ = \"0.10.1\"\n+__version__ = \"0.11.0\"\ndiff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -62,7 +62,7 @@\n         \"urllib3==1.*\",\n     ],\n     classifiers=[\n-        \"Development Status :: 3 - Alpha\",\n+        \"Development Status :: 4 - Beta\",\n         \"Environment :: Web Environment\",\n         \"Intended Audience :: Developers\",\n         \"License :: OSI Approved :: BSD License\",\n", "issue": "Version 0.11.0\nThis one is a big deal, since it reintroduces the sync client, and is essentially a 1.0 pre-release in terms of how the API looks.\r\n\r\n```python\r\n>>> import httpx\r\n>>> httpx.get('https://www.example.com')\r\n<Response [200 OK]>\r\n```\r\n\r\n\ud83c\udf89\u2728 **TA-DA!** \u2728\ud83c\udf89\r\n\r\n---\r\n\r\n# Release notes\r\n\r\n## 0.11.0 (January 9th, 2019)\r\n\r\nThe 0.11 release reintroduces our sync support, so that `httpx` now supports both a standard thread-concurrency API, and an async API.\r\n\r\nExisting async `httpx` users that are upgrading to 0.11 should ensure that:\r\n\r\n* Async codebases should always use a client instance to make requests, instead of the top-level API.\r\n* The async client is named as `httpx.AsyncClient()`, instead of `httpx.Client()`.\r\n* When instantiating proxy configurations use the `httpx.Proxy()` class, instead of the previous `httpx.HTTPProxy()`. This new configuration class works for configuring both sync and async clients.\r\n\r\nWe believe the API is now pretty much stable, and are aiming for a 1.0 release sometime on or before April 2020.\r\n\r\n### Changed\r\n\r\n- Top level API such as `httpx.get(url, ...)`, `httpx.post(url, ...)`, `httpx.request(method, url, ...)` becomes synchronous.\r\n- Added `httpx.Client()` for synchronous clients, with `httpx.AsyncClient` being used for async clients.\r\n- Switched to `proxies=httpx.Proxy(...)` for proxy configuration.\r\n- Network connection errors are wrapped in `httpx.NetworkError`, rather than exposing lower-level exception types directly.\r\n\r\n### Removed\r\n\r\n- The `request.url.origin` property and `httpx.Origin` class are no longer available.\r\n- The per-request `cert`, `verify`, and `trust_env` arguments are escalated from raising errors if used, to no longer being available. These arguments should be used on a per-client instance instead, or in the top-level API.\r\n- The `stream` argument has escalated from raising an error when used, to no longer being available. Use the `client.stream(...)` or `httpx.stream()` streaming API instead.\r\n\r\n### Fixed\r\n\r\n- Redirect loop detection matches against `(method, url)` rather than `url`. (Pull #734)\r\n\r\n---\r\n\r\n# What's next...\r\n\r\nI'd expect that we'll likely end up waiting for a period of time after this release, and then end up releasing a 1.0 with either no API changes, or only very minimal API changes. (The only remaining area I can see us still wanting to refine/change, would be some review making sure we've got an exception heirarchy/naming that we're entirely happy to stick with for 1.0 onwards)\r\n\r\n---\r\n\r\n# Checklist\r\n\r\n- [x] Reintroduce `Client` as a sync client. #735\r\n- [x] Reintroduce `WSGIDispatch`. #735\r\n- [x] Top-level API becomes sync, not async. #735\r\n- [x] Drop `Origin` from public API. #688\r\n- [x] Use `httpx.Proxy()` for proxy configuration, not the `httpx.HTTPProxy` dispatch class. #713\r\n- [ ] ~Consider switching `client.params`, `client.headers`, `client.cookies` so that they don't have a setter/getter mismatch.~ Refs #678 #274\r\n- [ ] ~Consider dropping UDS support.~ #723\r\n- [x] Wrap IO Exceptions in httpx exceptions. #707\r\n- [x] Docs #727\r\n- [x] `httpx.Auth` becomes public API. #732 #731\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport re\nfrom pathlib import Path\n\nfrom setuptools import setup\n\n\ndef get_version(package):\n    \"\"\"\n    Return package version as listed in `__version__` in `init.py`.\n    \"\"\"\n    version = Path(package, \"__version__.py\").read_text()\n    return re.search(\"__version__ = ['\\\"]([^'\\\"]+)['\\\"]\", version).group(1)\n\n\ndef get_long_description():\n    \"\"\"\n    Return the README.\n    \"\"\"\n    long_description = \"\"\n    with open(\"README.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    long_description += \"\\n\\n\"\n    with open(\"CHANGELOG.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    return long_description\n\n\ndef get_packages(package):\n    \"\"\"\n    Return root package and all sub-packages.\n    \"\"\"\n    return [str(path.parent) for path in Path(package).glob(\"**/__init__.py\")]\n\n\nsetup(\n    name=\"httpx\",\n    python_requires=\">=3.6\",\n    version=get_version(\"httpx\"),\n    url=\"https://github.com/encode/httpx\",\n    license=\"BSD\",\n    description=\"The next generation HTTP client.\",\n    long_description=get_long_description(),\n    long_description_content_type=\"text/markdown\",\n    author=\"Tom Christie\",\n    author_email=\"tom@tomchristie.com\",\n    package_data={\"httpx\": [\"py.typed\"]},\n    packages=get_packages(\"httpx\"),\n    include_package_data=True,\n    zip_safe=False,\n    install_requires=[\n        \"certifi\",\n        \"hstspreload\",\n        \"chardet==3.*\",\n        \"h11>=0.8,<0.10\",\n        \"h2==3.*\",\n        \"idna==2.*\",\n        \"rfc3986>=1.3,<2\",\n        \"sniffio==1.*\",\n        \"urllib3==1.*\",\n    ],\n    classifiers=[\n        \"Development Status :: 3 - Alpha\",\n        \"Environment :: Web Environment\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: BSD License\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet :: WWW/HTTP\",\n        \"Framework :: AsyncIO\",\n        \"Framework :: Trio\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n    ],\n)\n", "path": "setup.py"}, {"content": "__title__ = \"httpx\"\n__description__ = \"A next generation HTTP client, for Python 3.\"\n__version__ = \"0.10.1\"\n", "path": "httpx/__version__.py"}], "after_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport re\nfrom pathlib import Path\n\nfrom setuptools import setup\n\n\ndef get_version(package):\n    \"\"\"\n    Return package version as listed in `__version__` in `init.py`.\n    \"\"\"\n    version = Path(package, \"__version__.py\").read_text()\n    return re.search(\"__version__ = ['\\\"]([^'\\\"]+)['\\\"]\", version).group(1)\n\n\ndef get_long_description():\n    \"\"\"\n    Return the README.\n    \"\"\"\n    long_description = \"\"\n    with open(\"README.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    long_description += \"\\n\\n\"\n    with open(\"CHANGELOG.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    return long_description\n\n\ndef get_packages(package):\n    \"\"\"\n    Return root package and all sub-packages.\n    \"\"\"\n    return [str(path.parent) for path in Path(package).glob(\"**/__init__.py\")]\n\n\nsetup(\n    name=\"httpx\",\n    python_requires=\">=3.6\",\n    version=get_version(\"httpx\"),\n    url=\"https://github.com/encode/httpx\",\n    license=\"BSD\",\n    description=\"The next generation HTTP client.\",\n    long_description=get_long_description(),\n    long_description_content_type=\"text/markdown\",\n    author=\"Tom Christie\",\n    author_email=\"tom@tomchristie.com\",\n    package_data={\"httpx\": [\"py.typed\"]},\n    packages=get_packages(\"httpx\"),\n    include_package_data=True,\n    zip_safe=False,\n    install_requires=[\n        \"certifi\",\n        \"hstspreload\",\n        \"chardet==3.*\",\n        \"h11>=0.8,<0.10\",\n        \"h2==3.*\",\n        \"idna==2.*\",\n        \"rfc3986>=1.3,<2\",\n        \"sniffio==1.*\",\n        \"urllib3==1.*\",\n    ],\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Environment :: Web Environment\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: BSD License\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet :: WWW/HTTP\",\n        \"Framework :: AsyncIO\",\n        \"Framework :: Trio\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n    ],\n)\n", "path": "setup.py"}, {"content": "__title__ = \"httpx\"\n__description__ = \"A next generation HTTP client, for Python 3.\"\n__version__ = \"0.11.0\"\n", "path": "httpx/__version__.py"}]}