title: Warning HTTP Header - legal agent string format
body: <p>I've just set a Warning HTTP header for the first time. In the <code>System.Net</code> .NET namespace, there's a type <code>WarningHeaderValue</code> with this constructor:</p>
  
  <pre><code>WarningHeaderValue(int code, string agent, string text)
  </code></pre>
  
  <p>But it throws on my agent string saying</p>
  
  <blockquote>
    <p>The format of value 'Company Name .NET Origin' is invalid.</p>
  </blockquote>
  
  <p>What format is legal for the agent? I couldn't glean anything useful from the HTTP spec.</p>
  
  <blockquote>
  <pre><code> warn-agent = ( uri-host [ ":" port ] ) / pseudonym
                   ; the name or pseudonym of the server adding
                   ; the Warning header field, for use in debugging
                   ; a single "-" is recommended when agent unknown
   warn-text  = quoted-string
   warn-date  = DQUOTE HTTP-date DQUOTE
  </code></pre>
  </blockquote>
  
  <p>What's missing in all these arcane specifications are examples.</p>