+
    Di.                     b   ^ RI t ^ RIHt ^ RIHt ^ RIHtHtHt ^RI	H
t
Ht ^RIHtHt ^RIHtHtHt . ROt] P(                  ! ]
P*                  ! R4      4      t] P(                  ! ]P*                  ! R4      4      t ! R R]4      t]! RRR7       ! R R	]4      4       t]! RRR7       ! R R]4      4       t]! RRR7       ! R R
]4      4       t]! RRR7       ! R R]4      4       t]! RRR7       ! R R]4      4       t]! RRR7       ! R R]4      4       t]! RR7       ! R R]4      4       tR# )    N)ABC)	dataclass)ListTupleUnion)methodrequest_target)Headersnormalize_and_validate)bytesifyLocalProtocolErrorvalidateEventRequestInformationalResponseResponseDataEndOfMessageConnectionClosedasciic                       ] tR t^ tRtRtRtR# )r   z
Base class for h11 events.
 N)__name__
__module____qualname____firstlineno____doc__	__slots____static_attributes__r       i/Users/tonyclaw/.openclaw/workspace/services/omi-webhook/venv/lib/python3.14/site-packages/h11/_events.pyr   r       s     Ir    FT)initfrozenc                   b   a a ] tR t^(t oRtRtRRRR/V3R lV 3R llltRtV3R	 ltR
t	Vt
V ;t# )r   a  The beginning of an HTTP request.

Fields:

.. attribute:: method

   An HTTP method, e.g. ``b"GET"`` or ``b"POST"``. Always a byte
   string. :term:`Bytes-like objects <bytes-like object>` and native
   strings containing only ascii characters will be automatically
   converted to byte strings.

.. attribute:: target

   The target of an HTTP request, e.g. ``b"/index.html"``, or one of the
   more exotic formats described in `RFC 7320, section 5.3
   <https://tools.ietf.org/html/rfc7230#section-5.3>`_. Always a byte
   string. :term:`Bytes-like objects <bytes-like object>` and native
   strings containing only ascii characters will be automatically
   converted to byte strings.

.. attribute:: headers

   Request headers, represented as a list of (name, value) pairs. See
   :ref:`the header normalization rules <headers-format>` for details.

.. attribute:: http_version

   The HTTP protocol version, represented as a byte string like
   ``b"1.1"``. See :ref:`the HTTP version normalization rules
   <http_version-format>` for details.

http_version   1.1_parsedFc                   < V ^8  d   QhRS[ S[S[3,          RS[ S[S[S[S[S[3,          ,          S[S[S[S[3,          ,          3,          RS[ S[S[3,          RS[ S[S[3,          RS[RR/# )   r   headerstargetr%   r'   returnN)r   bytesstrr
   r   r   bool)format__classdict__s   "r!   __annotate__Request.__annotate__R   s     (N (N eSj!(N wU5%<%8 94c3h;PPQ	(N
 eSj!(N E3J'(N (N 
(Nr    c          	     F  < \         S	V `  4        \        V\        4      '       d   \        P                  V R V4       M!\        P                  V R \        W%R7      4       V'       gb   \        P                  V R\        V4      4       \        P                  V R\        V4      4       \        P                  V R\        V4      4       ME\        P                  V RV4       \        P                  V RV4       \        P                  V RV4       ^ pV P                   F  w  rxVR8X  g   K  V^,          pK  	  V P                  R8X  d   V^ 8X  d   \        R4      hV^8  d   \        R4      h\        \        V P                  R	4       \        \        V P                  R
4       R# )r*   r'   r   r+   r%   s   hostr&   zMissing mandatory Host: headerzFound multiple Host: headerszIllegal method characterszIllegal target charactersN)super__init__
isinstancer
   object__setattr__r   r   r*   r%   r   r   	method_rer   request_target_rer+   )
selfr   r*   r+   r%   r'   
host_countnamevalue	__class__s
   &$$$$$   r!   r7   Request.__init__R   sI    	gw''tY8i!7!Q tXx/?@tXx/?@t^Xl5KLtXv6tXv6t^\B 
<<KDwa
 ( &:?$%EFF>$%CDDDKK)DE"DKK1LMr    Nc                J   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[ ;R&   S[ ;R&   # )r)   r   r*   r+   r%   )r-   r
   )r0   r1   s   "r!   r2   r3   (   s?     J MK L M N MO P Q r    r   )r   r*   r+   r%   r   r   r   r   r   r   r7   __hash____annotate_func__r   __classdictcell____classcell__rA   r1   s   @@r!   r   r   (   sE     B @I(N +1(N (N (NV Hk  r    c                   t   a a ] tR t^t oRtRRRRRR/V3R lV 3R llltV3R	 lR
 ltRtV3R ltRt	Vt
V ;t# )_ResponseBaser%   reasonr&   r    r'   Fc                   < V ^8  d   QhRS[ S[S[S[S[S[3,          ,          S[S[S[S[3,          ,          3,          RS[RS[ S[S[3,          RS[ S[S[3,          RS[RR/# )r)   r*   status_coder%   rL   r'   r,   N)r   r
   r   r   r-   r.   intr/   )r0   r1   s   "r!   r2   _ResponseBase.__annotate__   s       wU5%<%8 94c3h;PPQ 	
 E3J' eSj!  
r    c          	       < \         SV `  4        \        V\        4      '       d   \        P                  V R V4       M!\        P                  V R \        WR7      4       V'       g   \        P                  V R\        V4      4       \        P                  V R\        V4      4       \        V\        4      '       g   \        R4      h\        P                  V R\        V4      4       ME\        P                  V RV4       \        P                  V RV4       \        P                  V RV4       V P                  4        R# )r*   r5   rL   r%   zstatus code must be integerrN   N)r6   r7   r8   r
   r9   r:   r   r   rO   r   __post_init__)r=   r*   rN   r%   rL   r'   rA   s   &$$$$$r!   r7   _ResponseBase.__init__   s     	gw''tY8i!7!Q tXx/?@t^Xl5KLk3//()FGG t]C4DEtXv6t^\Bt]K@r    c                   < V ^8  d   QhRR/# r)   r,   Nr   )r0   r1   s   "r!   r2   rP      s      t r    c                    R # )Nr   r=   s   &r!   rR   _ResponseBase.__post_init__   s    r    Nc                J   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   # )r)   r*   r%   rL   rN   )r
   r-   rO   )r0   r1   s   "r!   r2   rP      s8      	 
   M   r    r   )r*   r%   rL   rN   )r   r   r   r   r   r7   rR   rE   rF   r   rG   rH   rI   s   @@r!   rK   rK      sK     DI
 +1 %(  >  HY  r    rK   c                   :   a  ] tR t^t o RtV 3R lR ltRtRtV tR# )r   a  An HTTP informational response.

Fields:

.. attribute:: status_code

   The status code of this response, as an integer. For an
   :class:`InformationalResponse`, this is always in the range [100,
   200).

.. attribute:: headers

   Request headers, represented as a list of (name, value) pairs. See
   :ref:`the header normalization rules <headers-format>` for
   details.

.. attribute:: http_version

   The HTTP protocol version, represented as a byte string like
   ``b"1.1"``. See :ref:`the HTTP version normalization rules
   <http_version-format>` for details.

.. attribute:: reason

   The reason phrase of this response, as a byte string. For example:
   ``b"OK"``, or ``b"Not Found"``.

c                   < V ^8  d   QhRR/# rU   r   )r0   r1   s   "r!   r2   "InformationalResponse.__annotate__   s      t r    c                    ^dV P                   u;8:  d   ^8  g'   M \        RP                  V P                   4      4      hR# )d   zGInformationalResponse status_code should be in range [100, 200), not {}NrN   r   r0   rW   s   &r!   rR   #InformationalResponse.__post_init__   s<    t''-#-$%%+VD,<,<%=  .r    Nr   	r   r   r   r   r   rR   rE   r   rG   r1   s   @r!   r   r      s     :  Hr    c                   :   a  ] tR t^t o RtV 3R lR ltRtRtV tR# )r   a  The beginning of an HTTP response.

Fields:

.. attribute:: status_code

   The status code of this response, as an integer. For an
   :class:`Response`, this is always in the range [200,
   1000).

.. attribute:: headers

   Request headers, represented as a list of (name, value) pairs. See
   :ref:`the header normalization rules <headers-format>` for details.

.. attribute:: http_version

   The HTTP protocol version, represented as a byte string like
   ``b"1.1"``. See :ref:`the HTTP version normalization rules
   <http_version-format>` for details.

.. attribute:: reason

   The reason phrase of this response, as a byte string. For example:
   ``b"OK"``, or ``b"Not Found"``.

c                   < V ^8  d   QhRR/# rU   r   )r0   r1   s   "r!   r2   Response.__annotate__   s      t r    c                    ^V P                   u;8:  d   R8  g'   M \        RP                  V P                   4      4      hR# )   i  z;Response status_code should be in range [200, 1000), not {}Nr_   rW   s   &r!   rR   Response.__post_init__   s>    t''.$.$MTT$$  /r    Nr   ra   rb   s   @r!   r   r      s     8  Hr    c                   N   a  ] tR tRt o RtRtR	V 3R lR lltRtV 3R ltRt	V t
R# )
r   i  a  Part of an HTTP message body.

Fields:

.. attribute:: data

   A :term:`bytes-like object` containing part of a message body. Or, if
   using the ``combine=False`` argument to :meth:`Connection.send`, then
   any object that your socket writing code knows what to do with, and for
   which calling :func:`len` returns the number of bytes that will be
   written -- see :ref:`sendfile` for details.

.. attribute:: chunk_start

   A marker that indicates whether this data object is from the start of a
   chunked transfer encoding chunk. This field is ignored when when a Data
   event is provided to :meth:`Connection.send`: it is only valid on
   events emitted from :meth:`Connection.next_event`. You probably
   shouldn't use this attribute at all; see
   :ref:`chunk-delimiters-are-bad` for details.

.. attribute:: chunk_end

   A marker that indicates whether this data object is the last for a
   given chunked transfer encoding chunk. This field is ignored when when
   a Data event is provided to :meth:`Connection.send`: it is only valid
   on events emitted from :meth:`Connection.next_event`. You probably
   shouldn't use this attribute at all; see
   :ref:`chunk-delimiters-are-bad` for details.

c                0   < V ^8  d   QhRS[ RS[RS[RR/# )r)   datachunk_start	chunk_endr,   Nr-   r/   )r0   r1   s   "r!   r2   Data.__annotate__+  s-     9 99(,9AE9	9r    c                    \         P                  V R V4       \         P                  V RV4       \         P                  V RV4       R# )rk   rl   rm   N)r9   r:   )r=   rk   rl   rm   s   &&&&r!   r7   Data.__init__+  s:     	4.4<4i8r    Nc                >   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )r)   rk   rl   rm   rn   )r0   r1   s   "r!   r2   ro     s0     H KI J K L OM r    r   )rk   rl   rm   )FF)r   r   r   r   r   r   r7   rE   rF   r   rG   rb   s   @r!   r   r     s+     @ 5I9 9 Ha  r    c                   b   a a ] tR tRt oRtRtRRRR/V3R lV 3R llltRtV3R	 ltR
t	Vt
V ;t# )r   i;  aJ  The end of an HTTP message.

Fields:

.. attribute:: headers

   Default value: ``[]``

   Any trailing headers attached to this message, represented as a list of
   (name, value) pairs. See :ref:`the header normalization rules
   <headers-format>` for details.

   Must be empty unless ``Transfer-Encoding: chunked`` is in use.

r*   Nr'   Fc                   < V ^8  d   QhRS[ S[S[S[S[S[3,          ,          S[S[S[S[3,          ,          R3,          RS[RR/# )r)   r*   Nr'   r,   )r   r
   r   r   r-   r.   r/   )r0   r1   s   "r!   r2   EndOfMessage.__annotate__Q  sW     5 5 T%u-.U38_0EtK
5 5 
5r    c                  < \         SV `  4        Vf   \        . 4      pM"\        V\        4      '       g   \	        WR7      p\
        P                  V RV4       R # )Nr5   r*   )r6   r7   r
   r8   r   r9   r:   )r=   r*   r'   rA   s   &$$r!   r7   EndOfMessage.__init__Q  sG     	?bkGGW--,WFG4G4r    c                &   < V ^8  d   Qh/ S[ ;R&   # )r)   r*   )r
   )r0   r1   s   "r!   r2   ru   ;  s     ( ) r    r   )r*   rD   rI   s   @@r!   r   r   ;  s>       I5
 5 5 5" HO  r    )r#   c                       ] tR tRtRtRtR# )r   ie  a)  This event indicates that the sender has closed their outgoing
connection.

Note that this does not necessarily mean that they can't *receive* further
data, because TCP connections are composed to two one-way channels which
can be closed independently. See :ref:`closing` for details.

No fields.
r   N)r   r   r   r   r   r   r   r    r!   r   r   e  s     	r    )r   r   r   r   r   r   r   ) reabcr   dataclassesr   typingr   r   r   _abnfr   r	   _headersr
   r   _utilr   r   r   __all__compileencoder;   r<   r   r   rK   r   r   r   r   r   r   r    r!   <module>r      s]   
  ! % % ) 5 9 9 JJv}}W-.	JJ~44W=> C  d#Te T $Tn d#+E + $+\ d#&M & $&R d#&} & $&R d#/5 / $/n d#&5 & $&R $	u 	 	r    