target = "https://www.rfc-editor.org/rfc/rfc9000#section-11" # 11. Error Handling # # An endpoint that detects an error SHOULD signal the existence of that # error to its peer. Both transport-level and application-level errors # can affect an entire connection; see Section 11.1. Only application- # level errors can be isolated to a single stream; see Section 11.2. # # The most appropriate error code (Section 20) SHOULD be included in # the frame that signals the error. Where this specification # identifies error conditions, it also identifies the error code that # is used; though these are worded as requirements, different # implementation strategies might lead to different errors being # reported. In particular, an endpoint MAY use any applicable error # code when it detects an error condition; a generic error code (such # as PROTOCOL_VIOLATION or INTERNAL_ERROR) can always be used in place # of specific error codes. # # A stateless reset (Section 10.3) is not suitable for any error that # can be signaled with a CONNECTION_CLOSE or RESET_STREAM frame. A # stateless reset MUST NOT be used by an endpoint that has the state # necessary to send a frame on the connection. [[spec]] level = "SHOULD" quote = ''' An endpoint that detects an error SHOULD signal the existence of that error to its peer. ''' [[spec]] level = "SHOULD" quote = ''' The most appropriate error code (Section 20) SHOULD be included in the frame that signals the error. ''' [[spec]] level = "MAY" quote = ''' In particular, an endpoint MAY use any applicable error code when it detects an error condition; a generic error code (such as PROTOCOL_VIOLATION or INTERNAL_ERROR) can always be used in place of specific error codes. ''' [[spec]] level = "MUST" quote = ''' A stateless reset MUST NOT be used by an endpoint that has the state necessary to send a frame on the connection. '''