Built-in sandbox SHIM: a urllib3-compatible module for the model's Python
sandbox, implemented as a thin wrapper over the already-installed requests
shim (which rides the sandbox socket via stdlib urllib and honours the network
guard). No pip, no native wheel, no host bridge.
The preamble publishes urllib3 as a PACKAGE and staples it onto builtins:
every submodule real code imports has its own sys.modules entry --
urllib3.exceptions, .response, .poolmanager, .connectionpool,
.fields, .filepost, ._collections, and urllib3.util with .retry /
.timeout / .url / .request.
It exposes the surface agents reach for: PoolManager / ProxyManager /
HTTPConnectionPool / HTTPSConnectionPool with .request(method, url, fields=, headers=, body=, json=) and connection_from_url, a top-level
urllib3.request(...) (urllib3 2.x), an HTTPResponse (.status, .data,
.headers, .json(), .read(), .stream(), .getheader()),
HTTPHeaderDict, Retry, Timeout (turned into the transport's
connect/read pair), parse_url / Url, make_headers, RequestField +
encode_multipart_formdata, disable_warnings(), and the
urllib3.exceptions tree (HTTPError, MaxRetryError,
NewConnectionError, ReadTimeoutError, ProtocolError, IncompleteRead,
ProxySchemeUnknown, InsecureRequestWarning). Real connection pooling and
retry loops are no-ops, and a proxy URL is recorded rather than dialled: the
sandbox does its own egress.
Built-in sandbox SHIM: a `urllib3`-compatible module for the model's Python sandbox, implemented as a thin wrapper over the already-installed `requests` shim (which rides the sandbox socket via stdlib urllib and honours the network guard). No pip, no native wheel, no host bridge. The preamble publishes `urllib3` as a PACKAGE and staples it onto builtins: every submodule real code imports has its own `sys.modules` entry -- `urllib3.exceptions`, `.response`, `.poolmanager`, `.connectionpool`, `.fields`, `.filepost`, `._collections`, and `urllib3.util` with `.retry` / `.timeout` / `.url` / `.request`. It exposes the surface agents reach for: `PoolManager` / `ProxyManager` / `HTTPConnectionPool` / `HTTPSConnectionPool` with `.request(method, url, fields=, headers=, body=, json=)` and `connection_from_url`, a top-level `urllib3.request(...)` (urllib3 2.x), an `HTTPResponse` (`.status`, `.data`, `.headers`, `.json()`, `.read()`, `.stream()`, `.getheader()`), `HTTPHeaderDict`, `Retry`, `Timeout` (turned into the transport's connect/read pair), `parse_url` / `Url`, `make_headers`, `RequestField` + `encode_multipart_formdata`, `disable_warnings()`, and the `urllib3.exceptions` tree (`HTTPError`, `MaxRetryError`, `NewConnectionError`, `ReadTimeoutError`, `ProtocolError`, `IncompleteRead`, `ProxySchemeUnknown`, `InsecureRequestWarning`). Real connection pooling and retry loops are no-ops, and a proxy URL is recorded rather than dialled: the sandbox does its own egress.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |