From: Kar Petrosyan <92274156+karpetrosyan@users.noreply.github.com> Date: Mon, 15 Jan 2024 11:15:31 +0000 (+0400) Subject: Fix sections references (#3058) X-Git-Tag: 0.27.0~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73e688875a3579b67eee5795839b9660a1cfe5d8;p=thirdparty%2Fhttpx.git Fix sections references (#3058) --- diff --git a/docs/advanced/clients.md b/docs/advanced/clients.md index 6905724d..a55fc596 100644 --- a/docs/advanced/clients.md +++ b/docs/advanced/clients.md @@ -8,7 +8,7 @@ **More efficient usage of network resources** -When you make requests using the top-level API as documented in the [Quickstart](quickstart.md) guide, HTTPX has to establish a new connection _for every single request_ (connections are not reused). As the number of requests to a host increases, this quickly becomes inefficient. +When you make requests using the top-level API as documented in the [Quickstart](../quickstart.md) guide, HTTPX has to establish a new connection _for every single request_ (connections are not reused). As the number of requests to a host increases, this quickly becomes inefficient. On the other hand, a `Client` instance uses [HTTP connection pooling](https://en.wikipedia.org/wiki/HTTP_persistent_connection). This means that when you make several requests to the same host, the `Client` will reuse the underlying TCP connection, instead of recreating one for every single request. @@ -25,7 +25,7 @@ This can bring **significant performance improvements** compared to using the to - Cookie persistence across requests. - Applying configuration across all outgoing requests. - Sending requests through HTTP proxies. -- Using [HTTP/2](http2.md). +- Using [HTTP/2](../http2.md). The other sections on this page go into further detail about what you can do with a `Client` instance. @@ -60,7 +60,7 @@ Once you have a `Client`, you can send requests using `.get()`, `.post()`, etc. ``` -These methods accept the same arguments as `httpx.get()`, `httpx.post()`, etc. This means that all features documented in the [Quickstart](quickstart.md) guide are also available at the client level. +These methods accept the same arguments as `httpx.get()`, `httpx.post()`, etc. This means that all features documented in the [Quickstart](../quickstart.md) guide are also available at the client level. For example, to send a request with custom headers: @@ -139,13 +139,13 @@ For example, `base_url` allows you to prepend an URL to all outgoing requests: URL('http://httpbin.org/headers') ``` -For a list of all available client parameters, see the [`Client`](api.md#client) API reference. +For a list of all available client parameters, see the [`Client`](../api.md#client) API reference. --- ## Request instances -For maximum control on what gets sent over the wire, HTTPX supports building explicit [`Request`](api.md#request) instances: +For maximum control on what gets sent over the wire, HTTPX supports building explicit [`Request`](../api.md#request) instances: ```python request = httpx.Request("GET", "https://example.com") @@ -203,7 +203,7 @@ with tempfile.NamedTemporaryFile() as download_file: num_bytes_downloaded = response.num_bytes_downloaded ``` -![tqdm progress bar](img/tqdm-progress.gif) +![tqdm progress bar](../img/tqdm-progress.gif) Or an alternate example, this time using the [`rich`](https://github.com/willmcgugan/rich) library… @@ -265,7 +265,7 @@ httpx.post("https://httpbin.org/post", content=gen()) ## Multipart file encoding -As mentioned in the [quickstart](quickstart.md#sending-multipart-file-uploads) +As mentioned in the [quickstart](../quickstart.md#sending-multipart-file-uploads) multipart file encoding is available by passing a dictionary with the name of the payloads as keys and either tuple of elements or a file-like object or a string as values. diff --git a/docs/advanced/proxies.md b/docs/advanced/proxies.md index d51b241a..2a6b7d5f 100644 --- a/docs/advanced/proxies.md +++ b/docs/advanced/proxies.md @@ -63,7 +63,7 @@ How exactly step 2/ is performed depends on which of two proxying mechanisms is ### Troubleshooting proxies -If you encounter issues when setting up proxies, please refer to our [Troubleshooting guide](troubleshooting.md#proxies). +If you encounter issues when setting up proxies, please refer to our [Troubleshooting guide](../troubleshooting.md#proxies). ## SOCKS diff --git a/docs/advanced/transports.md b/docs/advanced/transports.md index 100b5624..135797d5 100644 --- a/docs/advanced/transports.md +++ b/docs/advanced/transports.md @@ -341,4 +341,4 @@ mounts = { There are also environment variables that can be used to control the dictionary of the client mounts. They can be used to configure HTTP proxying for clients. -See documentation on [`HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`](environment_variables.md#http_proxy-https_proxy-all_proxy) for more information. +See documentation on [`HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`](../environment_variables.md#http_proxy-https_proxy-all_proxy) for more information. diff --git a/docs/async.md b/docs/async.md index 1138c30c..9b679006 100644 --- a/docs/async.md +++ b/docs/async.md @@ -84,7 +84,7 @@ The async response streaming methods are: * `Response.aiter_raw()` - For streaming the raw response bytes, without applying content decoding. * `Response.aclose()` - For closing the response. You don't usually need this, since `.stream` block closes the response automatically on exit. -For situations when context block usage is not practical, it is possible to enter "manual mode" by sending a [`Request` instance](./advanced.md#request-instances) using `client.send(..., stream=True)`. +For situations when context block usage is not practical, it is possible to enter "manual mode" by sending a [`Request` instance](advanced/clients.md#request-instances) using `client.send(..., stream=True)`. Example in the context of forwarding the response to a streaming web endpoint with [Starlette](https://www.starlette.io): diff --git a/docs/compatibility.md b/docs/compatibility.md index 7190b658..e820a67b 100644 --- a/docs/compatibility.md +++ b/docs/compatibility.md @@ -159,7 +159,7 @@ httpx.get('https://www.example.com', timeout=None) HTTPX uses the mounts argument for HTTP proxying and transport routing. It can do much more than proxies and allows you to configure more than just the proxy route. -For more detailed documentation, see [Mounting Transports](advanced.md#mounting-transports). +For more detailed documentation, see [Mounting Transports](advanced/transports.md#mounting-transports). When using `httpx.Client(mounts={...})` to map to a selection of different transports, we use full URL schemes, such as `mounts={"http://": ..., "https://": ...}`. @@ -197,9 +197,9 @@ We don't support `response.is_ok` since the naming is ambiguous there, and might ## Request instantiation -There is no notion of [prepared requests](https://requests.readthedocs.io/en/stable/user/advanced/#prepared-requests) in HTTPX. If you need to customize request instantiation, see [Request instances](advanced.md#request-instances). +There is no notion of [prepared requests](https://requests.readthedocs.io/en/stable/user/advanced/#prepared-requests) in HTTPX. If you need to customize request instantiation, see [Request instances](advanced/clients.md#request-instances). -Besides, `httpx.Request()` does not support the `auth`, `timeout`, `follow_redirects`, `mounts`, `verify` and `cert` parameters. However these are available in `httpx.request`, `httpx.get`, `httpx.post` etc., as well as on [`Client` instances](advanced.md#client-instances). +Besides, `httpx.Request()` does not support the `auth`, `timeout`, `follow_redirects`, `mounts`, `verify` and `cert` parameters. However these are available in `httpx.request`, `httpx.get`, `httpx.post` etc., as well as on [`Client` instances](advanced/clients.md#client-instances). ## Mocking @@ -227,4 +227,4 @@ For both query params (`params=`) and form data (`data=`), `requests` supports s In HTTPX, event hooks may access properties of requests and responses, but event hook callbacks cannot mutate the original request/response. -If you are looking for more control, consider checking out [Custom Transports](advanced.md#custom-transports). +If you are looking for more control, consider checking out [Custom Transports](advanced/transports.md#custom-transports). diff --git a/docs/environment_variables.md b/docs/environment_variables.md index 71329fc1..28fdc5e8 100644 --- a/docs/environment_variables.md +++ b/docs/environment_variables.md @@ -75,7 +75,7 @@ The environment variables documented below are used as a convention by various H * [cURL](https://github.com/curl/curl/blob/master/docs/MANUAL.md#environment-variables) * [requests](https://github.com/psf/requests/blob/master/docs/user/advanced.rst#proxies) -For more information on using proxies in HTTPX, see [HTTP Proxying](advanced.md#http-proxying). +For more information on using proxies in HTTPX, see [HTTP Proxying](advanced/proxies.md#http-proxying). ### `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` diff --git a/docs/index.md b/docs/index.md index ec974669..86b6d1cb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -68,7 +68,7 @@ HTTPX builds on the well-established usability of `requests`, and gives you: * A broadly [requests-compatible API](compatibility.md). * Standard synchronous interface, but with [async support if you need it](async.md). * HTTP/1.1 [and HTTP/2 support](http2.md). -* Ability to make requests directly to [WSGI applications](advanced.md#calling-into-python-web-apps) or [ASGI applications](async.md#calling-into-python-web-apps). +* Ability to make requests directly to [WSGI applications](async.md#calling-into-python-web-apps) or [ASGI applications](async.md#calling-into-python-web-apps). * Strict timeouts everywhere. * Fully type annotated. * 100% test coverage. @@ -95,7 +95,7 @@ Plus all the standard features of `requests`... For a run-through of all the basics, head over to the [QuickStart](quickstart.md). -For more advanced topics, see the [Advanced Usage](advanced.md) section, +For more advanced topics, see the **Advanced** section, the [async support](async.md) section, or the [HTTP/2](http2.md) section. The [Developer Interface](api.md) provides a comprehensive API reference. diff --git a/docs/quickstart.md b/docs/quickstart.md index 068547ff..974119f7 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -462,7 +462,7 @@ You can also disable the timeout behavior completely... >>> httpx.get('https://github.com/', timeout=None) ``` -For advanced timeout management, see [Timeout fine-tuning](advanced.md#fine-tuning-the-configuration). +For advanced timeout management, see [Timeout fine-tuning](advanced/timeouts.md#fine-tuning-the-configuration). ## Authentication diff --git a/docs/third_party_packages.md b/docs/third_party_packages.md index 3d5f4778..f6ce96d7 100644 --- a/docs/third_party_packages.md +++ b/docs/third_party_packages.md @@ -28,7 +28,7 @@ An asynchronous GitHub API library. Includes [HTTPX support](https://gidgethub.r [GitHub](https://github.com/Colin-b/httpx_auth) - [Documentation](https://colin-b.github.io/httpx_auth/) -Provides authentication classes to be used with HTTPX [authentication parameter](advanced.md#customizing-authentication). +Provides authentication classes to be used with HTTPX [authentication parameter](advanced/authentication.md#customizing-authentication). ### pytest-HTTPX @@ -80,4 +80,4 @@ A library for scraping the web built on top of HTTPX. [GitHub](https://gist.github.com/florimondmanca/d56764d78d748eb9f73165da388e546e) -This public gist provides an example implementation for a [custom transport](advanced.md#custom-transports) implementation on top of the battle-tested [`urllib3`](https://urllib3.readthedocs.io) library. +This public gist provides an example implementation for a [custom transport](advanced/transports.md#custom-transports) implementation on top of the battle-tested [`urllib3`](https://urllib3.readthedocs.io) library. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index a0cb210c..a2ca15f5 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -27,7 +27,7 @@ mounts = { Using this setup, you're telling HTTPX to connect to the proxy using HTTP for HTTP requests, and using HTTPS for HTTPS requests. -But if you get the error above, it is likely that your proxy doesn't support connecting via HTTPS. Don't worry: that's a [common gotcha](advanced.md#example). +But if you get the error above, it is likely that your proxy doesn't support connecting via HTTPS. Don't worry: that's a [common gotcha](advanced/proxies.md#http-proxies). Change the scheme of your HTTPS proxy to `http://...` instead of `https://...`: @@ -46,7 +46,7 @@ with httpx.Client(proxy=proxy) as client: ... ``` -For more information, see [Proxies: FORWARD vs TUNNEL](advanced.md#forward-vs-tunnel). +For more information, see [Proxies: FORWARD vs TUNNEL](advanced/proxies.md#forward-vs-tunnel). ---