גיט אַ Twisted פּראָקסי בקשה אַ טערמין פֿאַר איר קערפּער
פֿאַרבינדט דעם פֿאַרבינדונג-צײַטלימיט פֿון דעם פּראָקסי ענדפּוינט מיט אַ Deferred טערמין וואָס דעקט אויך לייענען אַ קליין ענטפֿער-קערפּער.
אַ ProxyAgent קען זיך פֿאַרבינדן גיך און דערנאָך אומבאַגרענעצט וואַרטן אויף אַן ענטפֿער-קערפּער. דער פֿאַרבינדונג-צײַטלימיט פֿון איר פּראָקסי ענדפּוינט באַשרײַבט נישט די שפּעטערדיקע וואַרטונג.
שטעלט אַ פֿאַרבינדונג-גרענעץ אויפֿן ענדפּוינט ווען איר בויט דעם אַגענט. פֿאַר דער פּובליקער HTTP בקשה אונטן קען אַ נישט-אויטענטיפֿיצירטער קאַנדידאַט פֿון דער HTTP פּראָקסי ליסטע פֿאַרבײַטן די אַדרעס אויב עס זענען ערלויבט פּובליקע מיטלערס:
endpoint = TCP4ClientEndpoint(reactor, 'proxy.example', 8080,
timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)
פֿאַר אַ קליין ענטפֿער וואָס איר ווילט זאַמלען אין זכּרון, שליסט איין לייענען דעם קערפּער אין דער Deferred קייט פֿאַר איר צולייגט דעם טערמין:
from twisted.web.client import readBody
d = agent.request(b'GET', b'http://example.com/')
d.addCallback(readBody)
d.addTimeout(10, reactor)
d.addCallback(lambda body: print(len(body)))
d.addErrback(lambda failure: print(failure.getErrorMessage()))
דער פֿראַגמענט פֿאַרזעצט אַז די אַפּליקאַציע האָט שוין איר reactor און אַ קאָנפֿיגורירטן אַגענט. דער בקשה-Deferred פֿון ProxyAgent גיט אַן ענטפֿער אביעקט; readBody גיט צוריק דעם Deferred פֿאַר דעם קערפּער. אים צוריקגעבן פֿון דעם callback מאַכט די קייט וואַרטן אויך אויף דער אָפּעראַציע.
דער אָרט איז וויכטיק. Twisted ניצט addTimeout אויף דער אַרבעט וואָס די callbacks אינסטאַלירט פֿאַר איר פֿאָרשטעלן. צולייגן אַ קערפּער-לייענער דערנאָך וואָלט באַשרײַבן אַן אַנדער גרענעץ. אין דער אַריינשטעלונג הייבט דער טיימער אָן ווען addTimeout ווערט גערופֿן און דעקט די וואַרטענדיקע בקשה און די קערפּער-אַרבעט אין דער קייט.
ניצט אַ סטרימינג פֿאַרניצער פֿאַר גרויסע אָדער אומבאַגרענעצטע קערפּערס און פֿאָרשטעלט איר פֿאַרענדיקונג אויף דעם זעלבן אופֿן. אַ טערמין אויף דער קליענט זײַט באַגרענעצט ווי לאַנג אייער אַפּליקאַציע וואַרט; ער פֿאַרקונפֿיגורירט נישט דעם פּראָקסי'ס אייגענעם אַרויפֿגיי-פֿאַרבינדונג צײַטלימיט.