<font size=2 face="sans-serif">Hi Georgios:</font>
<br>
<br><font size=2 face="sans-serif">I've raised the following PR to carry
this discussion forwards:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; </font><a href="https://github.com/swift-server/http/pull/45"><font size=2 color=blue face="sans-serif">https://github.com/swift-server/http/pull/45</font></a>
<br>
<br><font size=2 face="sans-serif">The area that's worth discussing is
the conversion of</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; write(headers:status)</font>
<br><font size=2 face="sans-serif">into &nbsp; &nbsp; &nbsp; &nbsp;write(status:)</font>
<br>
<br><font size=2 face="sans-serif">The write(status:) call &nbsp;is a convenience
wrapper for writing headers, so a side effect is that it may not be obvious
that it results in the writing of the headers to the socket - i.e. a subsequent
call to write(headers:) isn't possible.</font>
<br>
<br><font size=2 face="sans-serif">Chris</font>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Chris Bailey/UK/IBM</font>
<br><font size=1 color=#5f5f5f face="sans-serif">To: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Georgios Moschovitis
&lt;george.moschovitis@icloud.com&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Cc: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">swift-server-dev@swift.org</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">10/09/2017 16:09</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">Re: [swift-server-dev]
HTTP API Review</font>
<br>
<hr noshade>
<br>
<br><font size=2 face="sans-serif">Thanks for the feedback Georgios. </font>
<br>
<br><font size=2 face="sans-serif">I'll raise a PR for the change of writeHeader()/writeBody()
to write() and see if there's any objections.</font>
<br>
<br><font size=2 face="sans-serif">Chris</font>
<br>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Georgios Moschovitis
&lt;george.moschovitis@icloud.com&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">To: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Chris Bailey &lt;BAILEYC@uk.ibm.com&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Cc: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">swift-server-dev@swift.org</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">09/09/2017 09:17</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">Re: [swift-server-dev]
HTTP API Review</font>
<br>
<hr noshade>
<br>
<br>
<br><font size=2 face="sans-serif">&gt;&gt;</font><font size=3> - `HTTPBodyProcessing`
is a very long word with no obvious meaning. </font>
<br><font size=2 face="sans-serif"><br>
Agreed, the naming here could be clearer as to what its purpose is. Do
you have any suggestions?</font><font size=3> </font>
<br>
<br><font size=3>Unfortunately, no :(</font>
<br>
<br><font size=2 face="sans-serif">&gt;&gt;</font><font size=3> - I would
use `HTTPResponse` instead of `HTTPResponseWriter` <br>
</font><font size=2 face="sans-serif"><br>
The use of HTTPResponseWriter here is very deliberate because eventually
the API should be symmetrical for the server and client use cases, ie:
a server has access to a HTTPRequest and a HTTPResponseWriter, and a client
has access to a HTTPRequestWriter and a HTTPResponse.</font><font size=3>
</font>
<br>
<br><font size=3>Hm, that makes sense.</font>
<br>
<br><font size=2 face="sans-serif">&gt;&gt;</font><font size=3> - I would
rename `writeBody` to `write` (and, maybe, `writeHeader` to `addHeader`,
`setHeader`, `appendHeader` or something similar) <br>
</font><font size=2 face="sans-serif"><br>
I think if we we're to switch to using &quot;write()&quot; for writeBody(),
then we'd have to move to:</font><font size=3> </font><font size=2 face="sans-serif"><br>
 &nbsp; &nbsp; &nbsp; &nbsp;func write(headers: HTTPHeaders, status: HTTPResponseStatus,
completion: @escaping (Result) -&gt; Void)</font><font size=3> </font><font size=2 face="sans-serif"><br>
 &nbsp; &nbsp; &nbsp; &nbsp;func write(body: UnsafeHTTPResponseBody, completion:
@escaping (Result) -&gt; Void)</font><font size=3> </font><font size=2 face="sans-serif"><br>
How does that look?</font><font size=3> </font>
<br>
<br><font size=3>Ah, that looks even more Swifty, I like it :-)</font>
<br>
<br><font size=3>-g.</font>
<br>
<br>
<br><font size=2 face="sans-serif"><br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br>
</font>
<br><font size=2 face="sans-serif"><br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br>
</font>