docs: quickstart, api reference, faq
This commit is contained in:
parent
2c1e4617cf
commit
8f78c8aaac
4 changed files with 132 additions and 0 deletions
38
docs/api.md
Normal file
38
docs/api.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# api
|
||||
|
||||
## `resolve(hostname, record_type=1, providers=None, timeout=3.0, use_cache=True) -> list[str]`
|
||||
|
||||
резолвит хост, возвращает список IP строками. кидает `ResolveError` если все провайдеры упали.
|
||||
|
||||
- `record_type` — `1` для A (по умолчанию), `28` для AAAA
|
||||
- `providers` — список `Provider`, по умолчанию `pydoh.providers.DEFAULT_PROVIDERS` (cloudflare, google, quad9 по порядку)
|
||||
- `timeout` — секунды на один HTTPS-запрос к одному провайдеру
|
||||
- `use_cache` — читать/писать во внутренний кэш по TTL из ответа
|
||||
|
||||
## `resolve4(hostname, **kwargs) -> list[str]`
|
||||
|
||||
то же самое что `resolve(hostname, record_type=1, **kwargs)`.
|
||||
|
||||
## `resolve6(hostname, **kwargs) -> list[str]`
|
||||
|
||||
то же самое что `resolve(hostname, record_type=28, **kwargs)`.
|
||||
|
||||
## `patch_socket() -> None`
|
||||
|
||||
подменяет `socket.getaddrinfo` на версию через `resolve()`. IP-литералы (`127.0.0.1` и т.п.) пропускает мимо DoH напрямую. идемпотентно — повторный вызов ничего не ломает.
|
||||
|
||||
## `unpatch_socket() -> None`
|
||||
|
||||
возвращает оригинальный `socket.getaddrinfo`.
|
||||
|
||||
## `ResolveError`
|
||||
|
||||
исключение, вылетает из `resolve()`/`resolve4()`/`resolve6()` если ни один провайдер не ответил валидно.
|
||||
|
||||
## `pydoh.providers.Provider`
|
||||
|
||||
```python
|
||||
Provider(name: str, host: str, path: str)
|
||||
```
|
||||
|
||||
именованный tuple, описывает DoH-эндпоинт. готовые: `pydoh.CLOUDFLARE`, `pydoh.GOOGLE`, `pydoh.QUAD9`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue