{"features":["core-executable"],"imports":[{"contentHash":"sha256:908bc6665c19d788078db551bca3439adf4dec945b14b5cd20d219602afa13e0","features":["core-executable"],"package":{"name":"ietf.bcp14","namespace":"urn:ietf:clir:bcp14","semanticHash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","version":"0.1.0"}}],"metadata":{"localSources":{"urn:ietf:clir:http-framing#RFC2616_EN_TEXT":"sources/rfc2616/en.txt","urn:ietf:clir:http-framing#RFC7230_EN_TEXT":"sources/rfc7230/en.txt","urn:ietf:clir:http-framing#RFC9112_EN_TEXT":"sources/rfc9112/en.txt"}},"nodes":[{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#received_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#request_with_body_without_content_length"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#accepted_without_length"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:303a5399df67fc6f0bf4c65b5d5d16bcfb770fa5b054cc914fca0c76a8466a6d","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RESPOND_400_OR_411_2616","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#AcceptingBodyWithoutLengthDeviates2616","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"if a request contains a message-body and a Content-Length is not given, the server SHOULD respond with 400 or 411"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#has_transfer_encoding"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#has_content_length"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:c2629cce1aaa3b3bf28ef85a6b985f0f60fd2710c947846d35d83030b702d99c","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"id":"urn:ietf:clir:http-framing#BothFramingFieldsPresent","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"a message with both a Transfer-Encoding and a Content-Length header field"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:bbb2a4550a96dafcd8d5e3f34804e15aa248559bf060ea464be53bb5d94a6612","id":"urn:ietf:clir:http-framing#CL_IGNORED_ON_RECEIPT_2616","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"if a message is received with both a Transfer-Encoding and a Content-Length header field, the latter MUST be ignored (RFC 2616, Section 4.4)"}],"name":"CL_IGNORED_ON_RECEIPT_2616","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:2616#section-4_4-content-length-ignored","kind":"entity_ref"}},{"contentHash":"sha256:a2914387c9358960773b54d8e60ce14e67552dbee8e6ca5c50262d2cc6163d64","id":"urn:ietf:clir:http-framing#CL_NOT_SENT_WITH_TE_2616","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the Content-Length header field MUST NOT be sent if a Transfer-Encoding header field is present (RFC 2616, Section 4.4)"}],"name":"CL_NOT_SENT_WITH_TE_2616","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:2616#section-4_4-content-length-not-sent","kind":"entity_ref"}},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#absolute_requirement"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#subject_to"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#claims_conformance"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:25e008464bbffd2d4c7eb7da31fbde978b0efbb8d9a81a57772e3edd540d71fa","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#compliant"},"id":"urn:ietf:clir:http-framing#ComplianceIsPresumed","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"an implementation subject to a MUST or REQUIRED level requirement is taken to be compliant until a failure is shown"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"defeasible","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"ietf.bcp14#Requirement"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#compliant"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"negative","predicate":"urn:ietf:clir:http-framing#unconditionally_compliant"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:4bde25473451dbf61ff4162d0a26bc64526be9f256d4a661d90f58834fb3e09a","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#conditionally_compliant"},"id":"urn:ietf:clir:http-framing#ConditionalComplianceIsTheMiddleTerm","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"one that satisfies all the MUST level requirements but not all the SHOULD level requirements is said to be conditionally compliant"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"defeasible","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#forwarded_downstream"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#kept_content_length_when_forwarding"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:32bdf941761c596e329dc8484d82bd575a68afcae79c3bfa54b74c85e5a2fa13","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#REMOVE_CL_BEFORE_FORWARDING_7230","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#ForwardingWithContentLengthDeviates7230","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"a sender MUST remove the received Content-Length field prior to forwarding such a message downstream"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#removed_content_length_before_forwarding"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#forwarded_downstream"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:b5755de40863119ce0acd9c5060b1fdaeffa7c53a168303a52f9868a6d4213b6","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#REMOVE_CL_BEFORE_FORWARDING_7230","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_conforms"},"id":"urn:ietf:clir:http-framing#ForwardingWithoutContentLengthConforms7230","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"removing the received Content-Length field before forwarding conforms to Section 3.3.3"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:77f423b1b549b2c3e99cf62553338c293e596fa5b470d624e83f23a2db7615a9","id":"urn:ietf:clir:http-framing#FramingRole","kind":"type_decl","labels":[{"language":"en","status":"official","text":"the role in which a participant is addressed by a framing requirement"}],"name":"FramingRole","package":"urn:ietf:clir:http-framing","typeKind":"entity"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#Sender","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#acts_as"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#generated_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:8795fb74162b5340fc07b61453888e510aa4bbbe31944864406c101457691375","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#CL_NOT_SENT_WITH_TE_2616","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#GeneratingBothFieldsDeviates2616","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"the Content-Length header field MUST NOT be sent if a Transfer-Encoding header field is present"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:e81eae3540bdff482226b4158774782bfa34529fe7f5ea65a1bd195abd00789c","id":"urn:ietf:clir:http-framing#HttpMessage","kind":"type_decl","labels":[{"language":"en","status":"official","text":"an HTTP/1.1 message"}],"name":"HttpMessage","package":"urn:ietf:clir:http-framing","typeKind":"entity"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#received_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#ignored_content_length"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:305bde8f1596fac52e442de6691aceeb973f098cf8a21dd70a723cbd3c0265ea","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#CL_IGNORED_ON_RECEIPT_2616","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_conforms"},"id":"urn:ietf:clir:http-framing#IgnoringContentLengthConforms2616","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"if a message is received with both fields, the latter MUST be ignored"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#generated_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:8e28875d4fdf713fa75339c4393159e34c09ca9125427ac02e1c69bf87137e14","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#MESSAGE_MUST_NOT_INCLUDE_BOTH_2616","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#IncludingBothFieldsDeviates2616","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:e8b5c09f608faa1ba0291b51aca2f34923c8562502682a5804675eb19494e365","id":"urn:ietf:clir:http-framing#Intermediary","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"an intermediary"}],"name":"Intermediary","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"urn:ietf:clir:http-framing#FramingRole"},"symbolKind":"constant","value":{"id":"urn:ietf:clir:http-framing#Intermediary","kind":"entity_ref"}},{"anchors":["urn:ietf:clir:http-framing#RFC9112_S6_3"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#forwarded_downstream"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#kept_content_length_when_forwarding"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#Intermediary","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#acts_as"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:d74ac1deb242cdabe3554d8730cbd7675d15de61eace4e375bc67b322f4b3428","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#REMOVE_CL_AND_PROCESS_TE_9112","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#IntermediaryForwardingWithContentLengthDeviates9112","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"an intermediary that chooses to forward the message MUST first remove the received Content-Length field prior to forwarding the message downstream"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC9112_S6_3"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#removed_content_length_before_forwarding"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#forwarded_downstream"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#Intermediary","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#acts_as"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:9598a4591ae1ce750a48307338da9b6ffd5501058135b15feffb3c4ae0a7503b","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#REMOVE_CL_AND_PROCESS_TE_9112","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_conforms"},"id":"urn:ietf:clir:http-framing#IntermediaryRemovingContentLengthConforms9112","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"removing the received Content-Length field before forwarding conforms to Section 6.3"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:110eefb6e375ed496d0bdf370ca832f4b2849ee17cf116f9daf6f386bc8b2c1d","id":"urn:ietf:clir:http-framing#MESSAGE_MUST_NOT_INCLUDE_BOTH_2616","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding (RFC 2616, Section 4.4)"}],"name":"MESSAGE_MUST_NOT_INCLUDE_BOTH_2616","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:2616#section-4_4-messages-must-not-include-both","kind":"entity_ref"}},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"condition":{"kind":"boolean","value":true},"contentHash":"sha256:cc6f08c7457a8adb03c8d94bb98e87bd83ac721271df419dc8121e352e2d3d3d","higher":{"id":"urn:ietf:clir:http-framing#MustLevelFailureDefeatsCompliance","kind":"const_ref"},"id":"urn:ietf:clir:http-framing#MustFailureBeatsThePresumptionOfCompliance","kind":"priority_rule","labels":[{"language":"en","status":"official","text":"a shown MUST level failure prevails over the presumption of compliance"}],"lower":{"id":"urn:ietf:clir:http-framing#ComplianceIsPresumed","kind":"const_ref"},"package":"urn:ietf:clir:http-framing","priorityKind":"direct","reason":"urn:ietf:clir:http-framing#explicit_exception"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"condition":{"kind":"boolean","value":true},"contentHash":"sha256:31be3912524e3243360da1fbb1078290b1aae9e767df9ad49a704d331274fb38","higher":{"id":"urn:ietf:clir:http-framing#MustLevelFailureDefeatsUnconditionalCompliance","kind":"const_ref"},"id":"urn:ietf:clir:http-framing#MustFailureBeatsUnconditionalCompliance","kind":"priority_rule","labels":[{"language":"en","status":"official","text":"a shown MUST level failure prevails over the presumption of unconditional compliance"}],"lower":{"id":"urn:ietf:clir:http-framing#UnconditionalComplianceIsPresumed","kind":"const_ref"},"package":"urn:ietf:clir:http-framing","priorityKind":"direct","reason":"urn:ietf:clir:http-framing#explicit_exception"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#absolute_requirement"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#subject_to"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#claims_conformance"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:e53355e5afd57f100d7b95727a0ee36a9eefc705a3fcac66506ec67f3925e23f","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"negative","predicate":"urn:ietf:clir:http-framing#compliant"},"id":"urn:ietf:clir:http-framing#MustLevelFailureDefeatsCompliance","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"an implementation is not compliant if it fails to satisfy one or more of the MUST or REQUIRED level requirements"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"defeasible","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"ietf.bcp14#Requirement"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#absolute_requirement"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#subject_to"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#claims_conformance"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:b11204d8016f2e098677c1bad8f87b5b733fc6a85abe335da03dc7a0d31d0d22","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"negative","predicate":"urn:ietf:clir:http-framing#unconditionally_compliant"},"id":"urn:ietf:clir:http-framing#MustLevelFailureDefeatsUnconditionalCompliance","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"a MUST level failure defeats unconditional compliance"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"defeasible","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"ietf.bcp14#Requirement"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#multiple_conflicting_content_length"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#received_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#processed_as_valid"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:bdb091acc08468648cfafab8e975738b71b2438281fe8b4fbe962d699c4838fe","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#REJECT_CONFLICTING_CL_7230","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#ProcessingConflictingContentLengthDeviates7230","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"if a message is received with multiple Content-Length fields having differing values, the recipient MUST treat it as an unrecoverable error"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:367c1ea2cfcd446d9cf9ae5b84e270e8cb589d80efb3a63d038b56f797553a2b","id":"urn:ietf:clir:http-framing#REJECT_CONFLICTING_CL_7230","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"if a message is received with multiple Content-Length fields having differing values, the recipient MUST treat it as an unrecoverable error (RFC 7230, Section 3.3.3)"}],"name":"REJECT_CONFLICTING_CL_7230","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:7230#section-3_3_3-conflicting-content-length","kind":"entity_ref"}},{"contentHash":"sha256:e28f5669d3f1043a3db9c347b261ae36433ac2591e57df26f85cc33cbbf73531","id":"urn:ietf:clir:http-framing#REMOVE_CL_AND_PROCESS_TE_9112","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"an intermediary that chooses to forward the message MUST first remove the received Content-Length field and process the Transfer-Encoding prior to forwarding (RFC 9112, Section 6.3)"}],"name":"REMOVE_CL_AND_PROCESS_TE_9112","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:9112#section-6_3-intermediary-must-remove","kind":"entity_ref"}},{"contentHash":"sha256:ced21128a985c582a916f82e9841964f3d5a09988ed048ea3cc6b29c42de2e8b","id":"urn:ietf:clir:http-framing#REMOVE_CL_BEFORE_FORWARDING_7230","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"a sender MUST remove the received Content-Length field prior to forwarding such a message downstream (RFC 7230, Section 3.3.3)"}],"name":"REMOVE_CL_BEFORE_FORWARDING_7230","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:7230#section-3_3_3-remove-content-length","kind":"entity_ref"}},{"contentHash":"sha256:6830070e5c95fd2c52bf3fbc8912181e651e59286933e17afd01da01e0ce1ab4","id":"urn:ietf:clir:http-framing#RESPOND_400_OR_411_2616","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the server SHOULD respond with 400 (bad request) or 411 (length required) when it cannot determine the message length (RFC 2616, Section 4.4)"}],"name":"RESPOND_400_OR_411_2616","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Requirement"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:2616#section-4_4-respond-400-or-411","kind":"entity_ref"}},{"authority":{"id":"urn:ietf:clir:http-framing#IETF","kind":"const_ref"},"contentHash":"sha256:3ef03738ce58b48c261a2a1664410487619902bc679489cfc4a1e955c5ae4a67","id":"urn:ietf:clir:http-framing#RFC2616","jurisdiction":{"id":"urn:ietf:clir:http-framing#IETF","kind":"const_ref"},"kind":"source_work","labels":[{"language":"en","status":"official","text":"Hypertext Transfer Protocol -- HTTP/1.1"}],"number":"RFC 2616","package":"urn:ietf:clir:http-framing","sourceKind":"urn:ietf:clir:http-framing#standards_track"},{"contentHash":"sha256:64c2abf431d1b07255c42bbf7b7e61d52f24c813b3ed884175796360afd3b511","id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1 (1999)"}],"name":"RFC2616_DOCUMENT","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Document"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:2616","kind":"entity_ref"}},{"contentHash":"sha256:42fa285fda5f6e6556372a636bdd6be5493c60b497391a5cd06d83309c8b1e77","id":"urn:ietf:clir:http-framing#RFC2616_EN","kind":"source_edition","labels":[{"language":"en","status":"official","text":"RFC 2616 (R. Fielding et al.)"}],"language":"en","lifecycle":[{"extent":"1999-06-01","status":"adopted"},{"extent":{"axis":"legal_time","endInclusive":false,"start":"1999-06-01","startInclusive":true},"status":"in_force"}],"materializationStatus":"PINNED_OFFICIAL_BYTES","officiality":"official","package":"urn:ietf:clir:http-framing","work":"urn:ietf:clir:http-framing#RFC2616"},{"contentHash":"sha256:cbcd0fd12f2037f88bd41e3a10f2bf3162950dd0ef000b574ae2171564125527","documentHash":"sha256:10211d2885196b97b1c78e1672f3f68ae97c294596ef2b7fd890cbd30a3427bf","edition":"urn:ietf:clir:http-framing#RFC2616_EN","id":"urn:ietf:clir:http-framing#RFC2616_EN_TEXT","kind":"publication","mediaType":"text/plain; charset=utf-8","package":"urn:ietf:clir:http-framing","retrievedAt":"2026-08-30T11:00:00Z","uri":"https://www.rfc-editor.org/rfc/rfc2616.txt"},{"contentHash":"sha256:dd0a8621e4bef20bc3173fd27b34c145edf5d825116bfc7f75126cba57632877","edition":"urn:ietf:clir:http-framing#RFC2616_EN","fragmentKind":"section","id":"urn:ietf:clir:http-framing#RFC2616_S1_2","kind":"fragment","locator":"section/1_2","package":"urn:ietf:clir:http-framing","texts":[{"contentHash":"sha256:cbd318ecceb6c2b2d116caeb05db5a1a2baa77566ec37b2b9f1ffede2830839f","language":"en","status":"official","text":"1.2 Requirements\n\n   The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\",\n   \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and \"OPTIONAL\" in this\n   document are to be interpreted as described in RFC 2119 [34].\n\n   An implementation is not compliant if it fails to satisfy one or more\n   of the MUST or REQUIRED level requirements for the protocols it\n   implements. An implementation that satisfies all the MUST or REQUIRED\n   level and all the SHOULD level requirements for its protocols is said\n   to be \"unconditionally compliant\"; one that satisfies all the MUST\n   level requirements but not all the SHOULD level requirements for its\n   protocols is said to be \"conditionally compliant.\""}]},{"contentHash":"sha256:edfdf17c3426b5c376bd4744f7187186ab91966728c334ed33164969d6a263e2","edition":"urn:ietf:clir:http-framing#RFC2616_EN","fragmentKind":"section","id":"urn:ietf:clir:http-framing#RFC2616_S4_4","kind":"fragment","locator":"section/4_4","package":"urn:ietf:clir:http-framing","texts":[{"contentHash":"sha256:d5ea0dd2a4e8ce2ca6259254e77cf4f9f2cbe82678f2e5ddd6530426c343c7bc","language":"en","status":"official","text":"4.4 Message Length\n\n   The transfer-length of a message is the length of the message-body as\n   it appears in the message; that is, after any transfer-codings have\n   been applied. When a message-body is included with a message, the\n   transfer-length of that body is determined by one of the following\n   (in order of precedence):\n\n   1.Any response message which \"MUST NOT\" include a message-body (such\n     as the 1xx, 204, and 304 responses and any response to a HEAD\n     request) is always terminated by the first empty line after the\n     header fields, regardless of the entity-header fields present in\n     the message.\n\n   2.If a Transfer-Encoding header field (section 14.41) is present and\n     has any value other than \"identity\", then the transfer-length is\n     defined by use of the \"chunked\" transfer-coding (section 3.6),\n     unless the message is terminated by closing the connection.\n\n   3.If a Content-Length header field (section 14.13) is present, its\n     decimal value in OCTETs represents both the entity-length and the\n     transfer-length. The Content-Length header field MUST NOT be sent\n     if these two lengths are different (i.e., if a Transfer-Encoding\n\n\n\nFielding, et al.            Standards Track                    [Page 33]\n\f\nRFC 2616                        HTTP/1.1                       June 1999\n\n\n     header field is present). If a message is received with both a\n     Transfer-Encoding header field and a Content-Length header field,\n     the latter MUST be ignored.\n\n   4.If the message uses the media type \"multipart/byteranges\", and the\n     ransfer-length is not otherwise specified, then this self-\n     elimiting media type defines the transfer-length. This media type\n     UST NOT be used unless the sender knows that the recipient can arse\n     it; the presence in a request of a Range header with ultiple byte-\n     range specifiers from a 1.1 client implies that the lient can parse\n     multipart/byteranges responses.\n\n       A range header might be forwarded by a 1.0 proxy that does not\n       understand multipart/byteranges; in this case the server MUST\n       delimit the message using methods defined in items 1,3 or 5 of\n       this section.\n\n   5.By the server closing the connection. (Closing the connection\n     cannot be used to indicate the end of a request body, since that\n     would leave no possibility for the server to send back a response.)\n\n   For compatibility with HTTP/1.0 applications, HTTP/1.1 requests\n   containing a message-body MUST include a valid Content-Length header\n   field unless the server is known to be HTTP/1.1 compliant. If a\n   request contains a message-body and a Content-Length is not given,\n   the server SHOULD respond with 400 (bad request) if it cannot\n   determine the length of the message, or with 411 (length required) if\n   it wishes to insist on receiving a valid Content-Length.\n\n   All HTTP/1.1 applications that receive entities MUST accept the\n   \"chunked\" transfer-coding (section 3.6), thus allowing this mechanism\n   to be used for messages when the message length cannot be determined\n   in advance.\n\n   Messages MUST NOT include both a Content-Length header field and a\n   non-identity transfer-coding. If the message does include a non-\n   identity transfer-coding, the Content-Length MUST be ignored.\n\n   When a Content-Length is given in a message where a message-body is\n   allowed, its field value MUST exactly match the number of OCTETs in\n   the message-body. HTTP/1.1 user agents MUST notify the user when an\n   invalid length is received and detected."}]},{"authority":{"id":"urn:ietf:clir:http-framing#IETF","kind":"const_ref"},"contentHash":"sha256:cc83e77249674d2b2345040ea1a02154182e494c89479578822746c0eb707426","id":"urn:ietf:clir:http-framing#RFC7230","jurisdiction":{"id":"urn:ietf:clir:http-framing#IETF","kind":"const_ref"},"kind":"source_work","labels":[{"language":"en","status":"official","text":"Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing"}],"number":"RFC 7230","package":"urn:ietf:clir:http-framing","sourceKind":"urn:ietf:clir:http-framing#standards_track"},{"contentHash":"sha256:0b6bbe59af460ec1a51678517bc7c7dc370bd0538ee688c09467024cd6ab1db5","id":"urn:ietf:clir:http-framing#RFC7230_DOCUMENT","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"RFC 7230, HTTP/1.1 Message Syntax and Routing (2014)"}],"name":"RFC7230_DOCUMENT","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Document"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:7230","kind":"entity_ref"}},{"contentHash":"sha256:fd9b8b7995926f1117ebb574f067ea82e966b612af5c8e7a76db23eac277e226","id":"urn:ietf:clir:http-framing#RFC7230_EN","kind":"source_edition","labels":[{"language":"en","status":"official","text":"RFC 7230 (R. Fielding, J. Reschke, eds.)"}],"language":"en","lifecycle":[{"extent":"2014-06-01","status":"adopted"},{"extent":{"axis":"legal_time","endInclusive":false,"start":"2014-06-01","startInclusive":true},"status":"in_force"}],"materializationStatus":"PINNED_OFFICIAL_BYTES","officiality":"official","package":"urn:ietf:clir:http-framing","work":"urn:ietf:clir:http-framing#RFC7230"},{"contentHash":"sha256:b8b54282a87e18fe78e7e0b8936ab93e7ec931449b38c5cc63039391e173e1bc","documentHash":"sha256:c7fdc8bebdf1f8195f731592c47f5ea822b489436fd905b01b55ef531fca4120","edition":"urn:ietf:clir:http-framing#RFC7230_EN","id":"urn:ietf:clir:http-framing#RFC7230_EN_TEXT","kind":"publication","mediaType":"text/plain; charset=utf-8","package":"urn:ietf:clir:http-framing","retrievedAt":"2026-08-30T11:00:00Z","uri":"https://www.rfc-editor.org/rfc/rfc7230.txt"},{"contentHash":"sha256:1a5485e863313507ce45205ed6a687b78eb8adc6068910167c61c1d224dc5cbf","id":"urn:ietf:clir:http-framing#RFC7230_OBSOLETES_RFC2616","kind":"reference","labels":[{"language":"en","status":"official","text":"Obsoletes: 2616 (RFC 7230, June 2014)"}],"locator":"section/4_4","package":"urn:ietf:clir:http-framing","resolveAt":"legal_time","work":"urn:ietf:clir:http-framing#RFC2616"},{"contentHash":"sha256:6a74a799d6cdc5f6bd376c0927a46fc9d069afaf97fc9635ab38db43dd263d51","edition":"urn:ietf:clir:http-framing#RFC7230_EN","fragmentKind":"section","id":"urn:ietf:clir:http-framing#RFC7230_S1_1","kind":"fragment","locator":"section/1_1","package":"urn:ietf:clir:http-framing","texts":[{"contentHash":"sha256:48d3c2df23d66fff10dd5ac623a3a440749f20110a49e6ece036aa807c823cfc","language":"en","status":"official","text":"1.1.  Requirements Notation\n\n   The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\",\n   \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and \"OPTIONAL\" in this\n   document are to be interpreted as described in [RFC2119].\n\n   Conformance criteria and considerations regarding error handling are\n   defined in Section 2.5."}]},{"contentHash":"sha256:5a9fef41f769732f5249c0bae80032182c947385e2cfc1e4b065c4d773a414f5","edition":"urn:ietf:clir:http-framing#RFC7230_EN","fragmentKind":"section","id":"urn:ietf:clir:http-framing#RFC7230_S3_3_3","kind":"fragment","locator":"section/3_3_3","package":"urn:ietf:clir:http-framing","texts":[{"contentHash":"sha256:46c66855bda647d16ada634829e2a4c958bb496498b12e90da87a555c8ee6d80","language":"en","status":"official","text":"3.3.3.  Message Body Length\n\n   The length of a message body is determined by one of the following\n   (in order of precedence):\n\n   1.  Any response to a HEAD request and any response with a 1xx\n       (Informational), 204 (No Content), or 304 (Not Modified) status\n       code is always terminated by the first empty line after the\n       header fields, regardless of the header fields present in the\n       message, and thus cannot contain a message body.\n\n   2.  Any 2xx (Successful) response to a CONNECT request implies that\n       the connection will become a tunnel immediately after the empty\n       line that concludes the header fields.  A client MUST ignore any\n       Content-Length or Transfer-Encoding header fields received in\n       such a message.\n\n   3.  If a Transfer-Encoding header field is present and the chunked\n       transfer coding (Section 4.1) is the final encoding, the message\n       body length is determined by reading and decoding the chunked\n       data until the transfer coding indicates the data is complete.\n\n       If a Transfer-Encoding header field is present in a response and\n       the chunked transfer coding is not the final encoding, the\n       message body length is determined by reading the connection until\n       it is closed by the server.  If a Transfer-Encoding header field\n       is present in a request and the chunked transfer coding is not\n       the final encoding, the message body length cannot be determined\n       reliably; the server MUST respond with the 400 (Bad Request)\n       status code and then close the connection.\n\n       If a message is received with both a Transfer-Encoding and a\n       Content-Length header field, the Transfer-Encoding overrides the\n       Content-Length.  Such a message might indicate an attempt to\n       perform request smuggling (Section 9.5) or response splitting\n       (Section 9.4) and ought to be handled as an error.  A sender MUST\n       remove the received Content-Length field prior to forwarding such\n       a message downstream.\n\n   4.  If a message is received without Transfer-Encoding and with\n       either multiple Content-Length header fields having differing\n       field-values or a single Content-Length header field having an\n       invalid value, then the message framing is invalid and the\n       recipient MUST treat it as an unrecoverable error.  If this is a\n       request message, the server MUST respond with a 400 (Bad Request)\n       status code and then close the connection.  If this is a response\n       message received by a proxy, the proxy MUST close the connection\n       to the server, discard the received response, and send a 502 (Bad\n\n\n\nFielding & Reschke           Standards Track                   [Page 32]\n\f\nRFC 7230           HTTP/1.1 Message Syntax and Routing         June 2014\n\n\n       Gateway) response to the client.  If this is a response message\n       received by a user agent, the user agent MUST close the\n       connection to the server and discard the received response.\n\n   5.  If a valid Content-Length header field is present without\n       Transfer-Encoding, its decimal value defines the expected message\n       body length in octets.  If the sender closes the connection or\n       the recipient times out before the indicated number of octets are\n       received, the recipient MUST consider the message to be\n       incomplete and close the connection.\n\n   6.  If this is a request message and none of the above are true, then\n       the message body length is zero (no message body is present).\n\n   7.  Otherwise, this is a response message without a declared message\n       body length, so the message body length is determined by the\n       number of octets received prior to the server closing the\n       connection.\n\n   Since there is no way to distinguish a successfully completed,\n   close-delimited message from a partially received message interrupted\n   by network failure, a server SHOULD generate encoding or\n   length-delimited messages whenever possible.  The close-delimiting\n   feature exists primarily for backwards compatibility with HTTP/1.0.\n\n   A server MAY reject a request that contains a message body but not a\n   Content-Length by responding with 411 (Length Required).\n\n   Unless a transfer coding other than chunked has been applied, a\n   client that sends a request containing a message body SHOULD use a\n   valid Content-Length header field if the message body length is known\n   in advance, rather than the chunked transfer coding, since some\n   existing services respond to chunked with a 411 (Length Required)\n   status code even though they understand the chunked transfer coding.\n   This is typically because such services are implemented via a gateway\n   that requires a content-length in advance of being called and the\n   server is unable or unwilling to buffer the entire request before\n   processing.\n\n   A user agent that sends a request containing a message body MUST send\n   a valid Content-Length header field if it does not know the server\n   will handle HTTP/1.1 (or later) requests; such knowledge can be in\n   the form of specific user configuration or by remembering the version\n   of a prior received response.\n\n   If the final response to the last request on a connection has been\n   completely received and there remains additional data to read, a user\n   agent MAY discard the remaining data or attempt to determine if that\n\n\n\nFielding & Reschke           Standards Track                   [Page 33]\n\f\nRFC 7230           HTTP/1.1 Message Syntax and Routing         June 2014\n\n\n   data belongs as part of the prior response body, which might be the\n   case if the prior message's Content-Length value is incorrect.  A\n   client MUST NOT process, cache, or forward such extra data as a\n   separate response, since such behavior would be vulnerable to cache\n   poisoning."}]},{"authority":{"id":"urn:ietf:clir:http-framing#IETF","kind":"const_ref"},"contentHash":"sha256:3c6aa0b93ec95226c5cb01031f2326dcf19aa305578bfafc6ffee66c039a6c65","id":"urn:ietf:clir:http-framing#RFC9112","jurisdiction":{"id":"urn:ietf:clir:http-framing#IETF","kind":"const_ref"},"kind":"source_work","labels":[{"language":"en","status":"official","text":"HTTP/1.1"}],"number":"RFC 9112","package":"urn:ietf:clir:http-framing","sourceKind":"urn:ietf:clir:http-framing#standards_track"},{"contentHash":"sha256:474e2091047180cba38e27dcb56b2ad6d198ecc0a3e191efda5bcde87a5ee049","id":"urn:ietf:clir:http-framing#RFC9112_DOCUMENT","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"RFC 9112, HTTP/1.1 (2022)"}],"name":"RFC9112_DOCUMENT","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"ietf.bcp14#Document"},"symbolKind":"constant","value":{"id":"urn:ietf:rfc:9112","kind":"entity_ref"}},{"contentHash":"sha256:b48345e8aa6042365a4d2482b947b524ebe636dbc09c73ad4b0c42d63168a28f","id":"urn:ietf:clir:http-framing#RFC9112_EN","kind":"source_edition","labels":[{"language":"en","status":"official","text":"RFC 9112 (R. Fielding, M. Nottingham, J. Reschke, eds.)"}],"language":"en","lifecycle":[{"extent":"2022-06-01","status":"adopted"},{"extent":{"axis":"legal_time","endInclusive":false,"start":"2022-06-01","startInclusive":true},"status":"in_force"}],"materializationStatus":"PINNED_OFFICIAL_BYTES","officiality":"official","package":"urn:ietf:clir:http-framing","work":"urn:ietf:clir:http-framing#RFC9112"},{"contentHash":"sha256:257bf444c89f0b759b40df41ea9775915b595f00def8627cad837b2a4b924764","documentHash":"sha256:e4f426bac6206b67fdf9e0da826154f70588db2133a0a86b15cde4ff725d8937","edition":"urn:ietf:clir:http-framing#RFC9112_EN","id":"urn:ietf:clir:http-framing#RFC9112_EN_TEXT","kind":"publication","mediaType":"text/plain; charset=utf-8","package":"urn:ietf:clir:http-framing","retrievedAt":"2026-08-30T11:00:00Z","uri":"https://www.rfc-editor.org/rfc/rfc9112.txt"},{"contentHash":"sha256:7ddb7446f914b9275a78955d329fbb65be6630fed400d202ecba31085f3a8eb8","id":"urn:ietf:clir:http-framing#RFC9112_OBSOLETES_RFC7230","kind":"reference","labels":[{"language":"en","status":"official","text":"Obsoletes: 7230 (RFC 9112, June 2022)"}],"locator":"section/3_3_3","package":"urn:ietf:clir:http-framing","resolveAt":"legal_time","work":"urn:ietf:clir:http-framing#RFC7230"},{"contentHash":"sha256:f2a606e6cc8ec5a13e981a1b7782d5c928b244fd6d0b0afc93276ceddd00761f","edition":"urn:ietf:clir:http-framing#RFC9112_EN","fragmentKind":"section","id":"urn:ietf:clir:http-framing#RFC9112_S1_1","kind":"fragment","locator":"section/1_1","package":"urn:ietf:clir:http-framing","texts":[{"contentHash":"sha256:6dc47e04a3b0faee100bb908c2b01d555f9b02c189e1950fa381ab86b29abdea","language":"en","status":"official","text":"1.1.  Requirements Notation\n\n   The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\",\n   \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"NOT RECOMMENDED\", \"MAY\", and\n   \"OPTIONAL\" in this document are to be interpreted as described in\n   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all\n   capitals, as shown here.\n\n   Conformance criteria and considerations regarding error handling are\n   defined in Section 2 of [HTTP]."}]},{"contentHash":"sha256:3426cf392db3a3a039075e90ffa5a19efe4ab7ed895d5330078151c435ee414c","edition":"urn:ietf:clir:http-framing#RFC9112_EN","fragmentKind":"section","id":"urn:ietf:clir:http-framing#RFC9112_S6_3","kind":"fragment","locator":"section/6_3","package":"urn:ietf:clir:http-framing","texts":[{"contentHash":"sha256:3c4a2a30d78fbee9606692608f07b70173016a0194d9f916cdb1122102efe699","language":"en","status":"official","text":"6.3.  Message Body Length\n\n   The length of a message body is determined by one of the following\n   (in order of precedence):\n\n   1.  Any response to a HEAD request and any response with a 1xx\n       (Informational), 204 (No Content), or 304 (Not Modified) status\n       code is always terminated by the first empty line after the\n       header fields, regardless of the header fields present in the\n       message, and thus cannot contain a message body or trailer\n       section.\n\n   2.  Any 2xx (Successful) response to a CONNECT request implies that\n       the connection will become a tunnel immediately after the empty\n       line that concludes the header fields.  A client MUST ignore any\n       Content-Length or Transfer-Encoding header fields received in\n       such a message.\n\n   3.  If a message is received with both a Transfer-Encoding and a\n       Content-Length header field, the Transfer-Encoding overrides the\n       Content-Length.  Such a message might indicate an attempt to\n       perform request smuggling (Section 11.2) or response splitting\n       (Section 11.1) and ought to be handled as an error.  An\n       intermediary that chooses to forward the message MUST first\n       remove the received Content-Length field and process the\n       Transfer-Encoding (as described below) prior to forwarding the\n       message downstream.\n\n   4.  If a Transfer-Encoding header field is present and the chunked\n       transfer coding (Section 7.1) is the final encoding, the message\n       body length is determined by reading and decoding the chunked\n       data until the transfer coding indicates the data is complete.\n\n       If a Transfer-Encoding header field is present in a response and\n       the chunked transfer coding is not the final encoding, the\n       message body length is determined by reading the connection until\n       it is closed by the server.\n\n       If a Transfer-Encoding header field is present in a request and\n       the chunked transfer coding is not the final encoding, the\n       message body length cannot be determined reliably; the server\n       MUST respond with the 400 (Bad Request) status code and then\n       close the connection.\n\n   5.  If a message is received without Transfer-Encoding and with an\n       invalid Content-Length header field, then the message framing is\n       invalid and the recipient MUST treat it as an unrecoverable\n       error, unless the field value can be successfully parsed as a\n       comma-separated list (Section 5.6.1 of [HTTP]), all values in the\n       list are valid, and all values in the list are the same (in which\n       case, the message is processed with that single value used as the\n       Content-Length field value).  If the unrecoverable error is in a\n       request message, the server MUST respond with a 400 (Bad Request)\n       status code and then close the connection.  If it is in a\n       response message received by a proxy, the proxy MUST close the\n       connection to the server, discard the received response, and send\n       a 502 (Bad Gateway) response to the client.  If it is in a\n       response message received by a user agent, the user agent MUST\n       close the connection to the server and discard the received\n       response.\n\n   6.  If a valid Content-Length header field is present without\n       Transfer-Encoding, its decimal value defines the expected message\n       body length in octets.  If the sender closes the connection or\n       the recipient times out before the indicated number of octets are\n       received, the recipient MUST consider the message to be\n       incomplete and close the connection.\n\n   7.  If this is a request message and none of the above are true, then\n       the message body length is zero (no message body is present).\n\n   8.  Otherwise, this is a response message without a declared message\n       body length, so the message body length is determined by the\n       number of octets received prior to the server closing the\n       connection.\n\n   Since there is no way to distinguish a successfully completed, close-\n   delimited response message from a partially received message\n   interrupted by network failure, a server SHOULD generate encoding or\n   length-delimited messages whenever possible.  The close-delimiting\n   feature exists primarily for backwards compatibility with HTTP/1.0.\n\n      |  *Note:* Request messages are never close-delimited because they\n      |  are always explicitly framed by length or transfer coding, with\n      |  the absence of both implying the request ends immediately after\n      |  the header section.\n\n   A server MAY reject a request that contains a message body but not a\n   Content-Length by responding with 411 (Length Required).\n\n   Unless a transfer coding other than chunked has been applied, a\n   client that sends a request containing a message body SHOULD use a\n   valid Content-Length header field if the message body length is known\n   in advance, rather than the chunked transfer coding, since some\n   existing services respond to chunked with a 411 (Length Required)\n   status code even though they understand the chunked transfer coding.\n   This is typically because such services are implemented via a gateway\n   that requires a content length in advance of being called, and the\n   server is unable or unwilling to buffer the entire request before\n   processing.\n\n   A user agent that sends a request that contains a message body MUST\n   send either a valid Content-Length header field or use the chunked\n   transfer coding.  A client MUST NOT use the chunked transfer coding\n   unless it knows the server will handle HTTP/1.1 (or later) requests;\n   such knowledge can be in the form of specific user configuration or\n   by remembering the version of a prior received response.\n\n   If the final response to the last request on a connection has been\n   completely received and there remains additional data to read, a user\n   agent MAY discard the remaining data or attempt to determine if that\n   data belongs as part of the prior message body, which might be the\n   case if the prior message's Content-Length value is incorrect.  A\n   client MUST NOT process, cache, or forward such extra data as a\n   separate response, since such behavior would be vulnerable to cache\n   poisoning."}]},{"contentHash":"sha256:f6b1a9bbb235996fb5ce42dc72dfa91eda35683e2b49fbb787d2df511dab2d66","id":"urn:ietf:clir:http-framing#Recipient","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"a recipient"}],"name":"Recipient","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"urn:ietf:clir:http-framing#FramingRole"},"symbolKind":"constant","value":{"id":"urn:ietf:clir:http-framing#Recipient","kind":"entity_ref"}},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#multiple_conflicting_content_length"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#received_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#responded_bad_request"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:03a1dbb95ce1d0461d3758730168a06471820b7dd53bae723d56301a3dbd10b9","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#REJECT_CONFLICTING_CL_7230","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_conforms"},"id":"urn:ietf:clir:http-framing#RejectingConflictingContentLengthConforms7230","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"responding with 400 (Bad Request) and closing the connection conforms to Section 3.3.3"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#received_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#request_with_body_without_content_length"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#responded_400_or_411"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:23f015aa3cceee022e52b2c021c283eca1224601e3ee4f03b55a83a90778feeb","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RESPOND_400_OR_411_2616","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_conforms"},"id":"urn:ietf:clir:http-framing#RespondingWithLengthErrorConforms2616","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"responding with 400 (bad request) or 411 (length required) conforms to the recommendation of Section 4.4"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:821e62480dc1054422ac11dbf082602b5fc431e665e4657399278ae3e759dc29","id":"urn:ietf:clir:http-framing#Sender","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"a sender"}],"name":"Sender","package":"urn:ietf:clir:http-framing","parameters":[],"returnType":{"name":"urn:ietf:clir:http-framing#FramingRole"},"symbolKind":"constant","value":{"id":"urn:ietf:clir:http-framing#Sender","kind":"entity_ref"}},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"condition":{"kind":"boolean","value":true},"contentHash":"sha256:77a71ae75b24e7aed8e6ce9648ecee9ec31ecbd264eaf860c75b746e55113a1a","higher":{"id":"urn:ietf:clir:http-framing#ShouldLevelFailureDefeatsUnconditionalCompliance","kind":"const_ref"},"id":"urn:ietf:clir:http-framing#ShouldFailureBeatsUnconditionalCompliance","kind":"priority_rule","labels":[{"language":"en","status":"official","text":"a shown SHOULD level failure prevails over the presumption of unconditional compliance"}],"lower":{"id":"urn:ietf:clir:http-framing#UnconditionalComplianceIsPresumed","kind":"const_ref"},"package":"urn:ietf:clir:http-framing","priorityKind":"direct","reason":"urn:ietf:clir:http-framing#explicit_exception"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#recommended_item"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#subject_to"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#claims_conformance"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:65eed70f01279b004b797de02f5863e062d540ff329ce6482d204ba40610c670","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"negative","predicate":"urn:ietf:clir:http-framing#unconditionally_compliant"},"id":"urn:ietf:clir:http-framing#ShouldLevelFailureDefeatsUnconditionalCompliance","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"a SHOULD level failure defeats unconditional compliance while leaving compliance intact"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"defeasible","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"ietf.bcp14#Requirement"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#absolute_requirement"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#subject_to"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#claims_conformance"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:313f54e9f8676fa9f1cf64013d774edba8b0902d565490ae71bb0d599b3a5f69","head":{"args":[{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#unconditionally_compliant"},"id":"urn:ietf:clir:http-framing#UnconditionalComplianceIsPresumed","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"an implementation subject to a MUST or REQUIRED level requirement is taken to be unconditionally compliant until a failure is shown"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"defeasible","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"ietf.bcp14#Requirement"}}]},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"body":{"items":[{"formula":{"args":[{"kind":"var","var":"v1"},{"kind":"var","var":"v0"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#received_by"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v0"},{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#used_content_length"},"kind":"status","status":"established"},{"formula":{"args":[{"kind":"var","var":"v1"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:http-framing#carries_both_framing_fields"},"kind":"status","status":"established"}],"kind":"and"},"contentHash":"sha256:5cce46e7145340e7e264915636b988f67114891cf00e3d8b0365dcf1056d9ee4","head":{"args":[{"kind":"var","var":"v0"},{"id":"urn:ietf:clir:http-framing#CL_IGNORED_ON_RECEIPT_2616","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#behaviour_deviates"},"id":"urn:ietf:clir:http-framing#UsingContentLengthDeviates2616","interpretations":[],"kind":"rule","labels":[{"language":"en","status":"official","text":"using the Content-Length of a message that also carries Transfer-Encoding deviates from Section 4.4"}],"package":"urn:ietf:clir:http-framing","scope":{"kind":"boolean","value":true},"strength":"strict","variables":[{"id":"v0","type":{"name":"ietf.bcp14#Implementation"}},{"id":"v1","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}]},{"contentHash":"sha256:745a7ecece63aec28308162f4027fd6bcbe2ea230afae34a57d9e828478eb882","id":"urn:ietf:clir:http-framing#accepted_without_length","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the server accepted the request although it could not determine the message length"}],"name":"accepted_without_length","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#accepted_without_length/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#accepted_without_length/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:0e0321cddb25e602265b1f23e3b2418a58091a46a61fbf17190e71568d90b081","id":"urn:ietf:clir:http-framing#acts_as","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the participant acts in this role for the exchange"}],"name":"acts_as","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#acts_as/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#acts_as/arg/played","name":"played","type":{"name":"urn:ietf:clir:http-framing#FramingRole"}}],"relationKind":"empirical","symbolKind":"relation"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:b27268af8afbd4704c13870921b6203874b2f6dad9004a30517a5e0e56732926","evidence":[],"id":"urn:ietf:clir:http-framing#assert-1","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#CL_NOT_SENT_WITH_TE_2616","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"contentHash":"sha256:93e63e118d04b8bb112608063adfe3c09488b5feb36ca29cf7a05be42dfc6614","evidence":[],"id":"urn:ietf:clir:http-framing#assert-10","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#REJECT_CONFLICTING_CL_7230","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC7230_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"contentHash":"sha256:8a4ba653dfae9217cd442af31b6df68c1cb7693012c5db6a6b249c118bbce5c6","evidence":[],"id":"urn:ietf:clir:http-framing#assert-11","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#REMOVE_CL_BEFORE_FORWARDING_7230","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#Must","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"contentHash":"sha256:7131f8a528db226c623b16ece7d43235563ff74ac040f762b87678c0f69584d8","evidence":[],"id":"urn:ietf:clir:http-framing#assert-12","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#REJECT_CONFLICTING_CL_7230","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#Must","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC9112_S6_3"],"contentHash":"sha256:e5c385eaf15ac591e8961f07fef7965774fb007d3d885bd4b19a17dd7e17e2c9","evidence":[],"id":"urn:ietf:clir:http-framing#assert-13","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#REMOVE_CL_AND_PROCESS_TE_9112","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC9112_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC9112_S6_3"],"contentHash":"sha256:23c50809785f0708cc3df3ede3445101cc3b0617d2427ab29e8a4d58d834275d","evidence":[],"id":"urn:ietf:clir:http-framing#assert-14","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#REMOVE_CL_AND_PROCESS_TE_9112","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#Must","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S1_2"],"contentHash":"sha256:b3e0435f4ccd2f006e121202296562a9fe6e9f595d4515fa792b206e254a1fe2","evidence":[],"id":"urn:ietf:clir:http-framing#assert-15","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#adopted_bcp14"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S1_1"],"contentHash":"sha256:35abe52e6782581e3e790fda518c83398260ebcd91ca33c7b6474b01544d285c","evidence":[],"id":"urn:ietf:clir:http-framing#assert-16","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#RFC7230_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#adopted_bcp14"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC9112_S1_1"],"contentHash":"sha256:399620342887638e344a29677d013ab87c90d76a8c029e2e5d217ecffd77b53a","evidence":[],"id":"urn:ietf:clir:http-framing#assert-17","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#RFC9112_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#adopted_bcp14"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:74311af662a27ba3c087b0dcc5e587b3016a7e37d530431b9c895cb0db3aff24","evidence":[],"id":"urn:ietf:clir:http-framing#assert-2","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#CL_IGNORED_ON_RECEIPT_2616","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:59a07513357458515b3ae871ee936b0d71b08c332663a8a783ba177c979bd9e0","evidence":[],"id":"urn:ietf:clir:http-framing#assert-3","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#CL_NOT_SENT_WITH_TE_2616","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#MustNot","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:0c2f4881589e56876946e6b181cdc154aac75aa2c1f0e9fcec131d5ed49169b9","evidence":[],"id":"urn:ietf:clir:http-framing#assert-4","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#CL_IGNORED_ON_RECEIPT_2616","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#Must","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:4d8529735e1f3590b8dfd0d9b3fc3844797c528f1d9c612d6fc46763b553e8fe","evidence":[],"id":"urn:ietf:clir:http-framing#assert-5","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#MESSAGE_MUST_NOT_INCLUDE_BOTH_2616","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:6b879b44ce590a18817a315acea219479dafd518e0805d14640f881813673726","evidence":[],"id":"urn:ietf:clir:http-framing#assert-6","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#MESSAGE_MUST_NOT_INCLUDE_BOTH_2616","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#MustNot","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:650910efe47c6166e57795e674832e1e2280e9a0844974a68fc0af10006d68f6","evidence":[],"id":"urn:ietf:clir:http-framing#assert-7","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#RESPOND_400_OR_411_2616","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC2616_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC2616_S4_4"],"contentHash":"sha256:d7c85da03bbb89b2efc307294ce5e0de6be53d528175711bfebdd86acdc57b81","evidence":[],"id":"urn:ietf:clir:http-framing#assert-8","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#RESPOND_400_OR_411_2616","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#Should","kind":"const_ref"},{"id":"urn:ietf:clir:bcp14#AllCapitals","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#keyword_written"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"anchors":["urn:ietf:clir:http-framing#RFC7230_S3_3_3"],"contentHash":"sha256:9e312288e8c06cb7592133dae12bafcf51c45fadcfac45dbbb388b30650d8ac4","evidence":[],"id":"urn:ietf:clir:http-framing#assert-9","kind":"assertion","literal":{"args":[{"id":"urn:ietf:clir:http-framing#REMOVE_CL_BEFORE_FORWARDING_7230","kind":"const_ref"},{"id":"urn:ietf:clir:http-framing#RFC7230_DOCUMENT","kind":"const_ref"}],"kind":"literal","polarity":"positive","predicate":"urn:ietf:clir:bcp14#stated_in"},"origin":"source_asserted","package":"urn:ietf:clir:http-framing"},{"contentHash":"sha256:279f698a77d6f23a07dc5a065aed3be3da4d1d51a01b9732e82751fd147b13bb","id":"urn:ietf:clir:http-framing#carries_both_framing_fields","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the message carries both a Transfer-Encoding and a Content-Length header field"}],"name":"carries_both_framing_fields","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#carries_both_framing_fields/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"institutional","symbolKind":"relation"},{"contentHash":"sha256:f6df929e4eaba7817b7274679fe7e2c8a401da3aa6ea464097769da6bb79e9f1","id":"urn:ietf:clir:http-framing#compliant","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the implementation is compliant with RFC 2616 in the sense of its Section 1.2"}],"name":"compliant","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#compliant/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}}],"relationKind":"institutional","symbolKind":"relation"},{"contentHash":"sha256:749398965c1dfc9514e70f7e5843513805280106a5c3fbbc8d79d1691000f178","id":"urn:ietf:clir:http-framing#conditionally_compliant","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the implementation is conditionally compliant: it satisfies the MUST level requirements but not all the SHOULD level requirements"}],"name":"conditionally_compliant","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#conditionally_compliant/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}}],"relationKind":"institutional","symbolKind":"relation"},{"contentHash":"sha256:a2d49f5186567cf355065d579376ae7805c7f35427869f0545e7118a7a905560","id":"urn:ietf:clir:http-framing#forwarded_downstream","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the participant forwarded the message downstream"}],"name":"forwarded_downstream","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#forwarded_downstream/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#forwarded_downstream/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:15614284517b61ad2ef8742c9ff1f388e19220ce5f8caaf7dcdc32966aa95aa5","id":"urn:ietf:clir:http-framing#generated_by","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the message was generated by this participant"}],"name":"generated_by","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#generated_by/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}},{"id":"urn:ietf:clir:http-framing#generated_by/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:2adb4b97cbbff044e12c9209165b14bb14c68eab6d92ad69df30f8081f331b61","id":"urn:ietf:clir:http-framing#has_content_length","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the message carries a Content-Length header field"}],"name":"has_content_length","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#has_content_length/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:f2628c7604fb4d144ef1573459840b52c93197c421d8745e144f09cf47fb74df","id":"urn:ietf:clir:http-framing#has_transfer_encoding","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the message carries a Transfer-Encoding header field"}],"name":"has_transfer_encoding","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#has_transfer_encoding/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:4cda5abd61f1e837a50d18666704f9eddbce2f751debd7e64a96d0f2145e15cd","id":"urn:ietf:clir:http-framing#ignored_content_length","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the recipient ignored the Content-Length field when determining the message length"}],"name":"ignored_content_length","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#ignored_content_length/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#ignored_content_length/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:8b0f72e6ae1754ef15e0547e5428e0fff95cbe2765178341876f4634e1e50e12","id":"urn:ietf:clir:http-framing#kept_content_length_when_forwarding","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the participant forwarded the message with the received Content-Length field intact"}],"name":"kept_content_length_when_forwarding","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#kept_content_length_when_forwarding/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#kept_content_length_when_forwarding/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:2ef44a7ffd379b50d372dd92e812a65aaa8c993266329ec86d5ee6f343dba292","id":"urn:ietf:clir:http-framing#multiple_conflicting_content_length","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the message carries multiple Content-Length header fields with differing field-values"}],"name":"multiple_conflicting_content_length","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#multiple_conflicting_content_length/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:a5291fdd27d8d13908afe9e585e747b9231914c201a6bcd070ceae7b4cff2315","id":"urn:ietf:clir:http-framing#processed_as_valid","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the recipient processed the message as a valid one"}],"name":"processed_as_valid","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#processed_as_valid/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#processed_as_valid/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:83ee16b4de242c373b268a52ec311ca11e432af7a09ce427297ce83f2d876155","id":"urn:ietf:clir:http-framing#received_by","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the message was received by this participant"}],"name":"received_by","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#received_by/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}},{"id":"urn:ietf:clir:http-framing#received_by/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:e3f402c962dd01e03d8985fa3d42ab73a06c32c3dcf447c01a7b49ea790a6875","id":"urn:ietf:clir:http-framing#removed_content_length_before_forwarding","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the participant removed the received Content-Length field before forwarding"}],"name":"removed_content_length_before_forwarding","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#removed_content_length_before_forwarding/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#removed_content_length_before_forwarding/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:2b354cf1dded42f24a0724c73c3428c3a6d0956cdd885a0960b9d02790168922","id":"urn:ietf:clir:http-framing#request_with_body_without_content_length","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the request contains a message-body and no Content-Length is given"}],"name":"request_with_body_without_content_length","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#request_with_body_without_content_length/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:f3f5c91798894d72c263a6520b7256a9e661f0155e872e1b182f824408f1d46f","id":"urn:ietf:clir:http-framing#responded_400_or_411","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the server responded with 400 (bad request) or 411 (length required)"}],"name":"responded_400_or_411","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#responded_400_or_411/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#responded_400_or_411/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:40d0d5f9b12cd801b5db03d8164484b26b0f2ef9755ddd186755c1b7a0a4c5ac","id":"urn:ietf:clir:http-framing#responded_bad_request","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the server responded with 400 (Bad Request) and closed the connection"}],"name":"responded_bad_request","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#responded_bad_request/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#responded_bad_request/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"},{"contentHash":"sha256:380ddeb11ae0563c6b3571c181c5a84ba890bb0f732781d52ea7567c0a24bb27","id":"urn:ietf:clir:http-framing#unconditionally_compliant","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the implementation is unconditionally compliant: it satisfies the MUST level and the SHOULD level requirements"}],"name":"unconditionally_compliant","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#unconditionally_compliant/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}}],"relationKind":"institutional","symbolKind":"relation"},{"contentHash":"sha256:7a26353fad85d1aa626fbccd6e6a3fcbc3206a330ac38ad04afe36d8e17bb792","id":"urn:ietf:clir:http-framing#used_content_length","kind":"symbol_decl","labels":[{"language":"en","status":"official","text":"the recipient used the Content-Length field when determining the message length"}],"name":"used_content_length","package":"urn:ietf:clir:http-framing","parameters":[{"id":"urn:ietf:clir:http-framing#used_content_length/arg/i","name":"i","type":{"name":"ietf.bcp14#Implementation"}},{"id":"urn:ietf:clir:http-framing#used_content_length/arg/m","name":"m","type":{"name":"urn:ietf:clir:http-framing#HttpMessage"}}],"relationKind":"empirical","symbolKind":"relation"}],"package":{"name":"ietf.http_framing","namespace":"urn:ietf:clir:http-framing","semanticHash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","version":"0.1.0"},"schemaVersion":"law.core.ir/0.2","semanticHash":"sha256:19090f384145db5471641abca9888e553f09c72457adc5eef819c0f902e88c51","semanticVersion":"0.1.0","strata":[]}