wceddlZddlZddlmZmZddlmZddlmZm Z ddl m Z m Z m Z mZmZmZmZmZmZmZddlmZddlmZdd lmZdd lmZe rdd lmZdd lm Z dd l!m"Z"m#Z#ddl$m%Z%n dxZ"xZ#xZZ%dZ GddeZ&GddeZ'GddeZ(GddeZ)e r ee e*Z+neZ+edge,fZ-Gddee+Z.GddeZ/GddeZ0y)N)ABCabstractmethod)Sized) BaseCookieMorsel) TYPE_CHECKINGAny AwaitableCallableDict GeneratorIterableListOptionalTuple) CIMultiDict)URL)get_running_loop) LooseCookies) Application) HTTPException) BaseRequestRequest)StreamResponsec\eZdZd dZdeddfdZedefdZd dZ e de dd fd Z y) AbstractRouterreturnNcd|_y)NF_frozenselfs -/usr/lib/python3/dist-packages/aiohttp/abc.py__init__zAbstractRouter.__init__$s  appcy)zPost init stage. Not an abstract method for sake of backward compatibility, but if the router wants to be aware of the application it can override this. Nr#r's r$ post_initzAbstractRouter.post_init'r&c|jSNr r"s r$frozenzAbstractRouter.frozen/s ||r&cd|_y)zFreeze router.TNr r"s r$freezezAbstractRouter.freeze3s  r&requestAbstractMatchInfoc Kyw)z#Return MATCH_INFO for given requestNr)r#r2s r$resolvezAbstractRouter.resolve7rN) __name__ __module__ __qualname__r%rr+propertyboolr/r1rrr6r)r&r$rr#s] [ T 2W21D22r&rceZdZeedeegeeffdZ eedeegee effdZ eede e fdZ edeeeffdZeedeedffdZededd fd Zed d Zy ) r3rcy)zExecute matched request handlerNr)r"s r$handlerzAbstractMatchInfo.handler=r,r&cy)z*Expect handler for 100-continue processingNr)r"s r$expect_handlerz AbstractMatchInfo.expect_handlerBr,r&cy)z?((r&rOc TeZdZdZededededeeee ffdZ ed dZ y) AbstractResolverzAbstract DNS resolver.hostportfamilyrc Kyw)z$Return IP address for given hostnameNr))r#rYrZr[s r$r6zAbstractResolver.resolve}r7r8Nc Kyw)zRelease resolverNr)r"s r$closezAbstractResolver.closer7r8r9) r:r;r<rVrrMintrr r r6r^r)r&r$rXrXzsU 3#3S3#3$tCQTH~BV33r&rXz Morsel[str]ceZdZdZdddeej ddfdZeddee ddfdZ ed e ddfd Z ee fd ed e ddfd Zede ddfdZy)AbstractCookieJarzAbstract Cookie Jar.N)looprbrc$t||_yr.)r_loop)r#rbs r$r%zAbstractCookieJar.__init__s%d+ r& predicatecy)z,Clear all cookies if no predicate is passed.Nr))r#res r$clearzAbstractCookieJar.clearr,r&domaincy)z0Clear all cookies for domain and all subdomains.Nr))r#rhs r$ clear_domainzAbstractCookieJar.clear_domainr,r&cookies response_urlcy)zUpdate cookies.Nr))r#rkrls r$update_cookiesz AbstractCookieJar.update_cookiesr,r& request_urlzBaseCookie[str]cy)z6Return the jar's cookies filtered by their attributes.Nr))r#ros r$filter_cookiesz AbstractCookieJar.filter_cookiesr,r&r.)r:r;r<rVrasyncioAbstractEventLoopr%rClearCookiePredicatergrMrjrrrnrqr)r&r$rarasFJ,)B)B C,t,;x(<=;;;?3?4??HKl#RVE#E2CEEr&raceZdZUdZdZdZdZeee d<e de ddfdZ e dde ddfdZ e dd Ze dd eddfd Ze dd Ze d eddddfdZy)AbstractStreamWriterzAbstract stream writer.rlengthchunkrNc Kyw)zWrite chunk into stream.Nr)r#rxs r$writezAbstractStreamWriter.writer7r8c Kyw)zWrite last chunk.Nr)rzs r$ write_eofzAbstractStreamWriter.write_eofr7r8c Kyw)zFlush the write buffer.Nr)r"s r$drainzAbstractStreamWriter.drainr7r8encodingcy)zEnable HTTP body compressionNr))r#rs r$enable_compressionz'AbstractStreamWriter.enable_compressionr,r&cy)zEnable HTTP chunked modeNr)r"s r$enable_chunkingz$AbstractStreamWriter.enable_chunkingr,r& status_lineheaderszCIMultiDict[str]c Kyw)zWrite HTTP headersNr))r#rrs r$ write_headersz"AbstractStreamWriter.write_headersr7r8)r&r9)deflate)r:r;r<rV buffer_size output_sizerwrr___annotations__rbytesr{r}rrMrrrr)r&r$rvrvs!KKFHSM''4'' U T  &&+3+t++''!!);! !!r&rvc ZeZdZdZdej deddfdZede de d e ddfd Z y) AbstractAccessLoggerzAbstract writer to access log.logger log_formatrNc ||_||_yr.)rr)r#rrs r$r%zAbstractAccessLogger.__init__s $r&r2responsetimecy)zEmit log to logger.Nr))r#r2rrs r$logzAbstractAccessLogger.logr,r&) r:r;r<rVloggingLoggerrMr%rrrfloatrr)r&r$rrsT(%w~~%3%4%";".""RV""r&r)1rrrabcrrcollections.abcr http.cookiesrrtypingrr r r r r rrrr multidictryarlrhelpersrtypedefsrweb_apprweb_exceptionsr web_requestrr web_responserrr3rOrXrM IterableBaser>rtrarvrr)r&r$rs#!+   "%"$-1,;??K?'?K.M2S22+ + \ (3 ( s F3K(LL  56E|E.!3!D "3 "r&