Ë
    oj¿  ã                   ó´   — d Z dZddlmZ ddlmZ ddlmZmZ ddl	m
Z
mZ ddlmZmZ  G d„ d	e«      Zd
edededefd„Z	 	 ddedede
fd„Z	 ddedede
fd„Zy)z*
Utility implementations of L{IResource}.
)Ú	errorPageÚnotFoundÚ	forbiddené    )Úcast)Úhttp)ÚIRenderableÚIRequest)Ú	IResourceÚResource)ÚrenderElementÚtagsc                   óX   ‡ — e Zd ZdZdedededdfˆ fd„Zdedefd	„Z	d
e
dedefd„Zˆ xZS )Ú
_ErrorPagea!  
    L{_ErrorPage} is a resource that responds to all requests with a particular
    (parameterized) HTTP status code and an HTML body containing some
    descriptive text. This is useful for rendering simple error pages.

    @see: L{twisted.web.pages.errorPage}

    @ivar _code: An integer HTTP status code which will be used for the
        response.

    @ivar _brief: A short string which will be included in the response body as
        the page title.

    @ivar _detail: A longer string which will be included in the response body.
    ÚcodeÚbriefÚdetailÚreturnNc                 óL   •— t         ‰| �  «        || _        || _        || _        y )N)ÚsuperÚ__init__Ú_codeÚ_briefÚ_detail)Úselfr   r   r   Ú	__class__s       €ú3/usr/lib/python3/dist-packages/twisted/web/pages.pyr   z_ErrorPage.__init__(   s#   ø€ Ü‰ÑÔØˆŒ
Ø ˆŒØ"ˆ�ó    Úrequestc                 óÒ  — |j                  | j                  «       |j                  dd«       t        |t	        t
        t        j                  t        j                  t        j                  | j                  › d| j                  › �«      «      t        j                  t        j                  | j                  «      t        j                  | j                  «      «      «      «      «      S )zŠ
        Respond to all requests with the given HTTP status code and an HTML
        document containing the explanatory strings.
        s   content-types   text/html; charset=utf-8z - )ÚsetResponseCoder   Ú	setHeaderr   r   r   r   ÚhtmlÚheadÚtitler   ÚbodyÚh1Úpr   )r   r   s     r   Úrenderz_ErrorPage.render.   s    € ð
 	×Ñ §
¡
Ô+Ø×Ñ˜/Ð+FÔGÜØô ÜÜ—	‘	Ü—I‘IœdŸj™j¨D¯J©J¨<°s¸4¿;¹;¸-Ð)HÓIÓJÜ—I‘IœdŸg™g d§k¡kÓ2´D·F±F¸4¿<¹<Ó4HÓIóóó
ð 	
r   Úpathc                 ó   — | S )z½
        Handle all requests for which L{_ErrorPage} lacks a child by returning
        this error page.

        @param path: A path segment.

        @param request: HTTP request
        © )r   r)   r   s      r   ÚgetChildz_ErrorPage.getChildC   s	   € ð ˆr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚintÚstrr   r	   Úobjectr(   Úbytesr   r,   Ú__classcell__)r   s   @r   r   r      sV   ø„ ñð #˜Sð #¨ð #°cð #¸dõ #ð
˜hð 
¨6ó 
ð*	˜Uð 	¨Xð 	¸(÷ 	r   r   r   r   r   r   c                 ó   — t        | ||«      S )az  
    Build a resource that responds to all requests with a particular HTTP
    status code and an HTML body containing some descriptive text. This is
    useful for rendering simple error pages.

    The resource dynamically handles all paths below it. Use
    L{IResource.putChild()} to override a specific path.

    @param code: An integer HTTP status code which will be used for the
        response.

    @param brief: A short string which will be included in the response
        body as the page title.

    @param detail: A longer string which will be included in the
        response body.

    @returns: An L{IResource}
    )r   )r   r   r   s      r   r   r   O   s   € ô( �d˜E 6Ó*Ð*r   Úmessagec                 ó8   — t        t        j                  | |«      S )a  
    Generate an L{IResource} with a 404 Not Found status code.

    @see: L{twisted.web.pages.errorPage}

    @param brief: A short string displayed as the page title.

    @param brief: A longer string displayed in the page body.

    @returns: An L{IResource}
    )r   r   Ú	NOT_FOUND©r   r7   s     r   r   r   f   s   € ô ”d—n‘n e¨WÓ5Ð5r   c                 ó8   — t        t        j                  | |«      S )a  
    Generate an L{IResource} with a 403 Forbidden status code.

    @see: L{twisted.web.pages.errorPage}

    @param brief: A short string displayed as the page title.

    @param brief: A longer string displayed in the page body.

    @returns: An L{IResource}
    )r   r   Ú	FORBIDDENr:   s     r   r   r   x   s   € ô ”d—n‘n e¨WÓ5Ð5r   N)zNo Such Resourcez%Sorry. No luck finding that resource.)zForbidden ResourcezSorry, resource is forbidden.)r0   Ú__all__Útypingr   Útwisted.webr   Útwisted.web.iwebr   r	   Útwisted.web.resourcer
   r   Útwisted.web.templater   r   r   r1   r2   r   r   r   r+   r   r   ú<module>rC      sš   ðñ
ð€õ å ß 2ß 4ß 4ô5�ô 5ðp+�Cð + ð +¨Sð +°Zó +ð0 $Ø:ñ6Øð6àð6ð ó6ð& 7Vñ6Øð6Ø03ð6àô6r   