mò "á¸Ec@sßdZdkZdkZdfd„ƒYZdefd„ƒYZdefd„ƒYZdefd „ƒYZd efd „ƒYZd efd „ƒYZdefd„ƒYZ defd„ƒYZ defd„ƒYZ dS(sdZConfig datatype support for ZServer. Each server type is represented by a ServerFactory instance. Nt ServerFactorycBsGtZdd„Zdddddd„Zd„Zd„Zd„ZRS(NcCsBd|_|djod|_d|_n|\|_|_dS(N(tNonetselftiptaddressthosttport(RR((t0/data/zmath/zope/lib/python/ZServer/datatypes.pyt__init__s     tcCs‹|ip#ti|ƒ}|i||ƒnti|iƒ|_||_||_||_ |o#|i dj o|i |7_ ndS(N(RRtsockett gethostbynamet defaulthostRt_set_default_hostt dnsresolvertmoduletenvtcgienvtportbaseRR(RR RRRRR((Rtprepare s    cCs||_||_dS(N(RRR(RRR((RR -s cCs.|ii}|idƒo|d }n|S(NtFactoryiùÿÿÿ(Rt __class__t__name__tstendswith(RR((Rt servertype1s cCstdƒ‚dS(Ns7Concrete ServerFactory classes must implement create().(tNotImplementedError(R((Rtcreate7s(Rt __module__RRRR RR(((RRs    tHTTPServerFactorycBs#tZd„Zd„Zd„ZRS(NcCs€dkl}|iptidƒ‚nti||iƒ|i |_ |i |_ t |ddƒ}||_|i|_dS(N(s HTTPServersVNo 'address' settings found within the 'http-server' or 'webdav-source-server' sectiontwebdav_source_clients(tZServert HTTPServertsectionRtZConfigtConfigurationErrorRRRt zhttp_servert server_classtforce_connection_closetgetattrRtwebdav_clientsRtuse_wsgi(RR!R R(((RR>s     c Csdkl}|iƒ}|i|_|io|i|iƒn|i d|i d|i d|i d|ƒ}|i|ƒ|S(N(s access_loggerRRtresolvert logger_object(tZServer.AccessLoggert access_loggerRt createHandlerthandlerR&t_force_connection_closeRtset_webdav_source_clientsR%RRRtservertinstall_handler(RR-R/R2((RRLs       cCsQdkl}|io|i|id|iƒSn|i|id|iƒSdS(N(s HTTPServerR (RR RR)t zwsgi_handlerRRt zhttp_handler(RR ((RR.Xs  (RRRRR.(((RR<s  tWebDAVSourceServerFactorycBstZd„Zd„ZRS(NcCs-dkl}ti||ƒ|i|_dS(N(s HTTPServer(RR RRRR!tzwebdav_serverR%(RR!R ((RRbs cCs#dkl}||id|iƒS(N(sWebDAVSrcHandlerR (tZServer.WebDAVSrcHandlertWebDAVSrcHandlerRRR(RR9((RR.gs (RRRR.(((RR6`s tFTPServerFactorycBstZd„Zd„ZRS(NcCs4|iptidƒ‚nti||iƒdS(Ns;No 'address' settings found within the 'ftp-server' section(R!RR"R#RRR(RR!((RRms c CsTdkl}dkl}|d|id|id|id|id|i d|ƒS( N(s access_logger(s FTPServerRthostnameRRR*R+( R,R-tZServer.FTPServert FTPServerRRRRRR(RR-R=((RRss   (RRRR(((RR:ls tPCGIServerFactorycBstZd„Zd„ZRS(NcCsti|ƒ|i|_dS(N(RRRR!tpath(RR!((RR|s c CsTdkl}dkl}|d|id|id|id|id|i d|ƒS( N(s access_logger(s PCGIServerRRRR*t pcgi_fileR+( R,R-tZServer.PCGIServert PCGIServerRRRRRR?(RR-RB((RR€s    (RRRR(((RR>{s tFCGIServerFactorycBs#tZd„Zd„Zd„ZRS(NcCsƒdk}|idtddƒdk}|ii|ijo|ii}d}nd}|ii}t i ||ƒ||_ dS(NsMUsing FastCGI is deprecated. You should use mod_proxy to run Zope with Apachet stackleveli( twarningstwarntDeprecationWarningR R!RtfamilytAF_INETRR?RRR(RR!R RERR?((RRŠs       cCs+|idjoti|||ƒndS(N(RR?RRR RR(RRR((RR œsc CsTdkl}dkl}|d|id|id|id|id|i d|ƒS( N(s access_logger(s FCGIServerRRt socket_fileRR*R+( R,R-tZServer.FCGIServert FCGIServerRRRR?RR(RR-RL((RR s    (RRRR R(((RRC‰s  tMonitorServerFactorycBs#tZd„Zd„Zd„ZRS(NcCsti||iƒdS(N(RRRR!R(RR!((RRªscCsx|iƒ}|djo3d}dk}|idƒ}|i|ƒdSndk l }|d|i d|i d|ƒS(Ns<Monitor server not started because no emergency user exists.tZope(ssecure_monitor_serverR;Rtpassword( Rt getPasswordRORtmsgtloggingt getLoggertLOGterrortZServer.medusa.monitortsecure_monitor_serverRR(RRRRTRWRQRO((RR­s     cCs@dk}dkl}t|dƒo d}n |iƒ}|S(N(semergency_usert __null_user__(tZODBtAccessControl.Usertemergency_userthasattrRtpwt _getPassword(RR]RYR[((RRPºs     (RRRRRP(((RRM©s  tICPServerFactorycBstZd„Zd„ZRS(NcCsti||iƒdS(N(RRRR!R(RR!((RRÈscCs dkl}||i|iƒS(N(s ICPServer(tZServer.ICPServert ICPServerRRR(RRa((RRËs (RRRR(((RR_Çs tClockServerFactorycBstZd„Zd„ZRS(NcCsVti|ƒ|i|_|i|_|i|_|i|_|i|_ d|_dS(N( RRRR!tmethodtperiodtuserRORt hostheaderR(RR!((RRÐs      cCsBdkl}dkl}||i|i|i|i|i |ƒS(N(s ClockServer(s access_logger( tZServer.ClockServert ClockServerR,R-RRcRdReRORf(RRhR-((RRÙs  (RRRR(((RRbÏs ( t__doc__R R"RRR6R:R>RCRMR_Rb( R RbRMRR"RR>R:R_RCR6((Rt?s  %$