MCPcopy
hub / github.com/urllib3/urllib3 / __init__

Method __init__

src/urllib3/contrib/emscripten/fetch.py:201–227  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

199
200class _StreamingFetcher:
201 def __init__(self) -> None:
202 # make web-worker and data buffer on startup
203 self.streaming_ready = False
204 streaming_worker_code = (
205 files(__package__)
206 .joinpath("emscripten_fetch_worker.js")
207 .read_text(encoding="utf-8")
208 )
209 js_data_blob = js.Blob.new(
210 to_js([streaming_worker_code], create_pyproxies=False),
211 _obj_from_dict({"type": "application/javascript"}),
212 )
213
214 def promise_resolver(js_resolve_fn: JsProxy, js_reject_fn: JsProxy) -> None:
215 def onMsg(e: JsProxy) -> None:
216 self.streaming_ready = True
217 js_resolve_fn(e)
218
219 def onErr(e: JsProxy) -> None:
220 js_reject_fn(e) # Defensive: never happens in ci
221
222 self.js_worker.onmessage = onMsg
223 self.js_worker.onerror = onErr
224
225 js_data_url = js.URL.createObjectURL(js_data_blob)
226 self.js_worker = js.globalThis.Worker.new(js_data_url)
227 self.js_worker_ready_promise = js.globalThis.Promise.new(promise_resolver)
228
229 def send(self, request: EmscriptenRequest) -> EmscriptenResponse:
230 headers = {

Callers

nothing calls this directly

Calls 2

_obj_from_dictFunction · 0.85
newMethod · 0.80

Tested by

no test coverage detected