
+e|Mc           @   s  d  Z  d d k Z d d k Z d d k l Z d d k l Z d d k l Z l	 Z	 l
 Z
 l Z d d k l Z l Z d d k l Z d d k l Z d d	 k l Z d d
 k l Z d d k l Z d d g Z e i d e i  Z d e f d     YZ e d e    Z d e  f d     YZ! d e  f d     YZ" d e  f d     YZ# h  d d <d d <d d <d d <d d <d  d! <d" d# <d$ d% <d& d' <d( d) <d* d+ <d, d- <d. d/ <d0 d1 <d2 d3 <d4 d5 <d6 d7 <d8 d9 <d: d; <d< d= <d> d? <d@ dA <dB dC <dD dE <dF dG <dH dI <dJ dK <dL dM <dN dO <dP dQ <dR dS <dT dU <dV dW <dX dY <dZ d[ <d\ d] <d^ d_ <d` da <db dc <dd de <df dg <dh di <Z$ d S(j   s   WSGI Wrappers for a Request and Response

The WSGIRequest and WSGIResponse objects are light wrappers to make it easier
to deal with an incoming request and sending a response.
iN(   t   pformat(   t   SimpleCookie(   t   EnvironHeaderst   get_cookie_dictt   parse_dict_querystringt   parse_formvars(   t	   MultiDictt   UnicodeMultiDict(   t   StackedObjectProxy(   t
   HeaderDict(   t   encode_unicode_app_iter(   t   ACCEPT_LANGUAGE(   t   desired_matchest   WSGIRequestt   WSGIResponses   ;\s*charset=([^;]*)t   DeprecatedSettingsc           B   s   e  Z d    Z RS(   c         C   s7   t  i d t d  t i i |  t i |  |  d  S(   Nse   paste.wsgiwrappers.settings is deprecated: Please use paste.wsgiwrappers.WSGIRequest.defaults insteadi   (   t   warningst   warnt   DeprecationWarningR   t   defaultst   _push_objectR   (   t   selft   obj(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR      s    	
(   t   __name__t
   __module__R   (    (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR      s   t   defaultt   environ_getterc           B   s2   e  Z d  Z d d d  Z d d  Z d   Z RS(   s5   For delegating an attribute to a key in self.environ.t    c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   keyR   t   default_factory(   R   R   R   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   __init__'   s    		c         C   sm   | d  j o |  Sn |  i | i j o7 |  i o" |  i   } | i |  i <| Sq_ |  i Sn | i |  i S(   N(   t   NoneR   t   environR   R   (   R   R   t   typet   val(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   __get__+   s    
c         C   s   d |  i  S(   Ns   <Proxy for WSGI environ %r key>(   R   (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   __repr__6   s    N(   R   R   t   __doc__R   R   R#   R$   (    (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR   $   s   c           B   s  e  Z d  Z e d e d d d d d e d d   Z d   Z e	 d	  Z
 e	 d
  Z e	 d  Z e	 d  Z e	 d  Z d   Z e e d e i Z d   Z e e d e i Z d   Z e e d e i Z d   Z e e d e i Z d   Z d   Z e e d e i Z d   Z d   Z e e d e i Z d   Z e e d e i Z d   Z e e d e i Z d   Z d   Z d   Z RS(   s#  WSGI Request API Object

    This object represents a WSGI request with a more friendly interface.
    This does not expose every detail of the WSGI environment, and attempts
    to express nothing beyond what is available in the environment
    dictionary.

    The only state maintained in this object is the desired ``charset``,
    its associated ``errors`` handler, and the ``decode_param_names``
    option.

    The incoming parameter values will be automatically coerced to unicode
    objects of the ``charset`` encoding when ``charset`` is set. The
    incoming parameter names are not decoded to unicode unless the
    ``decode_param_names`` option is enabled.

    When unicode is expected, ``charset`` will overridden by the the
    value of the ``Content-Type`` header's charset parameter if one was
    specified by the client.

    The class variable ``defaults`` specifies default values for
    ``charset``, ``errors``, and ``langauge``. These can be overridden for the
    current request via the registry.
        
    The ``language`` default value is considered the fallback during i18n
    translations to ensure in odd cases that mixed languages don't occur should
    the ``language`` file contain the string but not another language in the
    accepted languages list. The ``language`` value only applies when getting
    a list of accepted languages from the HTTP Accept header.
    
    This behavior is duplicated from Aquarium, and may seem strange but is
    very useful. Normally, everything in the code is in "en-us".  However, 
    the "en-us" translation catalog is usually empty.  If the user requests
    ``["en-us", "zh-cn"]`` and a translation isn't found for a string in
    "en-us", you don't want gettext to fallback to "zh-cn".  You want it to 
    just use the string itself.  Hence, if a string isn't found in the
    ``language`` catalog, the string in the source code will be used.

    *All* other state is kept in the environment dictionary; this is
    essential for interoperability.

    You are free to subclass this object.

    R   t   charsett   errorst   replacet   decode_param_namest   languages   en-usc         C   s   | |  _  t |  |  _ |  i i   } | i d  |  _ |  i o$ |  i   } | o | |  _ qg n | i d d  |  _ | i d t	  |  _
 d  |  _ d  S(   NR&   R'   t   strictR)   (   R    R   t   headersR   t   _current_objt   getR&   t   determine_browser_charsetR'   t   FalseR)   R   t
   _languages(   R   R    R   t   browser_charset(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR   i   s    	
s
   wsgi.inputs   wsgi.url_schemet   REQUEST_METHODt   SCRIPT_NAMEt	   PATH_INFOc         C   sJ   d |  i  j o |  i  d Sn( d |  i  j o |  i  d d Sn h  Sd S(   sc   
        Return any variables matched in the URL (e.g.,
        ``wsgiorg.routing_args``).
        s   paste.urlvarss   wsgiorg.routing_argsi   N(   R    (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   urlvars   s
    t   docc         C   s   |  i  i d d  d j S(   sE   Returns a boolean if X-Requested-With is present and a XMLHttpRequestt   HTTP_X_REQUESTED_WITHR   t   XMLHttpRequest(   R    R.   (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   is_xhr   s    c         C   s   |  i  i d |  i  i d   S(   s>   Host name provided in HTTP_HOST, with fall-back to SERVER_NAMEt	   HTTP_HOSTt   SERVER_NAME(   R    R.   (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   host   s    c         C   s   |  i  d j	 o |  i  Sn |  i i d  } t i |  i  } |  i i d d  } | p | Sn | | j o | i |  n | i |  } g  | | d )| |  _  |  i  S(   sl   Return a list of preferred languages, most preferred first.
        
        The list may be empty.
        t   HTTP_ACCEPT_LANGUAGER*   s   en-usi   N(	   R1   R   R    R.   R   t   parseR   t   appendt   index(   R   t   acceptLanguaget   langst   fallbackRA   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt	   languages   s    	c         C   s   t  |  i  S(   N(   R   R    (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   _GET   s    c         C   sE   |  i    } |  i o+ t | d |  i d |  i d |  i } n | S(   s  
        Dictionary-like object representing the QUERY_STRING
        parameters. Always present, if possibly empty.

        If the same key is present in the query string multiple times, a
        list of its values can be retrieved from the ``MultiDict`` via
        the ``getall`` method.

        Returns a ``MultiDict`` container or a ``UnicodeMultiDict`` when
        ``charset`` is set.
        t   encodingR'   t   decode_keys(   RF   R&   R   R'   R)   (   R   t   params(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   GET   s    
	c         C   s   t  |  i d t S(   Nt   include_get_vars(   R   R    R0   (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   _POST   s    c         C   sE   |  i    } |  i o+ t | d |  i d |  i d |  i } n | S(   sk  Dictionary-like object representing the POST body.

        Most values are encoded strings, or unicode strings when
        ``charset`` is set. There may also be FieldStorage objects
        representing file uploads. If this is not a POST request, or the
        body is not encoded fields (e.g., an XMLRPC request) then this
        will be empty.

        This will consume wsgi.input when first accessed if applicable,
        but the raw version will be put in
        environ['paste.parsed_formvars'].

        Returns a ``MultiDict`` container or a ``UnicodeMultiDict`` when
        ``charset`` is set.
        RG   R'   RH   (   RL   R&   R   R'   R)   (   R   RI   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   POST   s    
	c         C   sh   t    } | i |  i    | i |  i    |  i o+ t | d |  i d |  i d |  i } n | S(   s  Dictionary-like object of keys from POST, GET, URL dicts

        Return a key value from the parameters, they are checked in the
        following order: POST, GET, URL

        Additional methods supported:

        ``getlist(key)``
            Returns a list of all the values by that key, collected from
            POST, GET, URL dicts

        Returns a ``MultiDict`` container or a ``UnicodeMultiDict`` when
        ``charset`` is set.
        RG   R'   RH   (   R   t   updateRL   RF   R&   R   R'   R)   (   R   RI   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyRI      s    	
	c         C   s   t  |  i  S(   sz   Dictionary of cookies keyed by cookie name.

        Just a plain dictionary, may be empty but not None.
        
        (   R   R    (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   cookies   s    c         C   s:   t  i |  i i d d   } | o | i d  Sn d S(   s   
        Determine the encoding as specified by the browser via the
        Content-Type's charset parameter, if one is set
        s   Content-TypeR   i   N(   t   _CHARSET_REt   searchR,   R.   t   group(   R   t   charset_match(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR/      s    c         C   s   t  | |  i i d d   S(   sq   Return a list of specified mime-types that the browser's HTTP Accept
        header allows in the order provided.t   HTTP_ACCEPTs   */*(   R   R    R.   (   R   t	   mimetypes(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   match_accept  s    c         C   s	  t  } d |  i i |  i i t |   | |  i  f } | d | |  i  | |  i  | |  i  | |  i	  f 7} | d | |  i
  7} |  i o* | d | |  i  | |  i  f 7} n | d | |  i  7} | d | |  i  7} | d | |  i  7} | S(   s,   Show important attributes of the WSGIRequests    <%s.%s object at 0x%x method=%s,s2   
scheme=%s, host=%s, script_name=%s, path_info=%s,s   
languages=%s,s    charset=%s, errors=%s,s   
GET=%s,s	   
POST=%s,s   
cookies=%s>(   R    t	   __class__R   R   t   idt   methodt   schemeR=   t   script_namet	   path_infoRE   R&   R'   RJ   RM   RO   (   R   t   pft   msg(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR$     s    $
N(   R   R   R%   R   t   dictR   R0   R   R   R   t   bodyRZ   RY   R[   R\   R6   t   propertyR:   R=   RE   RF   RJ   RL   RM   RI   RO   R/   RV   R$   (    (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR   9   s>   ,														c           B   s^  e  Z d  Z e d e d d d d d d d h  d	 d
 <  Z d d$ d d  Z d   Z d   Z	 d   Z
 d   Z d d$ d$ d d$ d$ d$ d  Z d d$ d  Z d   Z e d   e d d Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d    Z e e e e d e i Z d!   Z d"   Z d#   Z e e e e d e i Z RS(%   s  A basic HTTP response with content, headers, and out-bound cookies

    The class variable ``defaults`` specifies default values for
    ``content_type``, ``charset`` and ``errors``. These can be overridden
    for the current request via the registry.

    R   t   content_types	   text/htmlR&   s   utf-8R'   R+   R,   s   no-caches   Cache-ControlR   i   c         C   s   d  |  _ t |  _ | |  _ t   |  _ t   |  _ | |  _	 |  i
 i   } | p@ | i d d  } | i d  } | o d | | f } q n |  i i | i d h    | |  i d <| i d d  |  _ d  S(	   NRb   s	   text/htmlR&   s   %s; charset=%sR,   s   Content-TypeR'   R+   (   R   t   _itert   Truet   _is_str_itert   contentR	   R,   R   RO   t   status_codeR   R-   R.   RN   R'   (   R   Rf   t   mimetypet   codeR   R&   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR   ,  s    				c         C   s{   |  i  o d i |  i    } n t |  i  } d i g  } |  i i   D] \ } } | d | | f qL ~  d | S(   s   Returns a rendition of the full HTTP message, including headers.

        When the content is an iterator, the actual content is replaced with the
        output of str(iterator) (to avoid exhausting the iterator).
        R   s   
s   %s: %ss   

(   Re   t   joint   get_contentt   strRf   R,   t   headeritems(   R   Rf   t   _[1]R   t   value(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   __str__?  s    
c            s   t    i } d   i | f }   i i   } x6   i i   D]% } | i d | i d d  f  q? W| | |  t   i	 t
  } d | j o | o | d   i	  Sn" | o t   f d   d  Sn   i   S(   s  Convenience call to return output and set status information
        
        Conforms to the WSGI interface for calling purposes only.
        
        Example usage:
        
        .. code-block:: python

            def wsgi_app(environ, start_response):
                response = WSGIResponse()
                response.write("Hello world")
                response.headers['Content-Type'] = 'latin1'
                return response(environ, start_response)
        
        s   %s %ss
   Set-Cookiet   headerR   s   wsgi.file_wrapperc              s     i  i   S(    (   Rf   t   read(    (   R   (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   <lambda>g  s    (   t   STATUS_CODE_TEXTRg   R,   Rm   RO   t   valuesR@   t   outputt
   isinstanceRf   t   filet   iterRk   (   R   R    t   start_responset   status_textt   statust   response_headerst   ct   is_file(    (   R   sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   __call__M  s     #c         C   s:   t  i |  i i d d   } | o | i d  Sn d S(   st   
        Determine the encoding as specified by the Content-Type's charset
        parameter, if one is set
        s   Content-TypeR   i   N(   RP   RQ   R,   R.   RR   (   R   RS   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   determine_charsetj  s    c         C   s#   t  i d t d  |  i i |  S(   s5   
        Case-insensitive check for a header
        sO   WSGIResponse.has_header is deprecated, use WSGIResponse.headers.has_key insteadi   (   R   R   R   R,   t   has_key(   R   Rq   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt
   has_headers  s    	t   /c	         C   s   | |  i  | <x d | f d | f d | f d | f d | f d | f g D]G \ }	 }
 |
 d	 j	 o. |
 t j	 o! |
 |  i  | |	 i d d  <qJ qJ Wd	 S(
   sJ   
        Define a cookie to be sent via the outgoing HTTP headers
        t   max_aget   patht   domaint   securet   expirest   httponlyt   _t   -N(   RO   R   R0   R(   (   R   R   Ro   R   R   R   R   R   R   t   var_namet	   var_value(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt
   set_cookie|  s     c         C   sw   d |  i  | <| d j	 o | |  i  | d <n | d j	 o | |  i  | d <n d |  i  | d <d |  i  | d <d S(   s   
        Notify the browser the specified cookie has expired and should be
        deleted (via the outgoing HTTP headers)
        R   R   R   i    R   s   max-ageN(   RO   R   (   R   R   R   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   delete_cookie  s    c         C   s\   t  | d  o3 | |  _ t | t  o t |  _ qX t |  _ n | g |  _ t |  _ d  S(   Nt   __iter__(   t   hasattrRc   Rw   t   listRd   Re   R0   (   R   Rf   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   _set_content  s    	c         C   s   |  i  S(    (   Rc   (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyRs     s    R7   s   Get/set the specified content, where content can be: a string, a list of strings, a generator function that yields strings, or an iterable object that produces strings.c         C   s8   |  i    } | o t |  i | |  i  Sn |  i Sd S(   s   
        Returns the content as an iterable of strings, encoding each element of
        the iterator from a Unicode object if necessary.
        N(   R   R
   Rf   R'   (   R   R&   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyRk     s    c         C   s{   t  |  i } d |  i | f } |  i i   } x6 |  i i   D]% } | i d | i d d  f  q? W| | |  i   f S(   s|   
        Return this WSGIResponse as a tuple of WSGI formatted data, including:
        (status, headers, iterable)
        s   %s %ss
   Set-CookieRq   R   (	   Rt   Rg   R,   Rm   RO   Ru   R@   Rv   Rk   (   R   R{   R|   R}   R~   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   wsgi_response  s     #c         C   s5   |  i  p t d |  i i  n |  i i |  d  S(   NsD   This %s instance's content is not writable: (content is an iterator)(   Re   t   IOErrorRW   R   Rf   R@   (   R   Rf   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   write  s    
c         C   s   d  S(   N(    (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   flush  s    c         C   sO   |  i  p t d |  i i  n t g  } |  i D] } | t |  q2 ~  S(   NsC   This %s instance cannot tell its position: (content is an iterator)(   Re   R   RW   R   t   sumRc   t   len(   R   Rn   t   chunk(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   tell  s    
c         C   sL   |  i  i d  } | p d Sn t i |  } | o | i d  Sn d S(   s;   
        Get/set the charset (in the Content-Type)
        s   content-typei   N(   R,   R.   R   RP   RQ   RR   (   R   Rq   t   match(    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   charset__get  s    c         C   s   | d  j o |  ` d  Sn y |  i i d  } Wn t j
 o t d   n Xt i |  } | o" | | i    | | i	   } n | d | 7} | |  i d <d  S(   Ns   content-types:   You cannot set the charset when no content-type is defineds   ; charset=%s(
   R   R&   R,   t   popt   KeyErrort   AttributeErrorRP   RQ   t   startt   end(   R   R&   Rq   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   charset__set  s    "c         C   sy   y |  i  i d  } Wn t j
 o d  Sn Xt i |  } | o" | | i    | | i   } n | |  i  d <d  S(   Ns   content-type(   R,   R   R   RP   RQ   R   R   (   R   Rq   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   charset__del  s    	"c         C   s5   |  i  i d  } | p d Sn | i d d  d S(   s  
        Get/set the Content-Type header (or None), *without* the
        charset or any parameters.

        If you include parameters (or ``;`` at all) when setting the
        content_type, any existing parameters will be deleted;
        otherwise they will be preserved.
        s   content-typet   ;i   i    N(   R,   R.   R   t   split(   R   Rq   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   content_type__get  s    	c         C   sl   d | j oN |  i  i d d  } d | j o( | i d d  d } | d | 7} q[ n | |  i  d <d  S(   NR   s   content-typeR   i   (   R,   R.   R   (   R   Ro   Rq   RI   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   content_type__set  s    c         C   s(   y |  i  d =Wn t j
 o n Xd  S(   Ns   content-type(   R,   R   (   R   (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyt   content_type__del  s    N(   R   R   R%   R   R_   R   R   R   Rp   R   R   R   R   R   R   Ra   Rf   Rk   R   R   R   R   R   R   R   R&   R   R   R   Rb   (    (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pyR      s:   							
														t   CONTINUEid   s   SWITCHING PROTOCOLSie   t   OKi   t   CREATEDi   t   ACCEPTEDi   s   NON-AUTHORITATIVE INFORMATIONi   s
   NO CONTENTi   s   RESET CONTENTi   s   PARTIAL CONTENTi   s   IM USEDi   s   MULTIPLE CHOICESi,  s   MOVED PERMANENTLYi-  t   FOUNDi.  s	   SEE OTHERi/  s   NOT MODIFIEDi0  s	   USE PROXYi1  t   RESERVEDi2  s   TEMPORARY REDIRECTi3  s   BAD REQUESTi  t   UNAUTHORIZEDi  s   PAYMENT REQUIREDi  t	   FORBIDDENi  s	   NOT FOUNDi  s   METHOD NOT ALLOWEDi  s   NOT ACCEPTABLEi  s   PROXY AUTHENTICATION REQUIREDi  s   REQUEST TIMEOUTi  t   CONFLICTi  t   GONEi  s   LENGTH REQUIREDi  s   PRECONDITION FAILEDi  s   REQUEST ENTITY TOO LARGEi  s   REQUEST-URI TOO LONGi  s   UNSUPPORTED MEDIA TYPEi  s   REQUESTED RANGE NOT SATISFIABLEi  s   EXPECTATION FAILEDi  s   INTERNAL SERVER ERRORi  s   NOT IMPLEMENTEDi  s   BAD GATEWAYi  s   SERVICE UNAVAILABLEi  s   GATEWAY TIMEOUTi  s   HTTP VERSION NOT SUPPORTEDi  (%   R%   t   reR   t   pprintR    t   CookieR   t   paste.requestR   R   R   R   t   paste.util.multidictR   R   t   paste.registryR   t   paste.responseR	   t   paste.wsgilibR
   t   paste.httpheadersR   t   paste.util.mimeparseR   t   __all__t   compilet   IRP   R   R_   t   settingst   objectR   R   R   Rt   (    (    (    sa   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/Paste-1.7.5.1-py2.5.egg/paste/wsgiwrappers.pys   <module>   sz   "																																										