ó
oTc           @   sL   d  d l  Z  d  d l Z d  d l m Z d  d l Td e f d     YZ d S(   i’’’’N(   t
   attributes(   t   *t   Serverc           B   sų   e  Z d  Z d Z d   Z d   Z e e e d d Z d Z	 d Z
 d Z d Z d Z e Z d Z d	 Z d Z d Z d Z d Z d Z d Z d Z e Z d   Z d d  Z d d  Z d   Z d e _ d   Z  d   Z! e e  e!  Z" d   Z# RS(   i  s	   127.0.0.1c         C   s   |  j  S(   N(   t   _socket_host(   t   self(    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   _get_socket_host   s    c         C   s(   | d k r t  d   n  | |  _ d  S(   Nt    su   The empty string ('') is not an allowed value. Use '0.0.0.0' instead to listen on all active interfaces (INADDR_ANY).(   t
   ValueErrorR   (   R   t   value(    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   _set_socket_host   s    t   docsĪ  The hostname or IP address on which to listen for connections.
        
        Host values may be any IPv4 or IPv6 address, or any valid hostname.
        The string 'localhost' is a synonym for '127.0.0.1' (or '::1', if
        your hosts file prefers IPv6). The string '0.0.0.0' is a special
        IPv4 entry meaning "any active interface" (INADDR_ANY), and '::'
        is the similar IN6ADDR_ANY for IPv6. The empty string or None are
        not allowed.i   i
   s   HTTP/1.1i’’’’iō  i   id   c         C   s+   t  j |  _ d  |  _ d  |  _ t |  _ d  S(   N(   t   cherrypyt   enginet   bust   Nonet
   httpservert	   interruptt   Falset   running(   R   (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   __init__>   s    		c         C   s   t  j d t  d  S(   Ns]   quickstart does nothing now and will be removed in 3.2. Call cherrypy.engine.start() instead.(   t   warningst   warnt   DeprecationWarning(   R   t   server(    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt
   quickstartD   s    	c         C   sw   | d  k r |  j } n  | d  k rF d d l m } | j |   } n  t | t  rj t |  |   } n  | |  j f S(   Ni’’’’(   t   _cpwsgi_server(	   R   t   instanceR   R   t   CPWSGIServert
   isinstancet
   basestringR    t	   bind_addr(   R   R   R   (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   httpserver_from_selfJ   s    c         C   s5   |  j  s$ |  j   \ |  _  |  _ n  t j |   d  S(   N(   R   R   R   t   ServerAdaptert   start(   R   (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyR!   V   s    	iK   c         C   sB   |  j  r |  j  S|  j d  k r2 |  j d  k r2 d  S|  j |  j f S(   N(   t   socket_filet   socket_hostR   t   socket_port(   R   (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   _get_bind_addr]   s
    	c         C   s   | d  k r* d  |  _ d  |  _ d  |  _ np t | t  rW | |  _ d  |  _ d  |  _ nC y | \ |  _ |  _ d  |  _ Wn! t k
 r t d |   n Xd  S(   Nsf   bind_addr must be a (host, port) tuple (for TCP sockets) or a string (for Unix domain sockets), not %r(   R   R"   R#   R$   R   R   R   (   R   R   (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   _set_bind_addrc   s    				c         C   s©   |  j  r |  j  S|  j } | d
 k r@ d d  l } | j   } n  |  j } |  j rx d } | d k r | d | 7} q n# d } | d k r | d | 7} n  d	 | | f S(   Ns   0.0.0.0s   ::i’’’’t   httpsi»  s   :%st   httpiP   s   %s://%s(   s   0.0.0.0s   ::(   R"   R#   t   sockett   gethostnameR$   t   ssl_certificate(   R   t   hostR)   t   portt   scheme(    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   basev   s    				Ni Š i  i  @($   t   __name__t
   __module__R$   R   R   R	   t   propertyR#   R   R"   t   socket_queue_sizet   socket_timeoutt   shutdown_timeoutt   protocol_versionR   t   reverse_dnst   thread_poolt   thread_pool_maxt   max_request_header_sizet   max_request_body_sizeR   t   ssl_contextR+   t   ssl_certificate_chaint   ssl_private_keyt   Truet   nodelayR   R   R   R!   t   priorityR%   R&   R   R/   (    (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyR      s>   								(   R   R   t   cherrypy.libR    t   cherrypy.process.serversR    R   (    (    (    s&   /var/www/SABnzbd/cherrypy/_cpserver.pyt   <module>   s   
