From ce0433f438103445b5c7ccc922ea38443ca7598b Mon Sep 17 00:00:00 2001 From: Cory Benfield Date: Thu, 10 Mar 2016 09:15:32 +0000 Subject: [PATCH] MUST is preferable to SHOULD --- docs/asgi.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/asgi.rst b/docs/asgi.rst index 61c0cfa..db9fb3c 100644 --- a/docs/asgi.rst +++ b/docs/asgi.rst @@ -104,9 +104,9 @@ and underscores (``_``), plus an optional prefix character (see below). Channels are a first-in, first out queue with at-most-once delivery semantics. They can have multiple writers and multiple readers; only a single -reader should get each written message. Implementations should never -deliver a message more than once or to more than one reader, and should -drop messages if this is necessary to achieve this restriction. +reader should get each written message. Implementations must never deliver +a message more than once or to more than one reader, and must drop messages if +this is necessary to achieve this restriction. In order to aid with scaling and network architecture, a distinction is made between channels that have multiple readers (such as the @@ -259,7 +259,7 @@ receive messages in channel order. Specification Details ===================== -A *channel layer* should provide an object with these attributes +A *channel layer* must provide an object with these attributes (all function arguments are positional): * ``send(channel, message)``, a callable that takes two arguments; the @@ -408,10 +408,10 @@ different requests on the same connection different reply channels, and correctly multiplex the responses back into the same stream as they come in. The HTTP version is available as a string in the request message. -HTTP/2 Server Push responses are included, but should be sent prior to the -main response, and you should check for ``http_version = 2`` before sending -them; if a protocol server or connection incapable of Server Push receives -these, it should simply drop them. +HTTP/2 Server Push responses are included, but must be sent prior to the +main response, and applications must check for ``http_version = 2`` before +sending them; if a protocol server or connection incapable of Server Push +receives these, it must drop them. The HTTP specs are somewhat vague on the subject of multiple headers; RFC7230 explicitly says they must be merge-able with commas, while RFC6265