[swift-server-dev] HTTP API Review

Georgios Moschovitis george.moschovitis at icloud.com
Mon Sep 4 14:25:59 CDT 2017


Also, 

- `HTTPBodyProcessing` is a very long word with no obvious meaning.
- I would use `HTTPResponse` instead of `HTTPResponseWriter` 
- I would rename `writeBody` to `write` (and, maybe, `writeHeader` to `addHeader`, `setHeader`, `appendHeader` or something similar)

-g.

> On 3 Sep 2017, at 8:51 PM, Chris Bailey <BAILEYC at uk.ibm.com> wrote:
> 
> Hi Georgios: 
> 
> The protocol which the class needs to implement is 'HTTPRequestHandling' but the class can have any name the user wants to use. I agree that for the documentation (and the tests!) the use of 'Handler' is confusing and could be better. How does the following look as a sample "Hello World" app? 
> 
> import HTTP 
> 
> class MyServer: HTTPRequestHandling { 
>     func handle(request: HTTPRequest, response: HTTPResponseWriter ) -> HTTPBodyProcessing { 
>         response.writeHeader(status: .ok) 
>         response.writeBody("Hello, World!") 
>         response.done() 
>         return .discardBody 
>     } 
> } 
> 
> let server = HTTPServer() 
> 
> try! server.start(port: 8080, handler: MyServer().handle) 
> 
> 
> Chris 
> 
> 
> 
> From:        Georgios Moschovitis <george.moschovitis at icloud.com> 
> To:        Chris Bailey <BAILEYC at uk.ibm.com> 
> Cc:        swift-server-dev at swift.org 
> Date:        03/09/2017 07:44 
> Subject:        Re: [swift-server-dev] HTTP API Review 
> 
> 
> 
> Had a (very) quick look, and in general it looks OK. 
> One thing that bothers me in the example is this ***Handler <-> ***Handling inconsistency.. 
> 
> class SimpleHandler: HTTPRequestHandling 
> 
> maybe something like 
> 
> class WebApp: HTTPRequestHandling { 
>   ... 
> } 
> 
> would make it less confusing? 
> 
> -g. 
> 
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-server-dev/attachments/20170904/2609128c/attachment.html>


More information about the swift-server-dev mailing list