L i]|ddlZddlZddlmZddlmZddlmZddlmZddl m Z ddl m Z m Z mZddlZddlmZ dd lmZd Zdd lmZdd lmZddlmZe rddlmZeedZGddZ GddejBjDZ#GddejBjHZ%y#e$rd ZYvwxYw)N) HTTPStatus)Path)socket) SSLContext) TracebackType) TYPE_CHECKINGOptionalUnion) HTTPServer)bind_unix_socketTF)Update) get_logger)ExtBot)BotUpdater) class_nameceZdZdZdZ ddededddeed ee ee e ff d Z dd ee jd dfd ZddZy) WebhookServerz6Thin wrapper around ``tornado.httpserver.HTTPServer``.) _http_server _server_lock_shutdown_lock is_runninglistenportunixNrr webhook_appWebhookAppClassssl_ctxrcT|rts tdt|||_||_||_d|_d|_|rt|tr||_n|rtt||_tj|_tj|_y)Nz.This OS does not support binding unix sockets.) ssl_optionsF)UNIX_AVAILABLE RuntimeErrorr rrrrr isinstancerr strasyncioLockrr)selfrrrrrs h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/telegram/ext/_utils/webhookhandler.py__init__zWebhookServer.__init__As OP P&{H   JtV,DI (T3DI#LLN%llnreadyreturncK|j4d{|jr&|jj|jn1|jj |j |jd|_||jtjddddd{y77#1d{7swYyxYww)N)addressTzWebhook Server started.) rrr add_socketrrrset_LOGGERdebug)r'r+s r( serve_foreverzWebhookServer.serve_foreverWs$$ 5 5yy!!,,TYY7!!((DKK(H"DO  MM3 4 5 5 5 5 5 5 5sECB:CBB>) C4B<5C<C>CC C CcK|j4d{|js'tjd dddd{yd|_|jj |jj d{tjddddd{y77p7.7 #1d{7swYyxYww)Nz.Webhook Server is already shut down. ReturningFzWebhook Server stopped)rrr1r2rstopclose_all_connectionsr's r(shutdownzWebhookServer.shutdownds&& 4 4?? NO 4 4 4$DO    " " $##99; ; ; MM2 3 4 4 4 4 <  4 4 4 4ssCB4C#B< CB6C >B< B8 B<# C.B:/C6C8B<:C<CC C CNr,N)__name__ __module__ __qualname____doc__ __slots__r$intr rr rrr)r%Eventr3r8r*r(rr4s}@I 48 ---' - *% - uS$./0 -, 5'--)@ 5D 54r*rc ~eZdZdZ d dedddej deefdZd e jjd dfd Z y) rz!Application used in the WebserverN webhook_pathbotr update_queue secret_tokenc|||d|_|dt|jfg}tjjj ||y)N)rErFrGz/?)shared_objectsTelegramHandlertornadoweb Applicationr))r'rDrErFrGhandlerss r(r)zWebhookAppClass.__init__rsO((  &b)?Dr$r%Queuer r)rKrLRequestHandlerrQrBr*r(rros]+'+ 9 9 9mm 9 sm 9X7;;#=#=X$Xr*rceZdZdZdZdZdddejdedd fd Z dd Z dd Z dd Z de eede ede edd fdZy )rJz:BaseHandler that processes incoming requests from Telegram)rErGrF)POSTrErrFrGr,Nc^||_||_||_|rtj dyy)zFInitialize for each request - that's the interface provided by tornadozLThe webhook server has a secret token, expecting it in incoming requests nowN)rErFrGr1r2)r'rErFrGs r( initializezTelegramHandler.initializes2((  MM^  r*c(|jddy)zSets default headers Content-Typez!application/json; charset="utf-8"N) set_headerr7s r(set_default_headersz#TelegramHandler.set_default_headerss (KLr*c Ktjd|j|jjj }t j|}|jtjtjd| tj||j}|rytjd|j(t+|jt,r|jj/||j0j3|d{yy#t$rM}tjd||t j"j%tj&d|d}~wwxYw7_w) zHandle incoming POST requestzWebhook triggeredzWebhook received data: %szySomething went wrong processing the data received from Telegram. Received data was *not* processed! Received data was: %rexc_infozUpdate could not be processedreasonNz%Received Update with ID %d on Webhook)r1r2_validate_postrequestbodydecodejsonloads set_statusrOKr de_jsonrE ExceptioncriticalrKrL HTTPError BAD_REQUEST update_idr#rinsert_callback_datarFput)r' json_stringdataupdateexcs r(postzTelegramHandler.posts> )* ll''..0 zz+&  & 1;? ^^D$((3F  MM7   $((F+--f5##''/ / /     K   ++''&&/N(  , 0s8BF D37A5F,F -F3 F r?SUPPORTED_METHODSr%rRr$rWr[rurar type BaseExceptionrrrBr*r(rJrJsD7I! e 7== PS X\ M"0H&  d=) *   &   ] #    r*rJ)&r%rehttprpathlibrrsslrtypesrtypingrr r tornado.webrKtornado.httpserverr tornado.netutilr r! ImportErrortelegramr telegram._utils.loggingrtelegram.ext._extbotrrr;r1rrLrMrrSrJrBr*r(rs( 11)0N.' X) 48484vXgkk--X.Y gkk00Y ANsB11B;:B;