<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">Hi, Paulo,</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>Like Helge said,&nbsp;Johannes was already talking in source code (see&nbsp;<a href="https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170403/thread.html#422" class="">https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170403/thread.html#422</a>&nbsp;and&nbsp;<a href="https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170410/thread.html" class="">https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170410/thread.html</a>&nbsp;for the week of threads), and I tried to follow along with that API which had already talked about on the list.</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>I was hoping at this point (or some point soon) that we could start talking about an implementation instead of just arguing about the API some more in the abstract.</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>I certainly expect we will make changes to the API as we go, I just hope that those changes will have an implementation behind them so that we'll be able to discuss those changes with an understanding of what the performance implications are and examples of how the new API is intended to be used.</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span><span style="white-space: pre-wrap;" class="">But like I said to Helge, the question of the moment (for you and for the group) is - do you think this is a good enough starting point for us to move it to the </span><a href="https://github.com/swift-server/" class="" style="white-space: pre-wrap;">https://github.com/swift-server/</a><span style="white-space: pre-wrap;" class=""> organization and start iterating via GitHub issues &amp; Pull Requests, or do you think we're still at the stage where we need to have more email discussions about it before we're ready to take that step?</span></div><div class=""><br class=""></div><div class=""><span style="white-space: pre-wrap;" class="">-Carl</span></div><div class=""><span class="" style="white-space: pre-wrap;"><br class=""></span></div><div class=""><span class="" style="white-space: pre-wrap;">-- </span></div><div class=""><span class="" style="white-space: pre-wrap;">Carl Brown, Swift@IBM</span></div><div class=""><span class="" style="white-space: pre-wrap;"><a href="mailto:Carl.Brown1@IBM.com" class="">Carl.Brown1@IBM.com</a> (Work)</span></div><div class=""></div><div class=""><span style="white-space: pre-wrap;" class="">Austin, TX</span>&nbsp;</div><br class=""><div><blockquote type="cite" class=""><div class="">On May 26, 2017, at 3:32 PM, Paulo Faria via swift-server-dev &lt;<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I'm glad we can start talking in source code now. Chris sent me the link before, so I had time to create a counterproposal concerning the 3 files mentioned. In the readme I have the rationale for the design decisions. I also used jazzy to create an API reference. Here are the links:<br class=""><div class=""><br class=""></div><div class=""><a href="https://github.com/paulofaria/http-api-proposal" class="">https://github.com/paulofaria/http-api-proposal</a><br class=""></div><div class=""><a href="https://paulofaria.github.io/http-api-proposal/" class="">https://paulofaria.github.io/http-api-proposal/</a></div><div class=""><br class=""></div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 26 May 2017 at 13:00, Chris Bailey via swift-server-dev <span dir="ltr" class="">&lt;<a href="mailto:swift-server-dev@swift.org" target="_blank" class="">swift-server-dev@swift.org</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font size="2" face="sans-serif" class="">There's been a lot of discussion around
the HTTP API spec originally created by Johannes Weiss with input of a
number of other people (particularly Helga Hess):</font>
<br class=""><font size="2" face="sans-serif" class="">&nbsp; &nbsp; &nbsp; &nbsp; </font><a href="https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170403/000422.html" target="_blank" class=""><font size="2" color="blue" face="sans-serif" class="">https://lists.swift.org/<wbr class="">pipermail/swift-server-dev/<wbr class="">Week-of-Mon-20170403/000422.<wbr class="">html</font></a>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Since then some work has been done by
Carl Brown and others on a prototype of a clean (not derived from existing
code) implementation of that API. You can find that prototype here: &nbsp;
&nbsp; &nbsp; &nbsp;</font><a href="https://github.com/carlbrown/HTTPSketch" target="_blank" class=""><font size="2" color="blue" face="sans-serif" class="">https://github.com/carlbrown/<wbr class="">HTTPSketch</font></a>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">The API itself is essentially implemented
in three files:</font>
<br class=""><font size="2" face="sans-serif" class="">HTTPRequest: &nbsp; &nbsp; &nbsp; &nbsp;</font><a href="https://github.com/carlbrown/HTTPSketch/blob/master/Sources/HTTPSketch/HTTPRequest.swift" target="_blank" class=""><font size="2" color="blue" face="sans-serif" class="">https://github.com/carlbrown/<wbr class="">HTTPSketch/blob/master/<wbr class="">Sources/HTTPSketch/<wbr class="">HTTPRequest.swift</font></a>
<br class=""><font size="2" face="sans-serif" class="">HTTPResponse: &nbsp; &nbsp; &nbsp; &nbsp;</font><a href="https://github.com/carlbrown/HTTPSketch/blob/master/Sources/HTTPSketch/HTTPResponse.swift" target="_blank" class=""><font size="2" color="blue" face="sans-serif" class="">https://github.com/carlbrown/<wbr class="">HTTPSketch/blob/master/<wbr class="">Sources/HTTPSketch/<wbr class="">HTTPResponse.swift</font></a>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">HTTPCommon: &nbsp; &nbsp; &nbsp; &nbsp;</font><a href="https://github.com/carlbrown/HTTPSketch/blob/master/Sources/HTTPSketch/HTTPCommon.swift" target="_blank" class=""><font size="2" color="blue" face="sans-serif" class="">https://github.com/carlbrown/<wbr class="">HTTPSketch/blob/master/<wbr class="">Sources/HTTPSketch/HTTPCommon.<wbr class="">swift</font></a>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">The prototype has some dependencies
on the CHTTParser and BlueSocket libraries from IBM-Swift in order to have
working implementation, but we've attempted to abstract those away so that
they're easily replaced with another implementation - eventually the aim
is to move to standard implementations from the Server API project and
to utilise the secure transport implementation being worked on under the
Security stream.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">We're proposing to use this as the starting
point and move it into the swift-server org on GitHub. From there we can
then collaborate and iterate on improving/evolving the API surface and
the implementation through discussion on the mailing list and PRs.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">The hope is that having an independent
concrete implementation should make it much easier for us to iterate on
and experiment with changes to the API and implementation as can all see
how it affects a real implementation, including being able to assess performance
and memory footprint costs of alternative approaches, etc. </font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Please take a look. If people are happy
to use this as an initial implementation of HTTP API spec that's been layed
out so far, we'll move it over to the swift-server org on GitHub. This
is by no means the final API or implementation - there's definitely lots
that still needs to be discussed. Once its on the swift-server org we'll
start looking at the API and implementation choices in-depth via the mailing
list and PRs.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Chris<br class="">
Unless stated otherwise above:<br class="">
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br class="">
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br class="">
</font><br class="">______________________________<wbr class="">_________________<br class="">
swift-server-dev mailing list<br class="">
<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-server-dev" rel="noreferrer" target="_blank" class="">https://lists.swift.org/<wbr class="">mailman/listinfo/swift-server-<wbr class="">dev</a><br class="">
<br class=""></blockquote></div><br class=""></div>
_______________________________________________<br class="">swift-server-dev mailing list<br class=""><a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-server-dev<br class=""></div></blockquote></div><br class=""></body></html>